/* TAKAS V100 local calendar. Canonical date inputs retain native validation. */
body.site-pro.booking-simple .takas-local-date-field{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
}
body.site-pro.booking-simple .takas-local-date-field .takas-calendar-source,
body.site-pro.booking-simple .takas-local-date-field .takas-local-date-native,
body.site-pro.booking-simple .takas-local-date-field .takas-calendar-announcement{
  position:absolute!important;
  width:1px!important;
  min-width:0!important;
  max-width:1px!important;
  height:1px!important;
  min-height:0!important;
  max-height:1px!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
}
body.site-pro.booking-simple .takas-local-date-field .takas-local-date-trigger{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-width:0;
  max-width:100%;
  height:46px;
  min-height:46px;
  margin:0;
  padding:10px 12px;
  border:1px solid #b8c5d3;
  border-radius:8px;
  background:#fff;
  color:#24384c;
  font:500 14px/1.35 "Segoe UI",Arial,sans-serif;
  text-align:left;
  letter-spacing:normal;
  box-shadow:none;
  cursor:pointer;
  touch-action:manipulation;
}
body.site-pro.booking-simple .takas-local-date-trigger .takas-local-date-value{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
body.site-pro.booking-simple .takas-local-date-trigger>.takas-calendar-check{
  display:none;
  flex:0 0 23px;
  align-items:center;
  justify-content:center;
  width:23px;
  height:23px;
  border:1px solid #72b593;
  border-radius:50%;
  background:#eaf7ef;
  color:#176743;
  font-size:15px;
  font-weight:800;
  line-height:1;
}
body.site-pro.booking-simple .takas-local-date-trigger[data-chosen="true"],
body.site-pro.booking-simple .takas-local-date-trigger[data-user-chosen="true"]{
  border-color:#6da98a;
}
body.site-pro.booking-simple .takas-local-date-trigger[data-chosen="true"]>.takas-calendar-check:not([hidden]),
body.site-pro.booking-simple .takas-local-date-trigger[data-user-chosen="true"]>.takas-calendar-check:not([hidden]){
  display:inline-flex;
}
body.site-pro.booking-simple .takas-local-date-trigger .takas-calendar-check[hidden]{
  display:none!important;
}
body.site-pro.booking-simple .takas-local-date-trigger:hover:not(:disabled){
  background:#fff9fa;
  border-color:#c7192d;
  color:#24384c;
}
body.site-pro.booking-simple .takas-local-date-field:focus-within .takas-local-date-trigger,
body.site-pro.booking-simple .takas-local-date-trigger:focus-visible{
  outline:3px solid #2477a8;
  outline-offset:3px;
}
body.site-pro.booking-simple .takas-local-date-trigger:disabled{
  cursor:not-allowed;
  background:#f1f3f5;
  border-color:#d2d8df;
  color:#79838e;
}

body.site-pro.booking-simple #takasLocalCalendarDialog.takas-calendar-dialog{
  box-sizing:border-box;
  position:fixed;
  top:50%;
  left:50%;
  right:auto;
  bottom:auto;
  transform:translate(-50%,-50%);
  width:min(420px,calc(100vw - 16px));
  min-width:0;
  max-width:calc(100vw - 16px);
  max-height:calc(100dvh - 16px);
  margin:0;
  padding:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  border:1px solid #c5cfda;
  border-radius:13px;
  background:#fff;
  color:#25374a;
  font:400 14px/1.5 "Segoe UI",Arial,sans-serif;
  text-align:left;
  box-shadow:0 24px 72px #10182066;
  color-scheme:light;
}
body.site-pro.booking-simple #takasLocalCalendarDialog::backdrop{
  background:#24272cd9;
}
#takasLocalCalendarDialog *,
#takasLocalCalendarDialog *::before,
#takasLocalCalendarDialog *::after{
  box-sizing:border-box;
}
body.site-pro.booking-simple #takasLocalCalendarDialog button{
  min-width:0;
  max-width:100%;
  margin:0;
  font-family:inherit;
  font-size:14px;
  line-height:1.3;
  letter-spacing:normal;
  text-transform:none;
  box-shadow:none;
  cursor:pointer;
  touch-action:manipulation;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-header{
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0;
  padding:14px 16px;
  border-bottom:1px solid #dce3eb;
  background:#fff;
  color:#25374a;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-header h2{
  min-width:0;
  margin:0;
  padding:0;
  color:#25374a;
  font-size:20px;
  font-weight:750;
  line-height:1.35;
  overflow-wrap:anywhere;
}
body.site-pro.booking-simple #takasLocalCalendarDialog #takasCalendarClose{
  display:inline-flex;
  flex:0 0 44px;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  border:1px solid #c2ccd7;
  border-radius:8px;
  background:#f4f6f9;
  color:#33475a;
  font-size:25px;
  font-weight:500;
  line-height:1;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-nav{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
  margin:0;
  padding:12px 14px 9px;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-nav :is(h3,h4,#takasCalendarMonth){
  min-width:0;
  margin:0;
  color:#25374a;
  font-size:16px;
  font-weight:750;
  line-height:1.35;
  text-align:center;
  overflow-wrap:anywhere;
}
body.site-pro.booking-simple #takasLocalCalendarDialog :is([data-calendar-prev],[data-calendar-next]){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  min-height:44px;
  padding:0;
  border:1px solid #c6d0db;
  border-radius:8px;
  background:#fff;
  color:#364b5f;
  font-size:23px;
  line-height:1;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-weekdays,
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:4px;
  width:100%;
  min-width:0;
  margin:0;
  padding:0 12px;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-weekdays{
  margin-bottom:5px;
  color:#5b6978;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-weekdays>*{
  min-width:0;
  padding:5px 0;
  overflow-wrap:anywhere;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-grid{
  padding-bottom:12px;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-week{
  display:contents;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-day,
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-blank{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
  max-width:100%;
  height:44px;
  min-height:44px;
  padding:0;
  border:1px solid transparent;
  border-radius:8px;
  background:#fff;
  color:#2b3c4f;
  font-size:14px;
  font-weight:600;
  line-height:1;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-blank{
  pointer-events:none;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-day:is(.is-selected,[aria-selected="true"]){
  border-color:#66a783;
  background:#e7f5ed;
  color:#155a3a;
  font-weight:800;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-day:is(.is-today,[aria-current="date"]){
  border-color:#c7192d;
  border-width:2px;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-day:hover:not(:disabled):not([aria-disabled="true"]),
body.site-pro.booking-simple #takasLocalCalendarDialog :is(#takasCalendarClose,[data-calendar-prev],[data-calendar-next]):hover:not(:disabled){
  border-color:#c7192d;
  background:#fff0f3;
  color:#9c1427;
}
body.site-pro.booking-simple #takasLocalCalendarDialog button:disabled,
body.site-pro.booking-simple #takasLocalCalendarDialog button[aria-disabled="true"]{
  border-color:#e0e5eb;
  background:#f2f4f6;
  color:#9aa4af;
  font-weight:500;
  cursor:not-allowed;
  opacity:1;
}
body.site-pro.booking-simple #takasLocalCalendarDialog :is(button,select):focus-visible{
  outline:3px solid #2477a8;
  outline-offset:2px;
}
body.site-pro.booking-simple #takasLocalCalendarDialog #takasCalendarTime{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0;
  margin:0 14px 12px;
  padding:11px;
  border:1px solid #dce3eb;
  border-radius:9px;
  background:#f7f9fb;
  color:#3f5366;
}
body.site-pro.booking-simple #takasLocalCalendarDialog #takasCalendarTime[hidden]{
  display:none!important;
}
body.site-pro.booking-simple #takasLocalCalendarDialog #takasCalendarTime label{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
  margin:0;
  color:#526376;
  font-size:12px;
  font-weight:650;
  line-height:1.4;
}
body.site-pro.booking-simple #takasLocalCalendarDialog #takasCalendarTime select{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:42px;
  margin:0;
  padding:8px 10px;
  border:1px solid #b8c5d3;
  border-radius:7px;
  background:#fff;
  color:#24384c;
  font:500 16px/1.35 "Segoe UI",Arial,sans-serif;
  box-shadow:none;
}
body.site-pro.booking-simple #takasLocalCalendarDialog #takasCalendarStatus{
  min-width:0;
  margin:0;
  padding:0 16px 12px;
  color:#56687b;
  font-size:12px;
  font-weight:500;
  line-height:1.55;
  white-space:normal;
  overflow-wrap:anywhere;
}
body.site-pro.booking-simple #takasLocalCalendarDialog #takasCalendarStatus[data-error="true"]{
  color:#a6162b;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-footer{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin:0;
  padding:12px 16px;
  border-top:1px solid #dce3eb;
  background:#fff;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-dismiss{
  min-height:44px;
  padding:9px 17px;
  border:1px solid #bcc8d5;
  border-radius:8px;
  background:#f4f6f9;
  color:#30465b;
  font-size:13px;
  font-weight:700;
}
body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-dismiss:hover{
  border-color:#c7192d;
  background:#fff3f5;
  color:#9c1427;
}
@media(max-width:360px){
  body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-header{padding:12px;gap:9px}
  body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-header h2{font-size:18px}
  body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-nav{padding-inline:10px;gap:5px}
  body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-weekdays,
  body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-grid{padding-inline:8px;gap:3px}
  body.site-pro.booking-simple #takasLocalCalendarDialog .takas-calendar-weekdays{font-size:10px}
  body.site-pro.booking-simple #takasLocalCalendarDialog #takasCalendarTime{margin-inline:10px}
}
