/* GlowMatch appointment experience — extends the incumbent lavender system. */
:root{--booking-gold-ink:#705431}
.booking-shell{max-width:1160px;margin:auto;padding:0 32px}
.booking-section{padding:88px 0;background:var(--cream)}
.booking-section--sand{background:var(--beige)}
.booking-section--dark{background:var(--charcoal);color:var(--cream)}
.booking-heading{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.25rem,4.2vw,4.1rem);line-height:1.12;letter-spacing:-.025em;text-wrap:balance;margin:0 0 24px;max-width:20ch}
.booking-heading em{color:var(--gold-dark);font-weight:400}
.booking-section--dark .booking-heading em{color:var(--gold-light)}
.booking-prose{max-width:68ch;font-size:1rem;line-height:1.85;color:var(--text-warm)}
.booking-section--dark .booking-prose{color:var(--footer-text)}
.booking-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.booking-photo{width:100%;height:460px;object-fit:cover;border-radius:16px}
.booking-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:28px}
.booking-text-link{color:var(--gold-dark);text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center;font-size:.92rem}
.booking-section--dark .booking-text-link{color:var(--gold-light)}
.booking-treatment-row{display:grid;grid-template-columns:minmax(250px,.9fr) 1.1fr;gap:56px;align-items:center;padding:40px 0;border-bottom:1px solid #d5c9de}
.booking-treatment-row:last-child{border-bottom:0}
.booking-treatment-row img{width:100%;height:360px;object-fit:cover;border-radius:14px}
.booking-treatment-row h3{font-family:var(--font-serif);font-size:clamp(2rem,3.6vw,3rem);font-weight:400;line-height:1.15;margin:0 0 16px}
.booking-treatment-row p{color:var(--text-warm);line-height:1.8;max-width:60ch}
.booking-flow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;list-style:none;counter-reset:steps;padding:0;margin:40px 0 0}
.booking-flow li{counter-increment:steps;border-top:1px solid #d5c9de;padding-top:24px;line-height:1.8;color:var(--text-warm)}
.booking-flow li:before{content:counter(steps,decimal-leading-zero);display:block;color:var(--gold-dark);font-size:.84rem;margin-bottom:18px;font-variant-numeric:tabular-nums}
.booking-flow strong{display:block;color:var(--charcoal);font-size:1.08rem;margin-bottom:8px}
.booking-faq{max-width:820px}
.booking-faq details{border-bottom:1px solid #d5c9de;padding:0}
.booking-faq summary{font-size:1rem;font-weight:500;padding:24px 36px 24px 0;cursor:pointer;line-height:1.5}
.booking-faq p{color:var(--text-warm);line-height:1.85;margin:0 0 24px;max-width:70ch}
.booking-note{font-size:.82rem;line-height:1.7;color:var(--text-warm);max-width:72ch}
.booking-guide-notice{background:var(--beige);padding:24px 32px;color:var(--text-mid);font-size:.9rem;line-height:1.75}
.booking-guide-notice>div{max-width:1100px;margin:auto}
.booking-guide-notice a{color:var(--gold-dark);text-underline-offset:4px}
.booking-guide-index{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;margin-top:32px}
.booking-guide-index a{min-height:64px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d5c9de;text-decoration:none;color:var(--charcoal);font-size:1rem}
.booking-guide-index a:after{content:'→';color:var(--gold-dark)}
.booking-footer-role{font-size:.78rem;line-height:1.8;color:var(--footer-text);max-width:68ch;margin:24px 0 0}
.hero-brand-details{display:flex;gap:0 28px;flex-wrap:wrap;margin-top:32px;font-size:.8rem;color:var(--text-mid);line-height:1.8}
.hero-brand-details span{border-top:1px solid #cbbdd4;padding-top:12px}
[data-request-reference]{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:.85rem;line-height:1.7}
.contact-sub{max-width:62ch}
.contact-info-panel .info-contact-btns{display:flex;flex-direction:column;gap:12px}
.contact-info-panel .info-contact-btns a{color:var(--gold-light);line-height:1.6;min-height:44px;display:flex;align-items:center;text-underline-offset:5px}
.contact-info-panel .info-badges{gap:8px}
.contact-info-panel .info-block-value{color:var(--footer-text)}
.consent-label{align-items:flex-start;line-height:1.7!important;text-transform:none!important;letter-spacing:0!important;font-size:.84rem!important}
.consent-label input{flex:0 0 20px;min-height:20px;width:20px!important;accent-color:var(--charcoal);margin-top:3px}
.consent-label a{color:var(--gold-dark);text-underline-offset:3px}
.form-success-state .success-icon{font-family:var(--font-serif);font-size:2rem;color:var(--gold-dark)}
.lead-details{max-width:440px;font-size:.8rem;line-height:1.7;margin-top:10px}
.lead-details summary{cursor:pointer;min-height:36px;color:#F0DFC4}
.lead-details pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#D8C7DE;font:inherit;margin:8px 0}
.page-inner.glowmatch-page .nav{background:var(--charcoal)!important}
.page-inner.glowmatch-page .nav .nav-link{color:var(--footer-text)!important}
.page-inner.glowmatch-page .nav .nav-link:hover,.page-inner.glowmatch-page .nav .nav-link.active{color:var(--cream)!important}
.page-inner.glowmatch-page .nav-logo-main{color:var(--cream)!important}
.page-inner.glowmatch-page .btn-nav{background:var(--gold)!important;color:var(--charcoal)!important}
.contact-h1 em{color:var(--gold-dark)!important}
.contact-form-panel input::placeholder,.contact-form-panel textarea::placeholder{color:var(--text-warm)!important;opacity:1}
.info-badge{color:var(--footer-text)!important}
.footer-copy,.footer-badges a{color:var(--footer-text)!important}
.footer-badges a{font-size:.8rem;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:4px}
.page-inner .btn{white-space:normal;max-width:100%;text-align:center;min-width:0;overflow-wrap:anywhere}
.page-inner .btn .btn-icon{flex-shrink:0}
body.page-inner.glowmatch-page .btn-outline-gold{color:var(--booking-gold-ink)!important;border-color:var(--booking-gold-ink)!important}
body.page-inner.glowmatch-page .page-hero .btn-outline-gold,body.page-inner.glowmatch-page .bg-dark .btn-outline-gold{color:var(--gold-light)!important;border-color:var(--gold-light)!important}
.sidebar-info-card a{color:var(--booking-gold-ink)!important;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.sidebar-info-card a:focus-visible,.sidebar-cta-card a:focus-visible,.btn-outline-gold:focus-visible{outline:2px solid var(--gold-dark);outline-offset:4px}
.booking-arrow{width:16px;height:16px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6}
.booking-guide-index a:after{content:'';width:16px;height:16px;flex-shrink:0;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2380633D' stroke-width='1.5'%3E%3Cpath d='M2 8h12M9 3l5 5-5 5'/%3E%3C/svg%3E")}
.xerf-art__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.xerf-art__video{opacity:0;transition:opacity .2s ease}
.xerf-art__video.is-ready{opacity:1}
@media(prefers-reduced-motion:reduce){.xerf-art__video{display:none!important}}
.sidebar-cta-card .btn{padding:16px 20px}
.sticky-sidebar{min-width:0}
.source-cell{min-width:190px;max-width:280px;overflow-wrap:anywhere;font-size:.8rem;line-height:1.7}
.source-cell strong{display:block;color:#F9F6FB;font-weight:500;font-variant-numeric:tabular-nums}
.booking-shell :focus-visible,.booking-faq summary:focus-visible{outline:2px solid var(--gold-dark);outline-offset:5px}
@media(max-width:768px){.booking-shell{padding:0 24px}.booking-section{padding:56px 0}.booking-split,.booking-treatment-row{grid-template-columns:1fr;gap:28px}.booking-photo{height:320px}.booking-flow{grid-template-columns:1fr;gap:24px;margin-top:28px}.booking-treatment-row{padding:28px 0 40px}.booking-treatment-row img{height:280px}.booking-guide-index{grid-template-columns:1fr}.booking-actions{gap:12px}.booking-actions .btn{max-width:100%;white-space:normal}.hero-brand-details{gap:12px 20px;font-size:.74rem}.booking-guide-notice{padding:24px}.booking-heading{margin-bottom:20px}.booking-faq summary{padding:22px 12px 22px 0}}
@media(max-width:768px){.page-inner.glowmatch-page .nav{background:var(--cream)!important}.page-inner.glowmatch-page .nav-logo-main{color:var(--charcoal)!important}}
