.reservation-page{--customer-ink:#17324d;--customer-muted:#667487;--customer-canvas:#f7f4ee;--customer-surface:#fffdf9;--customer-line:#e6e0d7;--customer-accent:#c75d42;--customer-accent-dark:#9f432f;--customer-accent-soft:#f8e8e1;--customer-green:#31735a;--reservation-primary:var(--customer-accent);--reservation-text:var(--customer-ink);--reservation-button:var(--customer-accent);--reservation-button-text:#fff;--reservation-nav:var(--customer-ink);--reservation-nav-text:#fff;background:var(--customer-canvas);color:var(--customer-ink);font-family:"DM Sans",sans-serif}.reservation-header,.reservation-close,.restaurant-mark,.booking-summary{color:var(--reservation-nav-text)}.restaurant-mark img{border-color:rgba(255,255,255,.45)}.choice-button.is-selected,.slot-button.is-selected,.date-choice.is-selected,.confirmation-icon{border-color:var(--customer-accent);background:var(--customer-accent);color:#fff}.booking-summary dl div{border-color:rgba(255,255,255,.14)}.booking-summary dt,.summary-address{color:rgba(255,255,255,.7)}.reservation-backdrop{height:26vh;min-height:190px;background:var(--customer-ink)}.reservation-backdrop::after{background:linear-gradient(90deg,rgba(12,31,49,.96),rgba(23,50,77,.82))}.reservation-header{height:72px;padding-inline:clamp(18px,4vw,54px)}.restaurant-mark{gap:10px;font-size:16px}.restaurant-mark img{width:38px;height:38px;border-radius:9px}.reservation-shell{width:min(1080px,calc(100% - 28px));margin:18px auto 44px}.booking-grid{grid-template-columns:minmax(0,1.7fr) minmax(270px,.7fr);min-height:610px;border:1px solid var(--customer-line);border-radius:15px;box-shadow:0 12px 34px rgba(23,50,77,.13)}.booking-panel{padding:clamp(26px,4vw,44px)}.booking-intro h1,.confirmation-card h1,.booking-step h2,.edit-slot-title,.booking-summary h2{font-family:"DM Sans",sans-serif;font-weight:600}.booking-intro h1,.confirmation-card h1{font-size:clamp(32px,4vw,46px);letter-spacing:-.035em}.booking-intro>p:last-child,.confirmation-lead,.restaurant-contact,.final-note{color:var(--customer-muted)}.booking-progress{margin:28px 0 34px}.booking-step{min-height:280px}.booking-step h2,.edit-slot-title{margin-bottom:22px;font-size:clamp(24px,3vw,32px);letter-spacing:-.025em}.choice-button,.slot-button,.date-choice,.field input,.field select,.button-primary,.button-secondary{border-radius:9px}.choice-button,.slot-button,.date-choice{min-height:52px;border-color:var(--customer-line)}.field{margin-top:17px;gap:6px}.field input,.field select{min-height:48px;border-color:var(--customer-line)}.booking-actions{margin-top:28px}.button-primary,.button-secondary{min-height:48px}.button-primary{background:var(--customer-accent);color:#fff}.button-secondary{border-color:var(--customer-line);color:var(--customer-ink)}.booking-summary{padding:40px 28px;background:var(--customer-ink)}.booking-summary::after{display:none}.booking-summary h2{margin-bottom:30px;font-size:26px}.booking-summary dl div{padding-block:14px}.summary-address{margin-top:28px}.mobile-summary{border:1px solid var(--customer-line);border-radius:10px;background:var(--customer-canvas)}.confirmation-card{border:1px solid var(--customer-line);border-radius:15px;padding:clamp(28px,5vw,52px);box-shadow:0 12px 34px rgba(23,50,77,.13)}.confirmation-card.pending .confirmation-icon{background:var(--customer-amber,#9a681e)}@media(max-width:800px){.reservation-header{height:66px}.reservation-shell{width:min(100% - 18px,680px);margin-top:10px}.booking-grid{border-radius:13px}.booking-panel{padding:24px 18px}.booking-intro h1{font-size:34px}.booking-step{min-height:310px}.booking-actions{border-top:1px solid var(--customer-line);background:rgba(255,253,249,.97)}.confirmation-card{margin:10px auto;padding:28px 18px;border-radius:13px}}@media(max-width:360px){.reservation-shell{width:100%;margin-top:0}.booking-grid,.confirmation-card{border-radius:0}}