.calendar-note{font-size:13px;color:var(--muted);margin:8px 0 16px}
.calendar-shell{border:1px solid var(--line);padding:14px;background:#fffdf9;min-width:0}
.calendar-bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:12px}
.calendar-bar h4{font:500 23px 'Cormorant Garamond',serif;margin:0;text-align:center}
.calendar-controls,.view-switch{display:flex;gap:5px}.calendar-controls button,.view-switch button{padding:9px 12px;min-height:40px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;font-size:13px}
.view-switch button[aria-pressed=true],.calendar-time[aria-pressed=true]{background:#eadfc9;border-color:#8a6936;box-shadow:inset 0 0 0 1px #8a6936}
.calendar-scroll{overflow-x:auto;max-width:100%}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.calendar-weekday{background:#eee7dc;text-align:center;padding:8px 2px;font-size:12px;font-weight:600}.calendar-day{min-width:0;background:#fffdf9;padding:5px;min-height:76px}.calendar-day.outside{background:#f1eee8}.calendar-day.is-today{box-shadow:inset 0 3px #b58d4f}
.calendar-date{width:100%;min-height:67px;border:1px solid transparent;background:transparent;color:var(--ink);cursor:pointer;padding:6px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.calendar-date strong{font-size:16px;font-weight:500}.calendar-date small{font-size:11px;color:#8a6936}.calendar-date[aria-pressed=true]:not(:disabled){border-color:#8a6936;background:#f0e7d7}.calendar-date:disabled{color:#9b938b;cursor:default}.calendar-day-label{text-align:center;font-size:12px;padding:5px 0 10px}.calendar-empty{display:block;text-align:center;color:#aaa094}
.calendar-grid.week{min-width:0;width:100%}.calendar-time{min-height:36px;padding:6px 9px;background:#f6f0e6;border:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:13px;white-space:nowrap}.calendar-day .calendar-time{display:block;width:100%;margin-bottom:5px}.day-slots{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.day-slots h5{width:100%;font-size:15px;font-weight:500;margin:0 0 3px}#calendarSelection{font-size:13px;color:#8a6936;margin-bottom:0}
.calendar-shell button:focus-visible{outline:2px solid #8a6936;outline-offset:2px}.calendar-controls button:disabled{opacity:.4;cursor:default}
@layer mz-rounded{#calendarGrid .calendar-date{border-radius:12px!important}.calendar-shell{border-radius:20px!important}}
@media(max-width:1100px){.booking-section{grid-template-columns:1fr}.booking-intro{position:static}.booking-intro h2{font-size:38px}.quiet-details{display:none}.calendar-bar{grid-template-columns:1fr auto}.calendar-bar h4{grid-column:1/-1;grid-row:1;text-align:left}.calendar-controls{grid-row:2}.view-switch{grid-row:2}}
@media(max-width:640px){.booking-card{padding:20px 12px}.calendar-shell{padding:10px}.calendar-bar{gap:8px}.calendar-controls button,.view-switch button{padding:8px 10px}.calendar-day{padding:2px;min-height:60px}.calendar-date{min-height:57px}.calendar-date small{font-size:10px}.calendar-grid.week{min-width:0;width:100%}.calendar-note{font-size:12px}.booking-section{padding-inline:10px}.progress{display:none}.booking-card fieldset{margin-bottom:20px}}

.calendar-shell{border-radius:20px}.calendar-shell button{border-radius:12px}.calendar-time{min-height:44px}.calendar-shell .day-slots{background:transparent;padding:0}.booking-step>div{min-width:0}

/* Seven days fit their container; compact views show time buttons below. */
.calendar-scroll{min-width:0;overflow-x:visible;container-type:inline-size}
.calendar-grid{width:100%;min-width:0}.calendar-day{overflow-wrap:anywhere}
.calendar-bar{grid-template-columns:1fr auto}.calendar-bar h4{grid-column:1/-1;grid-row:1;text-align:left}.calendar-controls,.view-switch{grid-row:2;min-width:0}
@container(max-width:640px){.calendar-day{padding:2px;min-height:60px}.calendar-date{padding:5px 0;min-height:57px}.calendar-date small{font-size:10px}.calendar-weekday{font-size:11px;padding:8px 0}}
@media(max-width:400px){.calendar-shell{padding:8px}.calendar-controls button,.view-switch button{padding:8px 7px;min-height:44px}.calendar-bar{gap:5px}}
