/* Only the daily booking action is enhanced; search/hourly calendars are untouched. */
.routiz .lx-booking-dates { width:100%; min-width:0; margin-bottom:20px; }
.routiz .lx-booking-date-fields { display:flex; border:1px solid #ddd; border-radius:12px; overflow:hidden; background:#fff; }
.routiz .lx-booking-date-trigger { flex:1 1 0; min-width:0; border:0; border-radius:0; background:#fff; color:#111; text-align:left; padding:8px 16px; line-height:1.4; cursor:pointer; font:inherit; }
.routiz .lx-booking-date-trigger + .lx-booking-date-trigger { border-left:1px solid #ddd; }
.routiz .lx-booking-date-trigger.is-editing,
.routiz .lx-booking-date-trigger:focus-visible { box-shadow:inset 0 0 0 2px #092944; outline:0; border-radius:10px; }
.routiz .lx-booking-date-label { display:block; font-size:11px; font-weight:700; text-transform:uppercase; }
.routiz .lx-booking-date-value { display:block; font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.routiz .lx-booking-date-panel { display:none; box-sizing:border-box; position:fixed; inset:auto; margin:0; padding:24px; padding-bottom: 16px; padding-top: 22px; border:1px solid #e2e2e2; border-radius:18px; color:#111; background:#fff; box-shadow:0 8px 36px #0003; overflow:visible; max-height:none; z-index:100000; }
.routiz .lx-booking-date-panel.is-open { display:flex; flex-direction:column; overflow:visible; }
.routiz .lx-booking-date-heading { display:flex; align-items:flex-start; gap:24px; flex-shrink:0; margin-bottom:15px; }
.routiz .lx-booking-date-heading-copy { flex:1 1 0; min-width:0; }
.routiz .lx-booking-date-editors { display:flex; flex:0 0 var(--lx-editor-width, 50%); min-width:0; border:1px solid #aaa; border-radius:10px; background:#fff; }
.routiz .lx-booking-date-editor { display:block; flex:1 1 0; min-width:0; padding:10px 14px; margin:0; cursor:text; }
.routiz .lx-booking-date-editor + .lx-booking-date-editor { border-left:1px solid #aaa; }
.routiz .lx-booking-date-editor.is-editing { box-shadow:inset 0 0 0 2px #222; border-radius:9px; }
.routiz .lx-booking-date-editor input.lx-booking-date-input { display:block; box-sizing:border-box; width:100%; height:auto; min-height:0; min-width:0; padding:0!important; margin:0; border:0!important; border-radius:0; background:transparent!important; box-shadow:none!important; outline:0!important; font:inherit; font-size:15px; line-height:1.4; color:#111; }
.routiz .lx-booking-date-editor:has([aria-invalid="true"]) { box-shadow:inset 0 0 0 2px #c62828; border-radius:9px; }
.routiz .lx-booking-date-error { color:#c62828; font-size:13px; line-height:1.4; margin:-12px 0 16px; flex-shrink:0; }
.routiz .lx-booking-date-calendar { min-height:0; overflow:visible; flex:0 0 auto; margin-top: -5px; }
.routiz .lx-booking-date-heading h4 { margin:0 0 4px; font-size:22px; line-height:1.4; }
.routiz .lx-booking-date-summary { margin:0; color:#666; font-size:14px; min-height:20px; }
.routiz .lx-booking-date-panel .rz-calendar-booking { width:100%; padding:0; margin:0!important; }
.routiz .lx-booking-date-panel .rz-calendar { display:flex; flex-wrap:wrap; column-gap:24px; }
.routiz .lx-booking-date-panel .rz-calendar.rz-calendar-large .rz-calendar-month { flex:0 0 calc(50% - 12px)!important; min-width:0; padding:0!important; margin:0; }
.routiz .lx-booking-date-panel .rz-calendar-nav { flex:0 0 100%; width:100%; margin:0 0 -34px; position:relative; z-index:1; }
.routiz .lx-booking-date-panel .rz-calendar-month .rz-month h4 { line-height:34px; font-size:16px; text-align:center; margin:0 0 12px!important; padding:0 35px; }
.routiz .lx-booking-date-panel .rz-weekdays { margin:0!important; }
.routiz .lx-booking-date-panel .rz-weekdays li { min-width:0; padding:6px 0; font-size:12px; }
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days li { width:auto!important; min-width:0; aspect-ratio:1!important; }
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days li > span { padding:0!important; height:100%!important; display:flex!important; flex-direction:column; align-items:center; justify-content:center; }
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days li > span > i { position:static!important; transform:none!important; top:auto!important; left:auto!important; line-height:1.4; font-size:14px; }
.routiz .lx-booking-date-panel .cal-price { margin:2px 0 0!important; padding:0!important; font-size:9px; line-height:1.2; max-width:100%; white-space:nowrap; }
.routiz .lx-booking-date-panel .cal-price .woocommerce-Price-currencySymbol { font-size:inherit; }
.routiz .lx-booking-date-panel .lx-edit-complete .rz-days li[aria-disabled="false"] { color:#111; opacity:1; cursor:pointer; pointer-events:auto; }
.routiz .lx-date-ready .lx-booking-date-panel .rz-calendar-actions { display:none!important; }
.routiz .lx-booking-date-footer { display:flex; align-items:center; justify-content:flex-end; gap:16px; margin-top:6px; flex-shrink:0; }
.routiz .lx-booking-date-footer button { font:inherit; font-size:14px; cursor:pointer; border:0; }
.routiz .lx-booking-date-clear { padding:10px 14px; color:#111; background:#fff; text-decoration:none!important; border-radius:7px; box-shadow:none; transition:all .2s ease; transform:scale(1); }
.routiz .lx-booking-date-clear:hover { background:#f4f4f4!important; color:#000; box-shadow:none; }
.routiz .lx-booking-date-clear:active { transform:scale(.94); }
.routiz .lx-booking-date-close.rz-button { padding:10px 22px; color:#fff; background-color:var(--main, #092944); border-radius:9px; font-weight:600; --x:50%; --y:50%; }
/* Keep the day/price geometry stable; the global price hover otherwise shifts the number. */
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days > li,
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days > li:hover { border:0!important; transform:none!important; }
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days > li > span,
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days > li:hover > span { transform:none!important; }
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days > li > span > .cal-price,
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days > li:hover > span > .cal-price { min-height:0!important; border:0!important; padding:0!important; }
.routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days > li[aria-disabled="false"]:hover > span { box-shadow:inset 0 0 0 1.6px #111!important; border-radius:10px!important; }
.routiz .lx-booking-date-panel :focus-visible { outline:2px solid #092944; outline-offset:2px; }
.routiz .lx-booking-dates [hidden] { display:none!important; }
@media(max-width:600px) {
  .routiz .lx-booking-date-panel { padding:18px; border-radius:14px; }
  .routiz .lx-booking-date-heading { flex-direction:column; gap:14px; margin-bottom:16px; }
  .routiz .lx-booking-date-editors { flex-basis:auto; width:100%; }
  .routiz .lx-booking-date-panel .rz-calendar.rz-calendar-large .rz-calendar-month { flex-basis:100%!important; }
  .routiz .lx-booking-date-panel .rz-calendar-month.rz-active + .rz-calendar-month.rz-active { margin-top:18px; }
  .routiz .lx-booking-date-panel .rz-calendar .rz-calendar-month .rz-days li { max-height:48px; }
  .routiz .lx-booking-date-footer { background:#fff; padding:12px 0 0; margin-top:12px; border-top:1px solid #eee; }
}

/* Close is a local calendar control, not the asynchronous booking action. */
.routiz .lx-booking-date-panel .lx-booking-date-close.rz-button > span { opacity:1!important; }
