.booking-intro{margin-bottom:1.2rem}.booking-intro .booking-title{margin:.2rem 0}.booking-intro p,.service-heading p{margin:.25rem 0;color:#a89f97}.step-kicker{color:#d5942a;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700}.booking-location{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:1.25rem 0 1.5rem}.location-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:88px;padding:1rem;border:1px solid rgba(207,145,42,.24);border-radius:14px;background:#060504;color:#eee;text-align:left;cursor:pointer}.location-card:hover,.location-card.selected{border-color:#d5942a;background:rgba(213,148,42,.08)}.location-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(213,148,42,.5);border-radius:50%;color:#d5942a;font-size:1.25rem}.location-card strong,.location-card small{display:block}.location-card small{margin-top:.2rem;color:#9f978f}.location-card em{font-style:normal;color:#d5942a;font-size:.78rem;white-space:nowrap}.address-panel{margin:0 0 1.5rem;padding:1rem;border:1px solid rgba(207,145,42,.18);border-radius:14px;background:rgba(255,255,255,.012)}.address-panel h3{margin:0;font:500 1.12rem 'Playfair Display',serif}.service-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.7rem 0 1rem}.service-heading .booking-title{margin:0}.selection-pill{padding:.45rem .7rem;border:1px solid rgba(213,148,42,.4);border-radius:999px;color:#d5942a;font-size:.77rem}.service-groups{display:grid;gap:10px}.service-group{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,1.2fr);gap:20px;align-items:center;padding:1rem 1.15rem;border:1px solid rgba(207,145,42,.18);border-radius:14px;background:#070604}.service-group>div:first-child>strong{font:500 1.15rem 'Playfair Display',serif;color:#f2ece6}.service-group p{margin:.35rem 0 0;color:#9f978f;font-size:.86rem}.duration-options{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.duration-option{display:grid;min-width:115px;gap:3px;padding:.72rem .85rem;border:1px solid rgba(207,145,42,.22);border-radius:10px;background:#020202;color:#e8e0d8;cursor:pointer;text-align:center}.duration-option span{font-weight:700}.duration-option small{color:#d5942a}.duration-option del{color:#777;margin-right:.2rem}.duration-option em{font-size:.66rem;font-style:normal;color:#a89f97}.duration-option:hover,.duration-option.selected{border-color:#d5942a;background:rgba(213,148,42,.1)}.location-prompt{padding:1.2rem;border:1px dashed rgba(213,148,42,.3);border-radius:12px;color:#a89f97;text-align:center}.address-grid{margin-top:1rem}.booking-note.compact{margin:.8rem 0;padding:.7rem .85rem;font-size:.84rem}.booking-context{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.6rem;padding:.75rem 1rem;border:1px solid rgba(213,148,42,.18);border-radius:11px;background:#050403}.booking-context span{color:#d5942a}.date-slot-layout{display:grid;grid-template-columns:minmax(220px,.55fr) 1.45fr;gap:1.2rem;align-items:start}.slots{min-height:50px}.payment-title{margin:1.7rem 0 .7rem;font:500 1.25rem 'Playfair Display',serif}.payment-grid .choice-card{position:relative}.discount-row strong{color:#d5942a}.booking-summary .summary-total{padding-top:.35rem;border-bottom:0;font-size:1.16rem}.terms-row{display:flex;gap:10px;margin-top:1rem;align-items:flex-start;color:#c8c0b8}.terms-row input{accent-color:#d5942a;margin-top:4px}.terms-row a{color:#d5942a}.muted{color:#8f8780}@media(max-width:720px){.booking-location{grid-template-columns:1fr}.location-card{grid-template-columns:auto 1fr}.location-card em{grid-column:2}.service-heading{align-items:flex-start;flex-direction:column}.selection-pill{display:none}.service-group{grid-template-columns:1fr}.duration-options{justify-content:flex-start}.duration-option{flex:1;min-width:95px}.service-groups{gap:9px}.booking-context{display:grid;font-size:.86rem}.date-slot-layout{grid-template-columns:1fr}.booking-summary div{align-items:flex-start;flex-direction:column;gap:3px}.booking-summary strong{text-align:left}.booking-hero{margin-bottom:1.5rem}.booking-hero h1{font-size:2.65rem}.booking-hero p{font-size:.9rem}}
@media(min-width:721px){.booking-location{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:720px){.booking-location{grid-template-columns:1fr!important}}
