.reserve-shell{min-height:100vh;display:flex;flex-direction:column}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);transition:box-shadow .2s,background .2s}.nav--scrolled{box-shadow:0 2px 20px #00000017;background:#0f1216f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav__inner{max-width:1160px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.nav__links{display:flex;align-items:center;gap:4px}.nav__link{padding:8px 14px;white-space:nowrap;border-radius:8px;font-weight:600;font-family:var(--font-display);font-size:15px;color:var(--on-surface);transition:all .15s;background:none}.nav__link:hover{color:var(--gold);background:var(--gold-pale)}.nav__burger{display:none;flex-direction:column;gap:5px;padding:6px;border-radius:8px}.nav__burger span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .2s}.nav__mobile{border-top:1px solid var(--cream-dark);padding:16px 0 20px;display:flex;flex-direction:column}.nav__mobile-link{padding:12px 24px;font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--text);text-align:left;transition:color .15s}.nav__mobile-link:hover{color:var(--gold)}@media(max-width:1120px){.nav__link{padding:8px 9px;font-size:14px}}@media(max-width:1000px){.nav__links{display:none}.nav__burger{display:flex}}@media(min-width:1001px){.nav__mobile{display:none}}.nav__item{position:relative}.nav__caret{font-size:9px;margin-left:5px;opacity:.65}.nav__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:215px;background:var(--surface);border-radius:12px;box-shadow:0 12px 34px #00000073;padding:6px;display:flex;flex-direction:column;z-index:110;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease}.nav__item:hover>.nav__dropdown,.nav__item:focus-within>.nav__dropdown{opacity:1;visibility:visible;transform:translateY(0)}.nav__dropdown-link{text-align:left;white-space:nowrap;padding:10px 14px;border-radius:8px;font-family:var(--font-display);font-weight:600;font-size:14.5px;color:var(--on-surface);background:none;transition:all .15s}.nav__dropdown-link:hover{color:var(--gold);background:var(--gold-pale)}.nav__mobile-link--sub{padding-left:44px;font-size:16px;font-weight:600;color:var(--on-surface-soft)}.reserve-main{flex:1;min-width:0;width:100%;padding:32px 24px 96px;max-width:760px}.flow-nav{display:flex;align-items:center;justify-content:space-between;gap:10px 16px;flex-wrap:wrap;margin-bottom:32px}.flow-nav .stepper{margin-bottom:0}.flow-nav__start{font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--text-muted);padding:4px 2px;flex:none}.flow-nav__start:hover{color:var(--danger);text-decoration:underline}.stepper{display:flex;gap:6px;list-style:none;margin-bottom:32px;flex-wrap:wrap}.stepper__item{display:flex;align-items:center;gap:8px;flex:1;min-width:120px;opacity:.45}.stepper__item.is-current,.stepper__item.is-done{opacity:1}.stepper__dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--surface-active);color:var(--on-surface);font-family:var(--font-display);font-weight:800;font-size:13px;flex:none}.stepper__item.is-current .stepper__dot{background:var(--gold);color:#fff}.stepper__item.is-done .stepper__dot{background:var(--teal);color:var(--navy)}.stepper__label{font-size:13px;font-weight:700;font-family:var(--font-display)}.stepper__back{display:flex;align-items:center;gap:8px;padding:2px 4px;margin:-2px -4px;border:none;background:none;cursor:pointer;border-radius:6px}.stepper__back .stepper__label:hover{text-decoration:underline}.stepper__back:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.step{display:flex;flex-direction:column;gap:20px;min-width:0}.step--centered{text-align:center;align-items:center}.step__title{font-size:clamp(26px,4.5vw,38px);font-weight:900;line-height:1.15}.lead{font-size:18px;color:var(--on-surface);max-width:46ch}.tel-link{display:inline-block;padding:12px 0;margin:-12px 0}.stepper-input{display:flex;align-items:center;gap:0;width:fit-content}.stepper-input button{width:44px;height:46px;background:var(--surface-hover);color:var(--heading);font-size:20px;font-weight:800;border:1px solid var(--border-strong)}.stepper-input button:first-child{border-radius:10px 0 0 10px}.stepper-input button:last-child{border-radius:0 10px 10px 0}.stepper-input input{width:72px;height:46px;text-align:center;border:1px solid var(--border-strong);border-left:0;border-right:0;background:var(--surface-sunken);color:var(--text);font-family:var(--font-display);font-weight:800;font-size:17px}.suggestions{list-style:none;border:1px solid var(--border-strong);border-radius:10px;overflow:hidden}.suggestions button{display:block;width:100%;text-align:left;padding:12px 14px;color:var(--text);font-size:15px;background:var(--surface)}.suggestions button:hover{background:var(--surface-hover)}.suggestions li+li button{border-top:1px solid var(--border)}.room-grid{display:grid;gap:16px}.room-card{display:grid;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s,transform .15s;grid-template-columns:1fr}.room-card:hover{border-color:var(--gold);transform:translateY(-2px)}@media(min-width:560px){.room-card:has(.room-card__img){grid-template-columns:45% 1fr}}.room-card__img{display:block;width:100%;height:100%;min-height:180px;object-fit:cover}@media(max-width:559px){.room-card__img{aspect-ratio:16 / 9;min-height:0}}.room-card__body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px}.room-card__eyebrow{font-size:12px;font-weight:700;color:var(--teal);letter-spacing:.08em;text-transform:uppercase}.room-card__title{font-size:21px;font-weight:800}.room-card__desc{color:var(--text-muted);font-size:14px}.room-card__meta{display:flex;gap:14px;font-size:13px;color:var(--on-surface-soft);flex-wrap:wrap}.room-card__price{font-family:var(--font-display);font-weight:900;font-size:22px;color:var(--heading)}.price-block{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.price-block__amount{font-family:var(--font-display);font-weight:900;font-size:34px;color:var(--heading)}.price-block__note{color:var(--text-muted);font-size:14px}.day-strip{display:flex;gap:8px;overflow-x:auto;min-width:0;padding-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.day-chip{flex:none;scroll-snap-align:start;min-width:92px;padding:10px 12px;border-radius:12px;border:1px solid var(--border-strong);background:var(--surface);color:var(--on-surface);display:flex;flex-direction:column;gap:3px;text-align:center}.day-chip__date{font-family:var(--font-display);font-weight:800;font-size:14px}.day-chip__count{font-size:12px;color:var(--text-muted)}.day-chip.is-open{border-color:var(--gold);background:var(--surface-hover)}.day-chip.is-empty{background:var(--surface-sunken);border-color:var(--border)}.day-nav{display:flex;justify-content:space-between;gap:12px}.slots{display:flex;flex-direction:column;gap:12px;min-width:0}.slots__title{font-size:18px;font-weight:800}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.slot{padding:14px 8px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--heading);font-family:var(--font-display);font-weight:800;font-size:15px;text-align:center}button.slot:hover{border-color:var(--gold);background:var(--surface-hover)}.slot--band{cursor:default;color:var(--text-muted);border-style:dashed}.prefs{list-style:none;display:flex;flex-direction:column;gap:14px}.prefs__row{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.card-field{min-height:56px}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:8px;width:100%;text-align:left}.summary-card__row{display:flex;justify-content:space-between;gap:16px;font-size:15px}.summary-card__row--total{font-family:var(--font-display);font-weight:900;font-size:18px;color:var(--heading)}.summary-card__rule{border:0;border-top:1px solid var(--border);margin:4px 0}.promo-box{min-width:0}.promo-toggle,.promo-form__cancel{font-size:13px;padding:0}.promo-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.promo-form .input{flex:1 1 140px;min-width:0}.promo-chip{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:6px 6px 6px 14px;border-radius:50px;background:var(--surface-hover);color:var(--on-surface);font-family:var(--font-display);font-weight:800;font-size:13px}.promo-chip__remove{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--surface-active);color:var(--heading);font-size:14px;font-weight:800}.promo-chip__remove:hover{background:var(--danger);color:#fff}.promo-chip__remove:disabled{opacity:.5;cursor:progress}.promo-error{font-size:13px;padding:10px 12px}.hold-clock{align-self:flex-start;padding:7px 14px;border-radius:50px;background:var(--surface-hover);color:var(--on-surface);font-family:var(--font-display);font-weight:800;font-size:13px}.hold-clock.is-urgent{background:var(--danger);color:#fff}.done-mark{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:var(--navy);font-size:32px;font-weight:900}.manage-link{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left}.manage-link__actions{display:flex;gap:10px;flex-wrap:wrap}.manage-link__actions .btn{flex:1 1 auto}.manage-link__url{font-size:13px;color:var(--text-muted);word-break:break-all;border:1px dashed var(--border-strong);border-radius:8px;padding:8px 10px}.upsell{border-top:1px solid var(--border);padding-top:24px;margin-top:12px;display:flex;flex-direction:column;gap:10px;align-items:center}.upsell h3{font-size:18px;font-weight:800}.cancel-block{display:flex;flex-direction:column;gap:10px}.cancel-block__actions{display:flex;gap:10px;flex-wrap:wrap}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.field--narrow{max-width:none}.reserve-main{padding:24px 16px 80px}.stepper__label{display:none}.stepper__item{flex:none;min-width:0}.stepper{gap:10px}}@media(prefers-reduced-motion:reduce){.btn,.room-card{transition:none}.btn--primary:hover{transform:none;filter:none}.room-card:hover{transform:none}}.field__error{display:block;margin-top:4px;font-size:13px;color:var(--danger)}
