.custom-booking{padding:clamp(18px,4vw,42px);background:#21060b;color:#f7ece3}.booking-preview-note{padding:10px 14px;background:#efd1aa12;border:1px solid #dfb58e44;border-radius:10px;color:#dfb58e;font-size:12px;margin-bottom:24px}.booking-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:32px}.custom-booking label,.booking-label{display:block;font-size:12px;color:#dfb58e;margin-bottom:9px}.custom-booking select,.custom-booking input,.custom-booking textarea{width:100%;background:#310c13;color:#f7ece3;border:1px solid #dfb58e55;border-radius:10px;padding:12px;font:inherit;min-height:46px}.booking-month{display:flex;align-items:center;justify-content:space-between;margin:24px 0 18px}.booking-month h3{margin:0;font:28px Georgia,serif}.booking-arrow,.booking-day,.booking-time{color:inherit;background:transparent;border:1px solid #dfb58e44;border-radius:9px;cursor:pointer;min-height:42px}.booking-arrow{width:42px}.booking-week,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.booking-week span{text-align:center;font-size:11px;color:#c7a9a0;padding:8px 0}.booking-day{aspect-ratio:1;font-size:14px}.booking-day:disabled{opacity:.3;cursor:default;border-color:transparent}.booking-day[aria-pressed=true],.booking-time[aria-pressed=true]{background:#efd1aa;color:#30080e;border-color:#efd1aa}.booking-times{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0 22px}.booking-time{padding:8px 16px}.booking-details{border-left:1px solid #dfb58e33;padding-left:32px}.booking-details h3{font:32px Georgia,serif;margin-bottom:14px}.booking-summary{padding:17px;background:#dfb58e0a;border-radius:12px;margin:18px 0;font-size:14px}.booking-summary p{margin:0 0 8px}.booking-summary p:last-child{margin:0}.booking-total{display:flex;justify-content:space-between;border-top:1px solid #dfb58e33;padding-top:12px}.booking-google,.booking-submit,.booking-pay{width:100%;border:1px solid #dfb58e;border-radius:30px;padding:13px 18px;font:inherit;cursor:pointer;background:#efd1aa;color:#30080e}.booking-google{background:transparent;color:#f7ece3;margin:10px 0 18px}.booking-submit:disabled,.booking-pay:disabled{opacity:.45;cursor:default}.booking-details label{margin-top:15px}.booking-small{color:#c7a9a0;font-size:12px;margin:12px 0}.booking-message{margin-top:16px;line-height:1.7;color:#f3d9bc}.custom-booking button:focus-visible{outline:2px solid #fff;outline-offset:3px}.booking-policy{font-size:12px;color:#c7a9a0}.booking-policy input{width:16px;min-height:16px;vertical-align:middle;margin-right:8px}.booking-account{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.booking-account button{background:none;border:0;color:#dfb58e;text-decoration:underline;cursor:pointer}.booking-account[hidden],.booking-google[hidden],.booking-pay[hidden]{display:none}@media(max-width:760px){.booking-layout{grid-template-columns:1fr}.booking-details{border:0;border-top:1px solid #dfb58e33;padding:24px 0 0}.booking-day{min-height:38px}.booking-month h3{font-size:24px}}@media(max-width:360px){.custom-booking{padding:14px}.booking-days,.booking-week{gap:3px}.booking-day{min-height:32px}}

.custom-booking input:disabled,.custom-booking textarea:disabled{opacity:.45;cursor:not-allowed}
/* Mobile booking journey */
.booking-wizard{max-width:680px;margin:auto;scroll-margin-top:110px}.wizard-top{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dfb58e33;padding-bottom:18px;margin-bottom:24px;font-size:12px;color:#dfb58e}.wizard-step[hidden]{display:none}.wizard-step{animation:booking-slide .28s ease both;min-height:360px}.wizard-step.wizard-reverse{animation-name:booking-slide-back}.wizard-step h3{font:400 clamp(30px,6vw,42px)/1.15 Georgia,serif;margin:0 0 12px;outline:none}.wizard-step>p{color:#c7a9a0;font-size:14px}.wizard-step h4{font:24px Georgia,serif;margin:0}.wizard-actions{display:flex;gap:12px;position:sticky;bottom:0;padding:16px 0 max(16px,env(safe-area-inset-bottom));background:#21060b;z-index:3;border-top:1px solid #dfb58e22;margin-top:24px}.wizard-actions button{margin:0;min-height:52px}.wizard-actions #wizard-back{width:33%}.wizard-actions #wizard-next{flex:1}.wizard-actions button[hidden]{display:none}.booking-wizard .booking-times{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}.booking-wizard .booking-time{min-height:56px}.booking-wizard fieldset{border:0;margin:0;padding:0;min-width:0}.booking-wizard label{margin:16px 0 8px}.booking-wizard input,.booking-wizard select,.booking-wizard textarea{font-size:16px;margin-top:7px}.booking-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.booking-person{border:1px solid #dfb58e44;border-radius:16px;padding:20px;margin-top:22px}.booking-person[hidden]{display:none}.booking-person h4{color:#efd1aa;font-size:22px}.inspiration-previews{display:flex;gap:12px;margin-top:12px}.inspiration-previews img{width:84px;height:84px;object-fit:cover;border-radius:10px}.booking-wizard input[type=file]{font-size:12px;padding:12px 8px}.booking-wizard .booking-policy input{width:18px;height:18px;min-height:18px}.booking-wizard .booking-policy{display:flex;gap:8px;align-items:flex-start}.booking-wizard .booking-days button{min-height:46px}.admin-shell{max-width:920px;margin:40px auto;padding:24px}.admin-shell h2{font-size:clamp(40px,7vw,64px)}.admin-shell button{margin:8px 0}.admin-shell .booking-summary{padding:24px}.admin-shell .booking-time{margin-right:10px}.admin-shell a.booking-time{display:inline-block}.admin-shell label{display:block}.admin-shell input{padding:12px;font:inherit;background:#310c13;color:#fff;border:1px solid #dfb58e55;border-radius:10px}@keyframes booking-slide{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}@keyframes booking-slide-back{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}@media(max-width:450px){.custom-booking{padding:20px 16px}.booking-form-row{grid-template-columns:1fr}.booking-wizard .booking-days button{min-height:40px}.wizard-step{min-height:360px}.booking-person{padding:16px}}@media(prefers-reduced-motion:reduce){.wizard-step{animation:none}}
.auth-or{text-align:center;margin:14px 0}.booking-wizard #email-login{margin:8px 0 24px;padding:0 0 20px;border-bottom:1px solid #dfb58e33}.booking-wizard #email-login[hidden]{display:none}.booking-wizard #email-complete[hidden],.booking-wizard #email-send[hidden]{display:none}
/* Brand-matched account, optional inspiration and email confirmation controls. */
.booking-wizard #booking-account{display:flex;justify-content:flex-end;margin:0 0 16px}.booking-wizard #booking-account[hidden]{display:none}.booking-wizard #booking-signout,.booking-wizard .booking-person .text-link{appearance:none;background:transparent;border:1px solid #dfb58e66;border-radius:99px;color:#efd1aa;font:400 12px 'DM Sans',Arial,sans-serif;letter-spacing:.04em;padding:11px 19px;margin:0;min-height:44px;cursor:pointer;text-decoration:none}.booking-wizard #booking-signout:hover,.booking-wizard .booking-person .text-link:hover{background:#dfb58e12;border-color:#dfb58e}.booking-wizard .booking-person .text-link{margin-top:12px}.booking-wizard .booking-person .text-link[hidden]{display:none}.inspo-upload{margin-top:20px;padding-top:16px;border-top:1px solid #dfb58e22}.inspo-upload>p:first-child{display:flex;justify-content:space-between}.inspo-add{appearance:none;display:inline-flex;align-items:center;gap:9px;background:#dfb58e0b;border:1px dashed #dfb58e88;border-radius:99px;color:#efd1aa;padding:12px 22px;font:inherit;font-size:13px;cursor:pointer;min-height:48px}.inspo-add>span{font-size:21px;line-height:1}.inspo-add:hover{background:#dfb58e1a;border-style:solid}.inspo-input[hidden]{display:none}.inspo-add:disabled{opacity:.4;cursor:default}.email-sent-panel{margin:18px 0;padding:25px 20px;text-align:center;border:1px solid #dfb58e66;border-radius:18px;background:radial-gradient(ellipse at top,#dfb58e15,transparent 80%);animation:email-panel-in .45s ease both}.email-sent-panel[hidden]{display:none}.email-sent-icon{display:block;width:60px;height:60px;margin:0 auto 12px;color:#efd1aa;animation:email-icon-in .6s cubic-bezier(.2,.7,.3,1) both}.email-sent-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.email-check{stroke-dasharray:24;stroke-dashoffset:24;animation:email-check-in .5s ease .35s forwards}.email-sent-panel strong{display:block;font:400 25px/1.25 Georgia,serif;color:#f7ece3}.email-sent-panel p{font-size:13px;line-height:1.7;color:#c7a9a0;margin:12px 0 0;overflow-wrap:anywhere}.email-sent-panel .email-spam-note{color:#efd1aa}.email-is-sending:before{content:'';display:inline-block;width:13px;height:13px;border:1.5px solid #dfb58e44;border-top-color:#efd1aa;border-radius:50%;margin-right:10px;animation:email-spin .8s linear infinite}@keyframes email-panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes email-icon-in{from{opacity:0;transform:translateY(10px) scale(.8)}to{opacity:1;transform:none}}@keyframes email-check-in{to{stroke-dashoffset:0}}@keyframes email-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.email-sent-panel,.email-sent-icon,.email-is-sending:before{animation:none}.email-check{animation:none;stroke-dashoffset:0}}

.inspo-item{position:relative;display:inline-block}.inspo-remove{position:absolute;top:4px;right:4px;width:32px;height:32px;border:1px solid #d9b58a;border-radius:50%;background:#280407;color:#fff4e7;font-size:22px;cursor:pointer}.inspiration-previews .inspo-item img{display:block}

.booking-complete{padding:36px 0 48px;text-align:center;animation:email-panel-in .4s ease both}.booking-complete h3{font:36px/1.2 Georgia,serif;margin:25px 0 14px}.booking-complete p{line-height:1.8;color:#dcc1b7;overflow-wrap:anywhere}.booking-verified{display:inline-flex;align-items:center;gap:10px;border:1px solid #66b88b;background:#163b2a;color:#b5ebc9;border-radius:99px;padding:13px 23px;font:600 15px Arial,sans-serif;opacity:1;cursor:default}.booking-verified svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.booking-complete .booking-small{font-size:12px}

.booking-policy{display:flex!important;justify-content:center;align-items:center!important;text-align:center;gap:12px;max-width:570px;margin:22px auto!important}.booking-policy input{flex:0 0 20px;width:20px!important;margin:0!important}.booking-identity{font-size:14px;color:#dfb58e;overflow-wrap:anywhere}#booking-account{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}#appointments .makeup-powder,#appointments .makeup-smear,#appointments::before,#appointments::after{display:none!important}

#signin-choices{display:grid;gap:14px;margin:26px 0}#signin-choices button{margin:0}#email-login{padding:24px;border:1px solid #dfb58e44;border-radius:18px}#choose-another{margin-bottom:16px}#booking-times[aria-busy=true]::before{content:'';width:22px;height:22px;border:2px solid #dfb58e55;border-top-color:#efd1aa;border-radius:50%;animation:availability-spin .9s linear infinite;margin:12px auto;display:block}@keyframes availability-spin{to{transform:rotate(360deg)}}

.custom-booking [hidden]{display:none!important}.custom-booking .text-link{appearance:none;background:none;border:0;color:#dfb58e;font:inherit;font-size:13px;letter-spacing:0;padding:10px 0;text-decoration:underline;cursor:pointer}#email-login{padding:22px}#signin-choices .booking-google{margin:0}#signin-choices{gap:14px}
/* Clear, thumb-friendly authentication and grouped appointment details. */
.wizard-top{margin-bottom:14px;border:0;padding-bottom:0}.wizard-track{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 32px}.wizard-track span{height:5px;border-radius:8px;background:#5e3038}.wizard-track .is-current{background:#efd1aa;transition:background .25s}.wizard-step{min-height:280px}.wizard-step h3{margin-bottom:18px}#signin-choices{display:block;margin-top:28px}#email-login{padding:0;border:0;background:none;margin:0}#email-login label{margin:0 0 10px}#email-login input{margin:0 0 8px}#email-login .booking-small{margin:8px 0 22px;line-height:1.6}#email-send{margin:0;min-height:52px}.signin-divider{display:flex;align-items:center;gap:16px;margin:28px 0;color:#cbb3a6;font-size:13px}.signin-divider:before,.signin-divider:after{content:'';height:1px;background:#dfb58e44;flex:1}#booking-google{display:flex;align-items:center;justify-content:center;gap:14px;margin:0;min-height:52px;border-radius:14px}.google-mark{width:22px;height:22px;flex-shrink:0}.account-tile{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #dfb58e44;border-radius:18px;padding:20px;margin:22px 0;background:#3a101755}.form-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #dfb58e44;border-radius:50%;background:#dfb58e12;color:#efd1aa}.form-icon svg{width:24px;height:24px}.account-tile>div>span{font-size:13px;color:#d9c0b3}.custom-booking .account-tile .booking-identity{font-size:16px;color:#f8e9dc;margin:5px 0 0;overflow-wrap:anywhere;line-height:1.4}.custom-booking #booking-signout{border:1px solid #dfb58e77;border-radius:24px;text-decoration:none;padding:10px 15px;color:#efd1aa}.form-tile,.booking-person{display:block;border:1px solid #dfb58e44;border-radius:18px;padding:22px;margin:18px 0;background:#3a101733}.form-tile h4,.booking-person h4{font:500 18px/1.4 Arial,sans-serif;margin:0 0 18px}.form-tile label{margin-bottom:0}.form-tile input,.form-tile select,.form-tile textarea,.booking-person input,.booking-person select{margin-top:10px}.booking-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-person label{margin:18px 0}.inspo-add{border-style:dashed!important;border-radius:12px!important;width:100%;padding:18px!important}.custom-booking .booking-policy{display:flex!important;align-items:flex-start!important;justify-content:center;gap:12px;padding:18px;border:1px solid #dfb58e44;border-radius:14px;line-height:1.6;text-align:left;max-width:none}.custom-booking .booking-policy input{flex:0 0 20px;width:20px!important;height:20px;min-height:20px;margin:2px 0 0!important;appearance:auto}.booking-policy span{flex:1}.booking-message:not(:empty){padding:18px 20px;border:1px solid #eac89988;border-radius:14px;background:#59332155;color:#fff1dc;font-size:15px;line-height:1.6;margin:20px 0}.booking-prep-link{display:inline-block;margin-top:20px;padding:15px 22px;border:1px solid #dfb58e;border-radius:28px;color:#efd1aa;text-decoration:none}.form-heading{display:flex;gap:12px;align-items:center}.form-heading svg{width:23px;height:23px;stroke:#dfb58e;fill:none;stroke-width:1.5;flex-shrink:0}@media(max-width:520px){.form-tile,.booking-person{padding:18px}.booking-contact-grid{grid-template-columns:1fr}.account-tile{grid-template-columns:36px minmax(0,1fr);padding:16px;gap:12px}.account-tile .form-icon{width:36px;height:36px}.account-tile #booking-signout{grid-column:2;justify-self:start}.custom-booking .account-tile .booking-identity{font-size:15px}.wizard-top{font-size:10px}.wizard-track{margin-bottom:26px}}

#email-login{box-shadow:none}.booking-working .wizard-track span{animation:booking-pulse 1s ease-in-out infinite alternate}@keyframes booking-pulse{to{opacity:.35}}.custom-booking .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(prefers-reduced-motion:reduce){.booking-working .wizard-track span{animation:none}}

.custom-booking #booking-account{display:grid;grid-template-columns:44px minmax(0,1fr) auto;justify-content:start;align-items:center;text-align:left;padding:22px;margin:18px 0;width:100%;box-sizing:border-box}.custom-booking #booking-account>div{min-width:0;text-align:left}.custom-booking #email-login{padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.custom-booking #email-login:before,.custom-booking #email-login:after{display:none!important}#signin-other{margin-bottom:22px}.custom-booking .signin-divider[hidden]{display:none!important}@media(max-width:520px){.custom-booking #booking-account{grid-template-columns:36px minmax(0,1fr);padding:18px}.custom-booking #booking-signout{grid-column:2;justify-self:start}}
.language-picker{display:inline-flex;align-items:center;margin:0 12px}.language-picker select{font:inherit;color:#efd0a4;background:#28070d;border:1px solid #9f7958;border-radius:8px;padding:9px 12px;min-height:42px}.admin-login>.language-picker{margin:20px auto;display:flex;justify-content:center}

.hero-just:after{content:attr(data-word)!important}.language-picker select{cursor:pointer}.nav nav{align-items:center}

.language-picker>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

.custom-booking #booking-times .booking-times-empty{grid-column:1/-1;width:100%;max-width:none;text-align:center;margin:0;padding:40px 12px;line-height:1.6;box-sizing:border-box}
@media(min-width:701px){.hero-nav #navigation{position:static}.hero-nav #navigation .language-picker{position:absolute;right:clamp(20px,4vw,60px);top:50%;transform:translateY(-50%);margin:0}.hero-nav #navigation{padding-right:100px}}
@media(max-width:700px){.mobile-menu-root{position:relative;z-index:100}.mobile-menu-root #navigation{position:fixed;left:auto;right:16px;top:82px;bottom:auto;width:min(280px,calc(100vw - 32px));display:flex;flex-direction:column;align-items:stretch;gap:12px}.mobile-menu-root #navigation.open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.mobile-menu-root .menu-toggle,body.menu-idle .mobile-menu-root .menu-toggle,body.at-footer .mobile-menu-root .menu-toggle{position:fixed;top:20px;bottom:auto;right:16px;left:auto;opacity:1;visibility:visible;pointer-events:auto;z-index:101}.mobile-menu-root #navigation .language-picker{position:static;transform:none;margin:4px 0;justify-content:flex-start}.mobile-menu-root #navigation a{padding:8px 4px}.language-picker select{min-height:44px}}

@media(max-width:700px){.mobile-menu-root .menu-toggle,body.menu-idle .mobile-menu-root .menu-toggle,body.at-footer .mobile-menu-root .menu-toggle{top:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:20px}.mobile-menu-root #navigation{top:auto;bottom:calc(88px + env(safe-area-inset-bottom,0px));right:20px;max-height:calc(100svh - 180px)}}

@media(min-width:701px){.hero-nav #navigation{padding-right:0}}
