:root{--ink:#211d1b;--muted:#756d68;--paper:#f8f3ee;--white:#fffdfa;--line:#eadfd7;--accent:#b66f59;--accent-dark:#8f4f3e;--accent-soft:#f2ded5;--shadow:0 24px 70px rgba(73,43,31,.12)}
body{min-height:100vh;background:radial-gradient(circle at 12% 5%,rgba(233,196,181,.36),transparent 30rem),radial-gradient(circle at 90% 35%,rgba(220,203,181,.3),transparent 34rem),linear-gradient(145deg,#fbf8f4 0%,#f4eee8 100%);background-attachment:fixed}
.topbar{height:76px;background:rgba(255,253,250,.82);border-color:rgba(182,111,89,.15);backdrop-filter:blur(16px);position:sticky;top:0;z-index:10}.topbar:after{content:"";position:absolute;inset:auto 0 -1px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.25}.brand{font-size:23px;letter-spacing:-1.2px}.brand span{position:relative}.brand span:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;border-radius:2px;background:currentColor;opacity:.35}
.shell{margin-top:54px}.salon-card{position:relative;padding:8px 4px 18px}.salon-card:after{content:"";position:absolute;left:0;bottom:0;width:88px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--accent),transparent)}.salon-mark{position:relative;width:82px;height:82px;border-radius:26px;background:linear-gradient(145deg,var(--accent),var(--accent-dark));box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 28%,transparent);transform:rotate(-3deg)}.salon-mark:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.35);border-radius:21px}.salon-card h1{font-size:38px;letter-spacing:-.5px}
.booking{border-color:rgba(182,111,89,.16);border-radius:28px;box-shadow:var(--shadow);background:rgba(255,253,250,.95)}.steps{position:relative;background:linear-gradient(165deg,#2c2826,#1e1b1a);padding-top:42px}.steps:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;background:var(--accent);filter:blur(75px);opacity:.18;left:-70px;bottom:10px}.steps b{position:relative;transition:color .25s ease}.steps b:before{transition:background .25s ease,box-shadow .25s ease,transform .25s ease}.steps b.active:before{transform:scale(1.15);box-shadow:0 0 0 6px rgba(255,255,255,.1),0 0 22px color-mix(in srgb,var(--accent) 55%,transparent)}
.panel{padding:48px 54px}.panel.active{animation:panel-in .32s ease-out}.panel h2{font-size:29px;letter-spacing:-.25px}.choice{position:relative;border-color:var(--line);border-radius:16px;padding:19px 20px;box-shadow:0 4px 12px rgba(64,42,31,.035);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.choice:after{content:"→";width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--accent);font-weight:800;margin-left:15px;transition:transform .2s ease,background .2s ease,color .2s ease}.choice:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 12px 28px rgba(83,48,34,.1);background:#fff}.choice:hover:after{transform:translateX(3px);background:var(--accent);color:#fff}.choice em{margin-left:auto}.staff .avatar{background:linear-gradient(145deg,var(--accent-soft),#eee5db);color:var(--accent-dark);font-weight:800}.staff:after{margin-left:auto}
.back{padding:7px 11px;border-radius:8px;transition:background .2s ease,color .2s ease}.back:hover{background:var(--paper);color:var(--ink)}.primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));box-shadow:0 10px 22px color-mix(in srgb,var(--accent) 24%,transparent);transition:transform .2s ease,box-shadow .2s ease}.primary:hover{transform:translateY(-2px);box-shadow:0 14px 28px color-mix(in srgb,var(--accent) 34%,transparent)}input{border-color:var(--line);background:#fffdfa;transition:border-color .2s ease,box-shadow .2s ease}input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent)}.summary{border:1px solid var(--line);background:linear-gradient(145deg,#faf5ef,#f5ece5)}
.week-nav button{transition:border-color .2s ease,background .2s ease,color .2s ease}.week-nav button:not(:disabled):hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.week-day{border-color:var(--line);box-shadow:0 5px 14px rgba(64,42,31,.04);transition:transform .2s ease,box-shadow .2s ease}.week-day:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(64,42,31,.08)}.week-day header{background:linear-gradient(155deg,#f3e9e2,#eee4dc)}.week-day button{transition:background .18s ease,color .18s ease,transform .18s ease}.week-day button:hover{transform:scale(1.04)}
.check{box-shadow:0 0 0 10px rgba(37,114,59,.08)}footer{padding-top:28px}
.public-contact{margin:24px 0 0;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid rgba(182,111,89,.16);border-radius:16px;background:rgba(255,253,250,.92);box-shadow:0 10px 28px rgba(73,43,31,.07);font-size:13px}.public-contact>strong{font-size:16px}.public-contact>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.public-contact a{display:flex;flex-direction:column;gap:1px;min-width:145px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .2s ease,transform .2s ease}.public-contact a:hover{border-color:var(--accent);transform:translateY(-1px)}.public-contact a span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
@keyframes panel-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:700px){.topbar{height:64px}.shell{margin-top:30px}.salon-card{padding-left:4px}.salon-mark{width:62px;height:62px;border-radius:19px}.salon-mark:after{border-radius:15px}.salon-card h1{font-size:29px}.booking{border-radius:20px}.panel{padding:30px 22px}.choice{padding:16px}.choice:after{width:28px;height:28px}.steps{padding:18px}.week-day:hover{transform:none}.public-contact{align-items:stretch;flex-direction:column;padding:20px}.public-contact>div{justify-content:stretch}.public-contact a{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.panel.active{animation:none}.choice,.primary,.week-day,.week-day button{transition:none}}
.service-category-title{margin:20px 0 4px;color:var(--ink);font-size:17px}.service-category-title:first-child{margin-top:4px}
