.wcta-date-picker {position:relative; overflow:visible; z-index:1000; font-family: "Source Sans 3", "Source Sans Pro", "Segoe UI", Arial, sans-serif;}
.wcta-date-field {
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; padding:12px 14px; border-radius:14px;
  background:#eef1f4; color:#1d2327; cursor:pointer;
  border:1px solid #e0e4ea; font-weight:600;
  box-shadow: 0 1px 0 rgba(0,0,0,0.03) inset;
}
.wcta-date-field:focus {outline:2px solid #1b6fd6; outline-offset:2px;}
.wcta-date-main {display:inline-flex; align-items:center; gap:8px; min-width:0;}
.wcta-date-icon {display:inline-flex; width:16px; height:16px; color:#163a6b; flex:0 0 auto;}
.wcta-date-icon svg {display:block; width:100%; height:100%; fill:currentColor;}
.wcta-date-label {font-size:14px;}
.wcta-date-chevron {font-size:18px; opacity:.7;}
.wcta-date-popover {
  position:absolute; top:calc(100% + 10px); right:0; z-index:999999;
  background:#fff; border:1px solid #e0e4ea; border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,0.12);
  padding:10px 12px; min-width: 300px; width:520px;
  max-width: calc(100vw - 24px);
  display:none;
}
.wcta-date-popover,
.wcta-date-popover * {box-sizing:border-box;}
.wcta-date-popover.is-floating {
  position:fixed; right:auto; top:0; left:0;
}
.wcta-date-picker.is-open .wcta-date-popover {display:block;}
.wcta-date-nav {display:flex; align-items:center; justify-content:space-between; gap:10px;}
.wcta-date-nav button {
  width:30px; height:30px; border-radius:8px; border:1px solid #e0e4ea;
  background:#f6f7f9; cursor:pointer; font-size:16px; font-weight:700;
  color:#000; display:inline-flex; align-items:center; justify-content:center; line-height:1;
}
.wcta-date-nav button:hover,
.wcta-date-nav button:focus-visible,
.wcta-date-nav button:active {background:#000; color:#fff; border-color:#000;}
.wcta-date-months-grid {display:grid; grid-template-columns:repeat(var(--wcta-months, 2), minmax(0, 1fr)); gap:10px; margin-top:8px; width:100%;}
.wcta-month {min-width:0; width:100%;}
.wcta-month-title {text-align:center; font-weight:700; margin-bottom:4px; font-size:13px;}
.wcta-weekdays, .wcta-days {display:grid; grid-template-columns:repeat(7,1fr); gap:4px; width:100%; min-width:0;}
.wcta-weekdays div {text-align:center; font-size:10px; color:#5b6775; font-weight:700;}
.wcta-day {
  height:28px; border-radius:7px; border:1px solid transparent; background:#f4f6f8;
  font-size:11px; font-weight:600; cursor:default; color:#000;
  width:100%; min-width:0; padding:0;
  display:flex; align-items:center; justify-content:center;
}
.wcta-day.is-available {background:#fff; border-color:#d7dce3; cursor:pointer;}
.wcta-day.is-available:hover,
.wcta-day.is-available:focus-visible,
.wcta-day.is-available:active {background:#000; color:#fff; border-color:#000; box-shadow:none;}
.wcta-day.is-selected {background:#000; color:#fff; border-color:#000;}
.wcta-day.is-today {box-shadow: inset 0 0 0 2px #000; background:#fff; color:#000;}
.wcta-day.is-today.is-selected {box-shadow: inset 0 0 0 2px #ffffff; background:#000; color:#fff;}
.wcta-day.is-disabled {background:#f1f3f6; color:#b1b8c3; border-color:#e5e9ef; cursor:not-allowed;}
.wcta-day.is-empty {background:transparent;}
.wcta-date-legend {margin-top:8px; font-size:11px; color:#6b7280;}
.wcta-date-picker--error,
.wcta-date-picker--empty {padding:12px 14px; border-radius:12px; background:#fff6f6; border:1px solid #f2bcbc; color:#a11212; font-weight:600;}
.wcta-total-base {opacity:.75; margin-left:6px; font-weight:600; text-decoration:line-through; font-size:1.7em;}
.wcta-total-final {font-weight:700; font-size:1.7em;}
.wcta-total-discount {display:block; margin-top:2px; color:#2d7d2d; font-size:12px;}

@media (max-width: 700px){
  .wcta-date-popover {right:auto; left:0;}
  .wcta-date-months-grid {grid-template-columns:1fr;}
}
