.booking-shell{padding:56px 0 96px}.booking-shell h1{margin-bottom:8px}.booking-shell>.lede{color:var(--muted);max-width:60ch;margin-bottom:40px}.step-indicator{flex-wrap:wrap;gap:8px;margin-bottom:40px;padding:0;list-style:none;display:flex}.step-indicator li{border:1px solid var(--line);color:var(--muted);background:var(--bg-2);border-radius:999px;align-items:center;gap:8px;padding:8px 14px 8px 8px;font-size:.82rem;display:flex}.step-indicator .num{width:22px;height:22px;font-size:.72rem;font-family:var(--serif);background:var(--bg-3);color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.step-indicator li[data-state=current]{border-color:var(--gold);color:var(--white)}.step-indicator li[data-state=current] .num{background:var(--gold);color:#1a1207}.step-indicator li[data-state=done]{color:var(--text)}.step-indicator li[data-state=done] .num{border:1px solid var(--gold);color:var(--gold);background:0 0}.step-indicator button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.step-indicator li[data-state=upcoming] button{cursor:default}.option-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.option-card{text-align:left;background:var(--bg-2);border:1px solid var(--line);cursor:pointer;border-radius:14px;flex-direction:column;gap:10px;width:100%;padding:20px;transition:border-color .2s,transform .2s;display:flex}.option-card:hover{border-color:var(--gold)}.option-card:disabled{opacity:.45;cursor:not-allowed}.option-card[aria-pressed=true]{border-color:var(--gold);background:var(--bg-3)}.option-card__media{background:var(--bg-3);border-radius:50%;flex:none;width:56px;height:56px;overflow:hidden}.option-card__media img{object-fit:cover;width:100%;height:100%}.option-card__title{font-family:var(--serif);color:var(--white);font-size:1.1rem}.option-card__meta{color:var(--muted);font-size:.82rem}.option-card__check{color:var(--gold);margin-left:auto;font-size:1.1rem}.calendar{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;max-width:380px;padding:20px}.calendar__header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.calendar__header strong{font-family:var(--serif);color:var(--white);font-size:1.1rem}.calendar__nav{border:1px solid var(--line);width:32px;height:32px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.calendar__nav:hover:not(:disabled){border-color:var(--gold);color:var(--gold)}.calendar__nav:disabled{opacity:.3;cursor:not-allowed}.calendar__weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:6px;display:grid}.calendar__weekdays span{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.calendar__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar__day{aspect-ratio:1;color:var(--text);background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;font-size:.88rem;display:flex;position:relative}.calendar__day[data-available=true]:not([aria-disabled=true]){cursor:pointer}.calendar__day[data-available=true]:not([aria-disabled=true]):after{content:"";background:var(--gold);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.calendar__day:hover:not([aria-disabled=true]){border-color:var(--gold)}.calendar__day[aria-selected=true]{background:var(--gold);color:#1a1207;font-weight:600}.calendar__day[aria-selected=true]:after{background:#1a1207}.calendar__day[aria-disabled=true]{color:var(--line-2,var(--line));cursor:not-allowed}.calendar__day[data-today=true]:not([aria-selected=true]){border-color:var(--line-2,var(--line))}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;display:grid}.slot-btn{background:var(--bg-2);border:1px solid var(--line);color:var(--text);text-align:center;border-radius:10px;padding:10px 8px;font-size:.88rem}.slot-btn:hover{border-color:var(--gold)}.slot-btn[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#1a1207;font-weight:600}.datetime-layout{grid-template-columns:auto 1fr;align-items:start;gap:32px;display:grid}@media (max-width:760px){.datetime-layout{grid-template-columns:1fr}}.datetime-layout__slots h4{font-family:var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:0 0 14px;font-size:.78rem}.booking-summary{background:var(--bg-2);border:1px solid var(--line);border-radius:14px;gap:0;margin:20px 0;padding:24px;display:grid}.booking-summary__row{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.booking-summary__row:last-child{border-bottom:0}.booking-summary__label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.74rem}.booking-summary__value{color:var(--white);text-align:right;font-size:.95rem}.wizard-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.wizard-actions .btn--ghost-nav{border:1px solid var(--line);color:var(--text);background:0 0}.wizard-actions .btn--ghost-nav:hover{border-color:var(--gold);color:var(--gold)}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.state-banner{border:1px solid var(--line);background:var(--bg-2);border-radius:12px;align-items:flex-start;gap:14px;padding:20px;display:flex}.state-banner__icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:.95rem;display:inline-flex}.state-banner__title{color:var(--white);margin:0;font-size:.95rem;font-weight:600}.state-banner__body{color:var(--muted);margin-top:4px;font-size:.88rem}.state-banner__action{margin-top:12px}.state-banner--loading .state-banner__spinner{border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;flex:none;width:22px;height:22px;margin-top:3px;animation:.7s linear infinite booking-spin}@media (prefers-reduced-motion:reduce){.state-banner--loading .state-banner__spinner{animation:none}}@keyframes booking-spin{to{transform:rotate(360deg)}}.state-banner--empty .state-banner__icon{background:var(--bg-3);color:var(--muted)}.state-banner--error{border-color:color-mix(in srgb, var(--gold) 20%, var(--line))}.state-banner--error .state-banner__icon{color:#c9705f;background:#c9705f26}.state-banner--success .state-banner__icon{color:#6fae7d;background:#6fae7d26}.manage-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.calendar-links{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}
