/* Signature Beauty booking. Brand: _Brand-Kits/Signature-Beauty-Studio (Ivory & Ink, Great Vibes + Lora). */
@font-face{font-family:'Great Vibes';font-weight:400;font-display:swap;src:url(/fonts/great-vibes-400.woff2) format('woff2')}
@font-face{font-family:'Lora';font-weight:400 700;font-display:swap;src:url(/fonts/lora-variable.woff2) format('woff2')}
:root{--ivory:#FAF6EF;--card:#FFFDF9;--linen:#E4DCCD;--sand:#F0E9DC;--ink:#111;--body:#2B2824;--meta:#5E574D;--gold:#9C7A3F;--gold-text:#8A6A32;--gold-dark-bg:#C9A96E;--ok:#3F6B45;--warn:#9A4A33;--script:'Great Vibes',cursive;--serif:'Lora',Georgia,serif;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--body);font-family:var(--serif);font-size:16px;line-height:1.6;padding-inline:16px;padding-block:0 32px}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
h1,h2{font-family:var(--script);font-weight:400;color:var(--gold);margin:0;line-height:1.1;text-wrap:balance}
h1{font-size:clamp(40px,6vw,56px)}h2{font-size:clamp(32px,4.5vw,42px)}
h3{font-weight:500;font-size:19px;color:var(--ink);margin:0}
p{margin:0}
[hidden]{display:none!important}
.meta{font-size:13.5px;color:var(--meta)}
.eyebrow{font-size:11.5px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text)}
.top{max-width:760px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:16px;border-bottom:1px solid var(--linen)}
.top img{height:46px;width:auto;display:block}
.top a{color:var(--ink);font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.wrap{max-width:760px;margin:24px auto 0}
.steps{display:flex;list-style:none;margin:0 0 24px;padding:0;border-bottom:1px solid var(--linen);overflow-x:auto}
.steps li{flex:1 0 auto;padding:10px 12px 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--meta);border-bottom:2px solid transparent;white-space:nowrap}
.steps li.on{color:var(--ink);border-bottom-color:var(--gold)}.steps li.done{color:var(--gold-text)}
.panel{display:grid;gap:18px}
.card{background:var(--card);border:1px solid var(--linen);padding:20px;display:grid;gap:14px}
.artist{display:flex;gap:16px;align-items:center;background:var(--card);border:1px solid var(--linen);padding:14px 16px}
.artist img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 25%;flex:none}
.artist b{display:block;font-weight:500;color:var(--ink);font-size:17px}
.cat{display:grid;gap:10px}.cat>.eyebrow{margin-top:8px}
.svc{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;background:var(--card);border:1px solid var(--linen);padding:16px 18px;text-align:left;width:100%}
.svc[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.svc.has-img{grid-template-columns:84px minmax(0,1fr) auto}
.svc .thumb{grid-row:1/span 4;width:84px;height:84px;object-fit:cover;display:block}
.svc .n{font-size:17px;font-weight:500;color:var(--ink)}.svc .p{font-size:17px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.svc .d,.svc .dep{grid-column:1/-1;font-size:13.5px;color:var(--meta)}.svc.has-img .d,.svc.has-img .dep{grid-column:2/-1}
.svc .dep{font-size:12px;color:var(--gold-text)}
@media (max-width:460px){.svc.has-img{grid-template-columns:64px minmax(0,1fr) auto}.svc .thumb{width:64px;height:64px}}
.illus{font-size:12px;color:var(--meta);font-style:italic}
.bar{position:sticky;bottom:0;margin-top:6px;background:var(--ink);color:var(--ivory);padding:14px 18px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between}
.bar .sum{font-size:14px}.bar b{font-weight:500}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn{background:var(--ink);color:var(--ivory);border:1px solid var(--ink);padding:13px 22px;font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;display:inline-block}
.btn.gold{background:var(--gold-dark-bg);border-color:var(--gold-dark-bg);color:var(--ink)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--linen)}
.bar .btn.ghost{color:var(--ivory);border-color:#3a3530}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:520px){.choice{grid-template-columns:1fr}}
.choice button{background:var(--card);border:1px solid var(--linen);padding:16px;text-align:left;display:grid;gap:4px}
.choice button[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.drop{border:1px dashed var(--gold);background:var(--sand);padding:20px;text-align:center;display:grid;gap:8px;justify-items:center;cursor:pointer}
.drop.has{border-style:solid;border-color:var(--ok);background:#EEF3EC}
.drop img{max-width:140px;max-height:140px;object-fit:cover}
.drop input{position:absolute;width:1px;height:1px;opacity:0}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.checks label{display:flex;gap:10px;align-items:flex-start;font-size:15px}.checks input{margin-top:5px;accent-color:var(--gold)}
.alert{border-left:3px solid var(--warn);background:#F8EDE8;padding:12px 14px;font-size:14px}
.good{border-left:3px solid var(--ok);background:#EEF3EC;padding:12px 14px;font-size:14px}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.cal .h{font-size:11px;letter-spacing:.14em;color:var(--meta);padding:4px 0}
.cal button{border:1px solid transparent;background:transparent;padding:9px 0;font-variant-numeric:tabular-nums;color:#B9B0A2}
.cal button.open{color:var(--ink);background:var(--card);border-color:var(--linen)}
.cal button[aria-pressed="true"]{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.navm{background:none;border:1px solid var(--linen);padding:4px 12px}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.slots button{background:var(--card);border:1px solid var(--linen);padding:10px 0;font-variant-numeric:tabular-nums}
.slots button[aria-pressed="true"]{background:var(--ink);color:var(--ivory);border-color:var(--ink)}
.form{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:520px){.form{grid-template-columns:1fr}}
.form label{display:grid;gap:4px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--meta)}
.form input,.form textarea,.form select{font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);border:1px solid var(--linen);background:var(--card);padding:10px 12px}
.form .full{grid-column:1/-1}
.totals{display:grid;gap:6px;font-variant-numeric:tabular-nums}.totals div{display:flex;justify-content:space-between;gap:12px;font-size:15px}
.totals .t{border-top:1px solid var(--linen);padding-top:8px;font-weight:500;color:var(--ink)}
.policy{font-size:13.5px;color:var(--meta);display:grid;gap:4px}
.err{color:var(--warn);font-size:14px}
.spin{color:var(--meta);font-size:14px}
