/* Holland's Beauty Spa booking. Colors and fonts match hollandsbeautyspa.com (v1 prototype styles). */
@font-face{font-family:Cormorant;src:url(/fonts/cormorant-italic.woff2) format('woff2');font-style:italic;font-weight:500;font-display:swap}
:root{
 --bg:#FBF4EC;--b2:#FFFAF3;--ink:#5B3A45;--in2:#7a5560;--m:#a78896;
 --p:#F4A5B8;--p2:#E88AA0;--p2d:#B85D7A;--p3:#F7C5D1;--p4:#FCE4EB;
 --r:#f0d8de;--rh:#e5c0cb;
 --sr:Cormorant,Georgia,serif;--sn:Inter,'Helvetica Neue',system-ui,sans-serif;
 --grad:linear-gradient(135deg,#E88AA0,#C25E7B 55%,#E88AA0);
 --shadow:0 8px 24px -8px rgba(184,93,122,.28);
 --shadow-lg:0 18px 48px -18px rgba(184,93,122,.38);
 --r-sm:10px;--r-md:14px;--r-lg:20px;--r-pill:99px;
 --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--sn);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
.display{font:italic 500 1em/1.1 var(--sr);letter-spacing:-.01em}
.rose{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{max-width:1080px;margin:0 auto;padding:0 28px}
.hidden{display:none!important}

/* nav */
.nav{padding:22px 0;border-bottom:1px solid var(--r);background:var(--bg)}
.nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brandmark{min-width:0}
.brandmark{display:flex;align-items:center;gap:12px}
.brandmark img{width:64px;height:64px;object-fit:contain}
.brandmark .name{font:italic 500 26px/1 var(--sr);color:var(--ink)}
.brandmark .tag{display:block;font:700 10px/1 var(--sn);color:var(--p2d);letter-spacing:.2em;text-transform:uppercase;margin-top:6px}
.nav-back .short{display:none}
@media(max-width:760px){.nav-back .short{display:inline}}
.nav-back{white-space:nowrap;flex:none;font:600 12px/1 var(--sn);color:var(--in2);letter-spacing:.16em;text-transform:uppercase;padding:10px 4px;min-height:44px;display:inline-flex;align-items:center}
.nav-back:hover{color:var(--p2d)}

/* footer */
.site-foot{background:var(--bg);border-top:1px solid var(--r);padding:36px 0 30px;margin-top:64px;color:var(--in2);font-size:13px}
.site-foot .foot-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.site-foot a:hover{color:var(--p2d)}

/* buttons */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:var(--r-pill);font:700 12px/1 var(--sn);letter-spacing:.16em;text-transform:uppercase;color:#fff;background:var(--grad);background-size:200% 200%;transition:transform .2s var(--ease),background-position .2s var(--ease),box-shadow .2s var(--ease);box-shadow:var(--shadow);min-height:44px;border:1px solid transparent}
.pill:hover{transform:translateY(-1px);background-position:100% 0;box-shadow:var(--shadow-lg)}
.pill:focus-visible{outline:2px solid var(--p2d);outline-offset:3px}
.pill:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.pill.ghost{background:#fff;color:var(--ink);border:1.5px solid var(--p2d);box-shadow:none}
.pill.ghost:hover{color:var(--p2d);background:var(--p4)}
.err{margin-top:14px;padding:12px 16px;border-radius:var(--r-md);background:#fbe6ea;border:1px solid #e9bac4;color:#7a3a48;font-size:14px}
.note{padding:12px 16px;border-radius:var(--r-md);background:var(--p4);border:1px solid var(--p3);color:var(--ink);font-size:14px}

/* form fields */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px}
.field label{font:600 11px/1 var(--sn);color:var(--p2d);letter-spacing:.18em;text-transform:uppercase}
.field label .opt{color:var(--m);font-weight:400;letter-spacing:.08em}
.field input,.field textarea{font:400 16px/1.4 var(--sn);color:var(--ink);background:#fff;border:1.5px solid var(--rh);border-radius:var(--r-sm);padding:13px 14px;width:100%;min-height:44px;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--p2d);box-shadow:0 0 0 3px rgba(184,93,122,.18)}
.field textarea{resize:vertical;min-height:88px}
.field .hint{font-size:12px;color:var(--m)}

@media(max-width:760px){
 .wrap{padding:0 16px}
 .nav{padding:14px 0}
 .brandmark img{width:48px;height:48px}
 .brandmark .name{font-size:22px}
 .nav-back .long{display:none}
}
@media(max-width:400px){
 .brandmark img{width:40px;height:40px}
 .brandmark .name{font-size:19px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
