/* The approved v9 showcase stays intact; booking is its next surface. */
.selection-arena{max-width:none;padding:0;margin:0}
.loris-experience{max-width:none;padding:0;margin:0}
.booking-surface,.booking-bar{--accent:var(--character-accent)}
.site-header .login{position:absolute;right:calc(clamp(20px,4vw,64px) + 215px);top:48px;z-index:3;background:#11181ecc;font-family:'DM Sans',Arial,sans-serif;font-size:11px;min-height:36px;padding:8px 11px}
.booking-surface{max-width:1240px;min-height:calc(100svh - var(--masthead-height));margin:0 auto;padding:26px 36px 64px;scroll-margin-top:var(--masthead-height)}
.booking-surface[hidden],.site-footer[hidden],.booking-bar[hidden]{display:none!important}
.booking-surface .appointment-heading{align-items:end;margin-bottom:22px;padding:20px 0 24px;border-bottom:1px solid var(--line)}
.appointment-heading h2{font-size:clamp(76px,9vw,128px);line-height:.95;color:var(--accent);letter-spacing:-.025em}
.booking-surface .appointment-heading p{font-size:12px;margin-top:8px;line-height:1.6}
.booking-location-copy{min-width:0}
.change-location{flex-shrink:0;display:flex;align-items:center;gap:9px;font-size:12px;min-height:44px;border:1px solid var(--line);background:var(--panel);padding:12px 16px}
.change-location:hover{border-color:var(--accent)}
.booking-surface .selection-notice:empty{display:none}
.booking-surface .salon-info-shortcut{display:inline-flex;gap:8px;margin:0 0 20px}
.booking-surface .walk-in-plan{grid-template-columns:1fr;min-height:0;background:transparent;padding:0 0 24px;border-radius:0}
.booking-surface .walk-in-plan h2{max-width:none}
.booking-surface .walk-in-plan p{max-width:580px}
.booking-surface .walk-in-plan .walk-in-directions{margin-top:24px}
.select-screen .confirm-button:disabled{opacity:.7;cursor:wait}
.select-screen .confirm-button:disabled:hover{transform:none;filter:none}
.booking-surface .section-heading .eyebrow{color:var(--accent)}
.booking-surface .inline-booking{scroll-margin-top:calc(var(--masthead-height) + 15px)}
.booking-surface .location-change{margin:0 0 22px}
.booking-surface .salon-details-content{scroll-margin-top:var(--masthead-height)}
.booking-surface #reviews,.booking-surface #team,.booking-surface #about{scroll-margin-top:calc(var(--masthead-height) + 20px)}
body:not(.booking-active).has-cart{padding-bottom:0}
@media(max-width:760px){
  .booking-surface{padding:0 18px 40px}
  .booking-surface .appointment-heading{gap:16px;display:grid;grid-template-columns:minmax(0,1fr);padding:24px 0 20px;margin-bottom:19px}
  .appointment-heading h2{font-size:clamp(58px,19vw,96px);white-space:nowrap}
  body[data-salon="campi"] .appointment-heading h2{font-size:clamp(43px,13.5vw,68px)}
  .booking-surface .appointment-heading .eyebrow{display:block;margin-bottom:6px;font-size:9px}
  .booking-surface .appointment-heading p{font-size:12px;margin-top:10px}
  .change-location{justify-self:start;font-size:11px;padding:10px 13px;gap:8px}
  .site-header .login{right:auto;left:156px;top:16px;padding:7px 9px;font-size:10px;min-height:32px}
  .site-header .login svg{display:none}
  .booking-surface .salon-info-shortcut{font-size:11px;margin-bottom:18px}
  .booking-surface .inline-booking .booking-controls input,.booking-surface .inline-booking .booking-controls select{font-size:16px}
}
