.schedule-page .site-header{position:relative;top:auto}
.schedule-main{padding-top:80px;padding-bottom:90px;max-width:1180px}
.schedule-main[data-state=confirmed]{max-width:960px;padding-top:48px;text-align:center}
.schedule-main[data-state=confirmed]>.lead{margin:0 auto 32px}
.schedule-main[data-state=confirmed] h1{font-size:clamp(2.25rem,4.5vw,3.8rem);margin-inline:auto}
#schedule-title:focus{outline:none}
.schedule-main[data-state=confirmed] .schedule-layout{display:block;max-width:700px;margin:auto}
.schedule-main[data-state=confirmed] .schedule-summary,.schedule-main[data-state=confirmed] #choose-time{display:none}
.schedule-main[data-state=confirmed] #schedule-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.schedule-complete .schedule-confirmed-time{font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:600;color:var(--text);margin:24px auto 8px;font-variant-numeric:tabular-nums}
.schedule-complete .schedule-duration{margin:0 auto 28px;font-size:.9rem}
.schedule-main h1{font-size:clamp(2.8rem,5vw,4.8rem);max-width:900px;line-height:1.08;margin:20px 0}
.schedule-main>.lead{max-width:730px;margin-bottom:48px}
.schedule-layout{display:grid;grid-template-columns:minmax(0,0.78fr) minmax(0,1.22fr);gap:48px;align-items:start}
.schedule-summary h2{font-size:2.1rem;margin-top:18px}
.schedule-summary .subtle{font-size:.94rem;margin-top:28px}
.schedule-complete{padding:26px 4px;text-align:center}
.schedule-complete-mark{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 26px;border:1px solid var(--gold);border-radius:50%;background:rgba(212,175,55,.08);color:var(--gold-light);font-size:2rem}
.schedule-card .schedule-complete h3{margin:16px 0;font-family:Georgia,serif;font-size:clamp(1.6rem,3vw,2.1rem);font-weight:400;line-height:1.2;letter-spacing:0}
.schedule-complete p{max-width:34em;margin:18px auto 28px;color:var(--muted);line-height:1.6}
.schedule-complete .button{white-space:normal}
.schedule-card{padding:32px;min-width:0}
.schedule-card h2{font-size:1.85rem;margin:0 0 24px}
.schedule-card h3{margin:0;color:var(--gold-light);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:.95rem;font-weight:800;letter-spacing:.02em}
.schedule-card label{display:block;font-weight:600;margin-bottom:10px}
.schedule-card select{width:100%}
.schedule-card .form-status{display:block;line-height:1.6}
.schedule-card .form-status:empty{display:none}
.schedule-range{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:24px 0 18px}
.schedule-date-panel>.schedule-range{margin:0 0 14px}
.schedule-range .button{padding:8px 13px;font-size:1.25rem;line-height:1;white-space:nowrap}
.schedule-month-arrow{width:42px;min-height:42px}
#schedule-range-label{text-align:center;color:var(--gold-light);font-size:1.05rem;font-weight:800}
.schedule-hours{margin:0 0 20px;padding:12px 14px;color:#c7c3b9;border:1px solid rgba(212,175,55,.18);border-radius:12px;background:rgba(0,0,0,.16);font-size:.84rem;line-height:1.55}
.schedule-picker{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(220px,.76fr);gap:18px;align-items:start}
.schedule-date-panel,.schedule-time-panel{min-width:0;padding:16px;border:1px solid rgba(212,175,55,.2);border-radius:16px;background:rgba(8,8,8,.44)}
.schedule-calendar-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:13px}
.schedule-month-heading{color:#f5e8aa;font-size:.9rem;font-weight:700}
.schedule-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:6px;color:#aaa292;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-align:center;text-transform:uppercase}
.schedule-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:2px}
.schedule-date,.schedule-time{width:100%;color:var(--text,#f3efdf);background:#11110d;border:1px solid #77612a;border-radius:16px;line-height:1.25;cursor:pointer;text-align:center;transition:border-color 160ms ease,background 160ms ease,color 160ms ease,transform 160ms ease,box-shadow 160ms ease}
.schedule-date{min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 3px;gap:0;overflow:hidden}
.schedule-date:hover:not(:disabled),.schedule-time:hover:not(:disabled){border-color:var(--gold-light);transform:translateY(-1px)}
.schedule-date[aria-selected=true],.schedule-date[aria-pressed=true],.schedule-time[aria-selected=true],.schedule-time[aria-pressed=true]{color:#131109;background:linear-gradient(135deg,var(--gold),var(--gold-light));border-color:var(--gold-light);font-weight:800;box-shadow:0 6px 18px rgba(212,175,55,.16)}
.schedule-date[data-today=true]{border-color:var(--gold-light);box-shadow:inset 0 0 0 1px rgba(244,215,122,.5)}
.schedule-date[data-past=true]{color:#716b5d;background:rgba(38,36,29,.5);border-color:rgba(119,97,42,.24);opacity:.52;cursor:not-allowed;box-shadow:none}
.schedule-date[data-available=false]:not([data-past=true]){color:#746f63;background:rgba(18,17,13,.72);border-color:rgba(119,97,42,.3);opacity:.56;cursor:not-allowed;box-shadow:none}
.schedule-date-blank{visibility:hidden;pointer-events:none;border-color:transparent;background:transparent}
.schedule-date-number{font-size:1rem;font-weight:800}
.schedule-date-detail{display:none}
.schedule-date:focus-visible,.schedule-time:focus-visible{outline:3px solid #f5d978;outline-offset:3px}
.schedule-calendar-legend{display:flex;align-items:center;gap:7px;margin:12px 2px 0;color:#a9a398;font-size:.7rem}
.legend-dot{width:9px;height:9px;display:inline-block;border-radius:50%;border:1px solid var(--gold-light)}
.legend-dot.legend-available{margin-left:auto;background:var(--gold)}
.legend-dot.legend-unavailable{background:#2a2821;border-color:#736b5a}
.schedule-time-panel h3{margin-bottom:12px}
.schedule-time-legend{display:flex;align-items:center;gap:7px;margin:-3px 0 12px;color:#a9a398;font-size:.7rem}
.schedule-time-legend .legend-dot.legend-available{margin-left:0}
.schedule-times{display:flex;flex-direction:column;gap:8px;max-height:390px;overflow-y:auto;padding:2px 4px 2px 0;scrollbar-color:var(--gold-deep) transparent}
.schedule-time{text-align:center;padding:13px 12px}
.schedule-time[data-available=false]{color:#746f63;background:rgba(18,17,13,.72);border-color:rgba(119,97,42,.3);opacity:.56;cursor:not-allowed;box-shadow:none}
.schedule-empty{margin:0;color:var(--muted);font-size:.9rem}
.schedule-selected{min-height:3em;margin:22px 0 12px;color:#edd471}
#confirm-booking{width:100%}
.schedule-help{font-size:.92rem;margin:26px 0 0;text-align:center}
.schedule-help a{color:#f1d575;text-decoration:underline}
.schedule-card button:disabled{opacity:.5;cursor:not-allowed}
.schedule-card [hidden]{display:none!important}
@media(max-width:880px){
  .schedule-layout{grid-template-columns:1fr;gap:24px}
  .schedule-summary .definition{display:none}
}
@media(max-width:760px){
  .schedule-main{padding-top:44px;padding-bottom:48px}
  .schedule-summary .subtle{display:none}
  .schedule-card{padding:23px}
  .schedule-main>.lead{margin-bottom:30px}
  .schedule-main h1{font-size:2.8rem}
  .schedule-picker{grid-template-columns:1fr;gap:14px}
  .schedule-date{min-height:46px;border-radius:14px}
  .schedule-times{max-height:270px}
}
@media(max-width:420px){
  .schedule-range{gap:7px}
  .schedule-range .button{padding-inline:9px;font-size:1.1rem}
  #schedule-range-label{font-size:.92rem}
  .schedule-date{min-height:44px;padding-inline:2px;border-radius:13px}
  .schedule-date-number{font-size:.95rem}
}
