:root{color-scheme:light;--ink:#0B2D5B;--muted:#64748B;--plum:#2563EB;--plum-dark:#0B2D5B;--rose:#14B8A6;--paper:#FFFFFF;--line:#E5E7EB;--cream:#F3F7FF;--green:#14B8A6;--green-pale:#E6FFFB}
*{box-sizing:border-box}html,body{min-width:320px;min-height:100%;margin:0}body{background:var(--cream);color:var(--ink);font-family:"Montserrat","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.booking-header{display:flex;height:66px;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1100px)/2));border-bottom:1px solid var(--line);background:rgba(255,255,255,.92)}.booking-brand{display:flex;align-items:center;gap:10px;color:var(--plum);font-size:18px;font-weight:700;letter-spacing:-.7px;text-decoration:none}.booking-brand>span:last-child>span{font-weight:400;opacity:.73}.booking-brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid #14B8A6;border-radius:10px;background:#FFFFFF;font-family:"Montserrat",Georgia,serif;font-size:12px;letter-spacing:0}.booking-brand-mark img{width:28px;height:28px;object-fit:contain}.client-login{color:var(--plum);font-size:11px;font-weight:700;text-decoration:none}.client-login span{margin-left:5px}.client-login:hover{text-decoration:underline}.booking-main{width:min(1040px,100%);margin:0 auto;padding:22px 24px 25px}.booking-demo{display:flex;align-items:center;gap:9px;margin-bottom:19px;padding:9px 12px;border:1px solid var(--cream);border-radius:8px;background:var(--cream);color:#64748B;font-size:9px}.booking-demo>span{display:grid;width:18px;height:18px;flex:0 0 18px;place-items:center;border-radius:50%;background:var(--cream);color:var(--plum);font-family:"Montserrat",sans-serif;font-size:12px;font-style:italic;font-weight:700}.booking-demo p{margin:0}.booking-demo strong{color:var(--plum)}.salon-hero{display:flex;align-items:center;gap:15px;margin-bottom:19px;padding:20px 22px;border:1px solid rgba(11,45,91,.09);border-radius:12px;background:linear-gradient(110deg,#FFFFFF 0%,var(--cream) 100%)}.salon-monogram{display:grid;width:53px;height:53px;flex:0 0 53px;place-items:center;border-radius:15px;background:linear-gradient(145deg,var(--plum),#14B8A6);color:white;font-family:"Montserrat",Georgia,serif;font-size:20px}.salon-kicker{margin:0 0 4px;color:var(--rose);font-size:8px;font-weight:700;letter-spacing:1.2px}.salon-hero h1{margin:0;font-family:"Montserrat",Georgia,serif;font-size:26px;font-weight:500}.salon-hero p:last-child{margin:4px 0 0;color:var(--muted);font-size:10px}.open-label{display:flex;align-items:center;gap:6px;margin-left:auto;color:#64748B;font-size:9px;font-weight:700}.open-label i{width:6px;height:6px;border-radius:50%;background:#14B8A6}.booking-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(235px,.75fr);align-items:start;gap:15px}.booking-card,.booking-summary{border:1px solid rgba(11,45,91,.09);border-radius:12px;background:var(--paper);box-shadow:0 5px 18px rgba(11,45,91,.025)}.booking-card{min-height:465px;padding:20px}.booking-steps{display:flex;max-width:430px;align-items:center;margin:0 auto 23px}.step{display:flex;align-items:center;gap:7px;color:#64748B}.step span{display:grid;width:24px;height:24px;place-items:center;border:1px solid var(--cream);border-radius:50%;font-size:9px;font-weight:700}.step small{font-size:8px;font-weight:600}.step.is-current{color:var(--plum)}.step.is-current span,.step.is-complete span{border-color:var(--plum);background:var(--plum);color:white}.step.is-complete{color:var(--plum)}.booking-steps>i{height:1px;flex:1;margin:0 10px;background:var(--cream)}.stage-heading{margin-bottom:14px}.stage-heading h2{margin:0;font-family:"Montserrat",Georgia,serif;font-size:22px;font-weight:500}.stage-heading p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.booking-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.booking-service{display:flex;min-height:72px;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:8px;background:#FFFFFF;cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.booking-service:hover{border-color:#E5E7EB;background:var(--cream);transform:translateY(-1px)}.booking-service.is-selected{border-color:var(--plum);background:var(--cream);box-shadow:0 0 0 2px rgba(37,99,235,.08)}.booking-service-icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:9px;background:var(--cream);color:var(--plum);font-size:13px}.booking-service-text{min-width:0;flex:1}.booking-service-text strong,.booking-service-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-service-text strong{font-size:9px}.booking-service-text small{margin-top:4px;color:var(--muted);font-size:8px}.booking-service-price{color:var(--plum);font-family:"Montserrat",Georgia,serif;font-size:13px;white-space:nowrap}.stage-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.button{display:inline-flex;min-height:35px;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:9px;font-weight:700;text-decoration:none}.button:hover{border-color:#14B8A6;background:var(--cream)}.button-primary{border-color:var(--plum);background:var(--plum);color:white}.button-primary:hover{border-color:var(--plum-dark);background:var(--plum-dark);color:white}.button[disabled]{cursor:not-allowed;opacity:.44}.schedule-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.schedule-field label{display:block;margin-bottom:7px;color:#64748B;font-size:9px;font-weight:700}.schedule-field select,.schedule-field input{width:100%;min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:9px}.time-slots{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.time-slot{min-width:59px;min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:white;color:#64748B;font-size:9px}.time-slot:hover,.time-slot.is-selected{border-color:var(--plum);background:var(--cream);color:var(--plum);font-weight:700}.booking-summary{position:sticky;top:14px;padding:16px}.summary-heading{display:flex;align-items:center;gap:9px;padding-bottom:13px;border-bottom:1px solid var(--cream)}.summary-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--cream);color:var(--plum)}.summary-heading strong,.summary-heading small{display:block}.summary-heading strong{font-size:10px}.summary-heading small{margin-top:3px;color:var(--muted);font-size:8px}.summary-empty{padding:12px 0;color:#64748B;font-size:9px;line-height:1.6}.summary-details{display:flex;flex-direction:column;gap:11px;padding:13px 0}.summary-line{display:flex;justify-content:space-between;gap:10px;color:#64748B;font-size:8px}.summary-line strong{color:var(--ink);font-size:9px;text-align:right}.summary-price{margin-top:10px;padding-top:10px;border-top:1px solid var(--cream)}.summary-price .summary-line strong{color:var(--plum);font-family:"Montserrat",Georgia,serif;font-size:15px}.deposit-note{margin-top:9px;padding:9px;border-radius:7px;background:var(--cream);color:#64748B;font-size:8px;line-height:1.55}.summary-foot{padding-top:12px;border-top:1px solid var(--cream);color:#64748B;font-size:8px}.summary-foot>span{display:block;color:var(--green);font-weight:700}.summary-foot small{display:block;margin-top:4px;line-height:1.5}.access-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.access-option{padding:13px;border:1px solid var(--line);border-radius:8px;background:white}.access-option strong{display:block;font-size:9px}.access-option p{min-height:29px;margin:5px 0 10px;color:var(--muted);font-size:8px;line-height:1.5}.access-option .button{width:100%;padding:0 7px}.booking-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:19px;color:#64748B;font-size:8px}.booking-footer a{color:var(--plum);font-weight:700;text-decoration:none}.booking-footer a:hover{text-decoration:underline}
@media(max-width:720px){.booking-header{height:58px;padding:0 17px}.booking-main{padding:15px 14px 20px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static;grid-row:1}.booking-card{grid-row:2;min-height:0}.summary-details{display:grid;grid-template-columns:1fr 1fr}.summary-empty{margin:0;padding:9px 0}.summary-foot{margin-top:4px}.salon-hero{padding:15px}.salon-hero h1{font-size:23px}}
@media(max-width:480px){.booking-service-list{grid-template-columns:1fr}.booking-service{min-height:62px}.booking-card{padding:15px}.step{gap:5px}.step small{font-size:7px}.booking-steps>i{margin:0 6px}.schedule-layout,.access-options{grid-template-columns:1fr}.open-label{align-self:flex-start;margin-top:4px}.salon-hero{align-items:flex-start;gap:10px}.salon-monogram{width:42px;height:42px;flex-basis:42px;font-size:16px}.booking-footer{align-items:flex-start;flex-direction:column;gap:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.booking-toast{position:fixed;z-index:30;right:18px;bottom:18px;max-width:min(340px,calc(100vw - 36px));padding:11px 14px;border-radius:8px;background:var(--ink);color:white;font-size:9px;line-height:1.5;box-shadow:0 12px 30px rgba(35,25,21,.24);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s}.booking-toast.is-visible{opacity:1;transform:translateY(0)}
.salon-monogram img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.queue-slot{border-style:dashed;color:var(--plum)}.deposit-note a{color:var(--plum);font-weight:700}

.salon-hero{min-height:168px;gap:24px;padding:24px 30px;background:linear-gradient(115deg,#FFFFFF,var(--cream))}
.salon-monogram{width:116px;height:116px;flex:0 0 116px;border:1px solid var(--cream);border-radius:18px;background:#FFFFFF;padding:8px;box-shadow:0 8px 24px rgba(15,23,42,.07);font-size:34px}
.salon-monogram img{object-fit:contain;border-radius:11px}
.salon-hero h1{font-size:34px;line-height:1.15}
.salon-kicker{font-size:10px;letter-spacing:1.4px}
@media(max-width:720px){.salon-hero{min-height:0;gap:16px;padding:18px}.salon-monogram{width:82px;height:82px;flex-basis:82px;padding:6px}.salon-hero h1{font-size:26px}}
@media(max-width:480px){.salon-hero{align-items:center;gap:12px}.salon-monogram{width:68px;height:68px;flex-basis:68px}.salon-hero h1{font-size:22px}}
.booking-header nav{display:flex;align-items:center;gap:20px}.copy-pix-button{margin-top:8px;padding:8px 12px;border:1px solid #E5E7EB;border-radius:8px;background:#FFFFFF;color:var(--plum);font:inherit;font-size:12px;font-weight:700;cursor:pointer}

.salon-choice .booking-service-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.booking-header{position:sticky;top:0;z-index:20;gap:14px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.booking-brand{flex:none;font-size:15px}.booking-brand-mark{width:30px;height:30px;flex:none}
.sticky-salon-identity{display:flex;min-width:0;align-items:center;gap:8px;margin-left:auto}
.sticky-salon-logo{display:grid;width:34px;height:34px;flex:none;place-items:center;overflow:hidden;border:1px solid var(--cream);border-radius:9px;background:#FFFFFF;color:var(--plum);font-size:10px;font-weight:700}
.sticky-salon-logo img{width:100%;height:100%;object-fit:contain}
.sticky-salon-identity strong{max-width:180px;overflow:hidden;color:var(--plum);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.booking-professional{display:flex;align-items:center;gap:10px;margin:0 0 17px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#FFFFFF}
.booking-professional-photo{display:grid;width:42px;height:42px;flex:none;place-items:center;overflow:hidden;border-radius:50%;background:var(--cream);color:var(--plum);font-family:"Montserrat",Georgia,serif;font-size:15px;font-weight:600}
.booking-professional-photo img{width:100%;height:100%;object-fit:cover}
.booking-professional-copy small,.booking-professional-copy strong{display:block}.booking-professional-copy small{margin-bottom:3px;color:var(--muted);font-size:8px}.booking-professional-copy strong{color:var(--ink);font-size:10px}
.booking-professional-select{margin:0 0 14px}.booking-professional-select select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#FFFFFF;color:var(--ink);font:inherit;font-size:13px}.booking-terms{margin:4px 0 14px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#FFFFFF}.booking-terms h3{margin:0 0 10px;font-size:14px}.booking-terms details summary{color:var(--plum);font-size:12px;font-weight:700;cursor:pointer}.booking-terms-copy{max-height:220px;overflow:auto;margin-top:10px;padding:12px;border-radius:7px;background:var(--cream);font-size:12px;line-height:1.65;white-space:pre-wrap}.booking-terms-accept{display:flex;align-items:flex-start;gap:9px;margin-top:13px;font-size:12px;line-height:1.5}.booking-terms-accept input{width:18px;height:18px;flex:none;margin:0;accent-color:var(--plum)}
@media(max-width:720px){.booking-header{gap:8px}.booking-brand{gap:6px;font-size:12px}.booking-brand-mark{width:27px;height:27px}.sticky-salon-identity{gap:5px}.sticky-salon-logo{width:30px;height:30px}.sticky-salon-identity strong{max-width:100px;font-size:9px}.booking-header nav{gap:8px}.booking-header nav .client-login:nth-child(2){display:none}}
@media(max-width:390px){.sticky-salon-identity strong{max-width:55px}.booking-brand{font-size:10px}.booking-brand-mark{width:24px;height:24px}.booking-header nav .client-login{font-size:8px}}
.booking-terms-link{display:inline-block;margin:0 0 10px;color:var(--plum);font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.booking-terms>p{color:var(--muted);font-size:12px;line-height:1.55}
.booking-service-group{padding:12px;border:1px solid var(--line);border-radius:8px;background:#FFFFFF}
.booking-service-group-heading{display:grid;gap:4px;margin-bottom:9px}
.booking-service-group-heading strong{font-size:10px}
.booking-service-group-heading small,.booking-service-option small{color:var(--muted);font-size:8px}
.booking-service-options{display:grid;gap:6px}
.booking-service-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:1px solid var(--line);border-radius:7px;background:white;text-align:left}
.booking-service-option>span{display:grid;gap:3px}
.booking-service-option>span strong{font-size:9px}
.booking-service-option.is-selected{border-color:var(--plum);background:var(--cream)}
.booking-service-option .booking-service-price{font-size:12px}
.booking-back-button{grid-column:1/-1;justify-self:start;padding:4px 0;border:0;background:transparent;color:var(--plum);font-size:9px;font-weight:700}
.booking-back-button:hover{text-decoration:underline}
.booking-service-options{grid-column:1/-1}
.booking-request-error{padding:12px;border:1px solid #b23d3d;border-radius:8px;background:#fff5f5;color:#8d2424;font-size:14px;line-height:1.5}
.booking-terms details summary{cursor:pointer;padding:10px 0;font-size:14px;line-height:1.5;color:var(--plum)}
.booking-back-button{min-height:40px;font-size:12px}.booking-service-option{min-height:48px}.booking-service-option>span strong{font-size:13px}.booking-service-option small{font-size:11px}
.schedule-field label{font-size:13px}.schedule-field input,.schedule-field select{min-height:44px;font-size:16px}.time-slot{min-height:44px;min-width:64px;font-size:14px}.button{min-height:44px;font-size:14px}.booking-service-text strong{font-size:14px}.booking-service-text small{font-size:12px}.booking-service{min-height:64px}.stage-heading p,.field-help,.summary-empty{font-size:13px;line-height:1.6}.summary-line,.summary-line strong,.deposit-note,.summary-foot,.summary-heading strong{font-size:13px}.summary-heading small{font-size:12px}.booking-service-price{font-size:15px}

html[data-brand] .salon-hero{background:linear-gradient(115deg,#fff,var(--cream))}html[data-brand] .button-primary{background:var(--plum);color:#fff}html[data-brand] .button-primary:hover{background:var(--plum-dark)}

.booking-service-description,.booking-service-option small{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}.booking-service-text{min-width:0}.booking-service-price{flex-shrink:0}

.booking-service-text .booking-service-description,.booking-service-option small{font-size:12px}

/* The establishment owns the booking experience; platform identity stays in the footer. */
.booking-header{height:72px;justify-content:space-between}.sticky-salon-identity{margin-left:0;flex:1}.sticky-salon-identity[hidden]{display:none}.sticky-salon-identity strong{max-width:none;color:var(--ink);font-size:14px}.sticky-salon-logo{width:40px;height:40px}.booking-header nav{flex:none}.booking-header .client-login{font-size:12px}.salon-hero{gap:28px;padding:32px;min-height:200px}.salon-monogram{width:160px;height:140px;flex-basis:160px;border:0;border-radius:12px;box-shadow:none;background:#fff;font-size:42px}.salon-hero h1{font-size:36px;font-weight:700;overflow-wrap:anywhere}.salon-hero>div:nth-child(2){min-width:0}.salon-hero p:last-child{font-size:13px;line-height:1.6}.salon-kicker{color:var(--muted);font-size:10px;letter-spacing:1.2px}.booking-footer{margin-top:28px;padding-top:18px;border-top:1px solid var(--line);gap:16px;flex-wrap:wrap}.booking-footer .booking-powered-by{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px;font-weight:400;text-decoration:none}.booking-powered-by img{width:20px;height:20px;object-fit:contain}.booking-powered-by strong{font-weight:600}.booking-footer-links{display:flex;flex-wrap:wrap;gap:16px}.booking-footer-links a{font-size:11px;color:var(--muted);font-weight:500}.booking-footer .booking-powered-by:hover,.booking-footer-links a:hover{color:var(--plum);text-decoration:underline}
@media(max-width:720px){.booking-header{height:64px;padding:0 16px;gap:16px}.sticky-salon-identity strong{max-width:none;font-size:12px}.sticky-salon-logo{width:36px;height:36px}.booking-header .client-login{font-size:11px;white-space:nowrap}.salon-hero{flex-direction:column;text-align:center;gap:16px;padding:24px 18px}.salon-monogram{width:150px;height:120px;flex-basis:auto}.salon-hero h1{font-size:28px}.booking-footer{align-items:center;justify-content:center;flex-direction:column;gap:14px}.booking-footer-links{justify-content:center}}

.arrival-guidance{margin:16px 0;padding:16px;border:1px solid var(--line);border-left:3px solid var(--plum);border-radius:8px;background:var(--cream);text-align:left}.arrival-guidance h3{margin:0 0 10px;color:var(--ink);font-size:14px}.arrival-guidance p{margin:6px 0;color:var(--ink);font-size:12px;line-height:1.7}

.arrival-guidance-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.7}.arrival-guidance details{margin-top:12px}.arrival-guidance summary{font-size:12px;font-weight:600;cursor:pointer}.arrival-guidance h4{font-size:12px;margin:14px 0 8px}.arrival-guidance .arrival-guidance-source{margin-top:12px;font-size:11px;color:var(--muted)}
