/* Depósito de Belleza · Reservas (/reservar) — extiende styles.css */
.bk-body{background:var(--ink)}
.bk-nav{position:sticky;top:0}
.bk-nav__right{display:flex;align-items:center;gap:1.4rem}
.bk-nav__back{display:none}
@media (min-width:700px){.bk-nav__back{display:inline-flex}}
.bk-nav__wa{padding:.75rem 1.1rem}
@media (max-width:480px){.bk-nav__wa span{display:none}.bk-nav__wa{padding:.8rem}}
.bk{position:relative;min-height:100svh;padding:clamp(2rem,5vw,4rem) 0 7rem;overflow:hidden;isolation:isolate}
.bk__glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:
  radial-gradient(60% 50% at 100% 0%,rgba(180,72,28,.28),transparent 60%),
  radial-gradient(50% 50% at 0% 70%,rgba(154,55,16,.25),transparent 65%),
  linear-gradient(180deg,var(--ink) 0%,var(--umber) 60%,var(--ink) 100%)}
.bk__head{margin-bottom:clamp(2rem,4vw,3rem)}
.bk__title{font-family:var(--serif);font-weight:500;font-size:clamp(2.8rem,7vw,6rem);line-height:.95;letter-spacing:-.02em;margin:0}

/* progreso */
.bk-steps{list-style:none;margin:0 0 clamp(2.4rem,5vw,3.6rem);padding:0 0 1.1rem;display:none;grid-template-columns:repeat(6,1fr);position:relative}
@media (min-width:820px){.bk-steps{display:grid}}
.bk-steps li{display:flex;align-items:baseline;gap:.6rem;color:var(--muted);transition:color .5s var(--ease);cursor:default}
.bk-steps li .n{font-family:var(--didone);font-size:.9rem}
.bk-steps li .l{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}
.bk-steps li.is-done{color:var(--fg-2);cursor:pointer}
.bk-steps li.is-done:hover{color:var(--champagne)}
.bk-steps li.is-active{color:#fff}
.bk-steps li.is-active .n{color:var(--champagne)}
.bk-steps__bar{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line)}
.bk-steps__bar b{position:absolute;left:0;top:-.5px;height:2px;width:0;background:var(--brand-grad);background-size:200% 100%;box-shadow:0 0 12px rgba(224,122,74,.6);transition:width .9s var(--ease)}
.bk-steps__m{display:flex;gap:.5rem;align-items:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-2);margin:0 0 1.8rem;padding-bottom:.9rem;border-bottom:1px solid var(--line);position:relative}
.bk-steps__m::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:var(--p,16%);background:var(--brand-grad);transition:width .9s var(--ease)}
.bk-steps__m strong{color:#fff;font-weight:600}
@media (min-width:820px){.bk-steps__m{display:none}}

.bk__grid{display:grid;gap:3rem}
@media (min-width:1080px){.bk__grid{grid-template-columns:minmax(0,1fr) 340px;gap:4.5rem;align-items:start}}
.bk__stage{position:relative;min-height:420px}
.step__head{margin-bottom:2rem}
.step__title{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1;margin:0 0 .7rem;letter-spacing:-.01em}
.step__sub{margin:0;color:var(--fg-2);font-weight:300}
.step__note{display:flex;gap:.6rem;align-items:center;margin:1.6rem 0 0;font-size:.78rem;color:var(--muted)}
.step__note .ico{color:var(--gold-hi)}
.bk__foot{margin-top:2.4rem;min-height:2rem}
.bk__foot .link-arrow{background-color:transparent;border:0;cursor:pointer;font:inherit;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--fg)}
.bk__foot.is-hidden{visibility:hidden}

/* opciones de servicio (estilo "El menú de la casa") */
.opt-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.opt{position:relative;display:grid;grid-template-columns:2.6rem 1fr auto;gap:.4rem 1.4rem;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:1.6rem .2rem;color:var(--fg);font:inherit;cursor:pointer;isolation:isolate}
.opt::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(180,72,28,.32),rgba(154,55,16,.1) 55%,transparent 85%);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.opt:hover::before,.opt.is-sel::before{transform:scaleX(1)}
.opt__n{font-family:var(--didone);color:var(--accent);font-size:.95rem}
.opt h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.6rem,3.2vw,2.5rem);line-height:1;margin:0;transition:transform .6s var(--ease),color .4s}
.opt:hover h3,.opt.is-sel h3{transform:translateX(.6rem);color:var(--champagne)}
.opt p{margin:.45rem 0 0;color:var(--fg-2);font-weight:300;font-size:.92rem;max-width:34rem}
.opt__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);white-space:nowrap}
.opt__meta .dur{display:inline-flex;gap:.4rem;align-items:center;color:var(--fg-2)}
.opt__tick{position:absolute;right:.2rem;top:1rem;width:22px;height:22px;border-radius:50%;background:var(--brand-grad);color:#FFFFFF;display:grid;place-items:center;transform:scale(0);transition:transform .5s var(--ease)}
.opt.is-sel .opt__tick{transform:scale(1)}
.opt__tick .ico{width:14px;height:14px}
@media (max-width:560px){.opt{grid-template-columns:2rem 1fr}.opt__meta{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:1rem;margin-top:.5rem}}
.skel{height:96px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,transparent,rgba(224,122,74,.08),transparent);background-size:200% 100%;animation:shimmer 1.4s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}

/* barberos */
.barbers{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:640px){.barbers{grid-template-columns:repeat(3,1fr)}.barber--any{grid-column:1/-1}}
.barber{position:relative;display:flex;align-items:center;gap:1.2rem;padding:1.4rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01));color:var(--fg);font:inherit;text-align:left;cursor:pointer;overflow:hidden;isolation:isolate;transition:border-color .4s,transform .6s var(--ease),box-shadow .6s var(--ease)}
.barber::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--brand-grad);opacity:0;transition:opacity .6s var(--ease)}
.barber:hover{border-color:rgba(224,122,74,.55);transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(180,72,28,.8)}
.barber.is-sel{border-color:var(--gold-hi)}
.barber.is-sel::before{opacity:.35}
@media (min-width:640px){.barber:not(.barber--any){flex-direction:column;text-align:center;padding:2rem 1.2rem 1.6rem}}
.mono{flex:none;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;position:relative;font-family:var(--didone);font-size:2rem;color:#FFFFFF;background:radial-gradient(circle at 30% 25%,#E8946A 0%,#B4481C 55%,#6E2509 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 30px -12px rgba(180,72,28,.9)}
.mono::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(240,201,174,.35)}
.mono img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.mono--any{background:transparent;border:1px dashed rgba(240,201,174,.6);box-shadow:none;color:var(--champagne)}
.mono--any .ico{width:30px;height:30px}
.barber h3{font-family:var(--serif);font-weight:500;font-size:1.7rem;line-height:1;margin:0 0 .35rem}
.barber p{margin:0;color:var(--fg-2);font-size:.88rem;font-weight:300}
.barber .tag{display:inline-block;margin-top:.6rem;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--champagne);border:1px solid rgba(240,201,174,.35);border-radius:999px;padding:.3rem .7rem}
.barber--any h3{font-size:2rem}

/* calendario */
.cal{border:1px solid var(--line);border-radius:16px;padding:clamp(1rem,2.5vw,1.8rem);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01))}
.cal__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem}
.cal__month{font-family:var(--serif);font-weight:500;font-size:1.8rem;margin:0;text-transform:capitalize}
.cal__nav{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--fg);display:grid;place-items:center;cursor:pointer;transition:background .3s,border-color .3s}
.cal__nav:hover:not(:disabled){background:var(--brand-grad);border-color:var(--gold)}
.cal__nav:disabled{opacity:.25;cursor:default}
.cal__dow,.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem}
.cal__dow span{text-align:center;font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding:.4rem 0}
.cal__dow .sun{color:var(--gold-hi)}
.day{position:relative;aspect-ratio:1/1;border-radius:12px;border:1px solid transparent;background:rgba(255,255,255,.03);color:var(--fg);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;transition:background .3s,border-color .3s,transform .4s var(--ease)}
.day b{font-family:var(--didone);font-weight:500;font-size:clamp(1rem,2.2vw,1.35rem);line-height:1}
.day small{font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.day i{width:5px;height:5px;border-radius:50%;background:var(--gold-hi)}
.day.is-low i{background:transparent;box-shadow:inset 0 0 0 1px var(--gold-hi)}
.day:hover:not(:disabled){border-color:rgba(224,122,74,.6);transform:translateY(-2px)}
.day.is-sun{background:rgba(180,72,28,.09)}
.day.is-sun small{color:var(--champagne)}
.day.is-today b::after{content:"";display:block;width:14px;height:1px;margin:3px auto 0;background:var(--champagne)}
.day.is-sel{background:var(--brand-grad);border-color:rgba(255,255,255,.3);box-shadow:0 14px 30px -14px rgba(180,72,28,.9)}
.day.is-sel,.day.is-sel b,.day.is-sel small{color:#FFFFFF}
.day:disabled{cursor:default;background:transparent;color:rgba(247,238,227,.22)}
.day:disabled i{display:none}
.day.is-none:not(.is-out){color:rgba(247,238,227,.35)}
.day.is-none:not(.is-out) i{background:#d36a5f;opacity:.7;display:block}
.day.is-pad{visibility:hidden}
@media (max-width:560px){.day small{display:none}.day{border-radius:10px}}
.cal__legend{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin-top:1.2rem;font-size:.7rem;letter-spacing:.08em;color:var(--fg-2)}
.cal__legend span{display:inline-flex;align-items:center;gap:.45rem}
.dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.dot--ok{background:var(--gold-hi)}.dot--low{background:transparent;box-shadow:inset 0 0 0 1px var(--gold-hi)}.dot--none{background:#d36a5f}
.sun-l{color:var(--champagne)}
.sun-l::before{content:"";width:14px;height:14px;border-radius:4px;background:rgba(180,72,28,.22);display:inline-block}

/* horarios */
.slot-group{margin-bottom:2rem}
.slot-group h3{display:flex;align-items:center;gap:.8rem;font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);font-weight:500;margin:0 0 1rem}
.slot-group h3::after{content:"";flex:1;height:1px;background:var(--line)}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.6rem}
@media (max-width:420px){.slot-grid{grid-template-columns:repeat(3,1fr)}}
.slot{position:relative;padding:.95rem .4rem;border-radius:999px;border:1px solid rgba(247,238,227,.2);background:rgba(255,255,255,.02);color:var(--fg);font:inherit;font-size:.92rem;font-variant-numeric:tabular-nums;cursor:pointer;overflow:hidden;isolation:isolate;transition:border-color .3s,color .3s,transform .4s var(--ease)}
.slot::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--brand-grad);transform:translateY(101%);transition:transform .5s var(--ease)}
.slot:hover{border-color:var(--gold-hi);transform:translateY(-2px)}
.slot:hover::before,.slot.is-sel::before{transform:none}
.slot.is-sel{border-color:rgba(255,255,255,.3);color:#FFFFFF}
.slot small{display:block;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.1rem}
.slot:hover small,.slot.is-sel small{color:rgba(255,255,255,.75)}
.slot:hover,.slot.is-sel{color:#FFFFFF}
.slot-skel{height:52px;border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.03),rgba(224,122,74,.1),rgba(255,255,255,.03));background-size:200% 100%;animation:shimmer 1.3s linear infinite}
.empty{text-align:center;padding:3rem 1.5rem;border:1px dashed rgba(240,201,174,.3);border-radius:16px;background:rgba(42,22,12,.35)}
.empty__ico{width:62px;height:62px;margin:0 auto 1.2rem;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(240,201,174,.35);color:var(--champagne)}
.empty__ico .ico{width:28px;height:28px}
.empty h3{font-family:var(--serif);font-weight:500;font-size:2rem;margin:0 0 .5rem}
.empty p{margin:0 auto 1.6rem;color:var(--fg-2);max-width:28rem;font-weight:300}
.empty__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}

/* formulario */
.form{display:grid;gap:1.6rem;max-width:640px}
.field{position:relative;display:block;border-bottom:1px solid rgba(247,238,227,.25);transition:border-color .4s}
.field:focus-within{border-color:var(--gold-hi)}
.field::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--brand-grad);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.field:focus-within::after{transform:scaleX(1)}
.field input,.field textarea{width:100%;background:transparent;border:0;outline:0;color:var(--fg);font:inherit;font-size:1.2rem;padding:1.7rem 0 .7rem;resize:vertical;font-family:var(--sans)}
.field>span{position:absolute;left:0;top:1.55rem;font-size:1.05rem;color:var(--muted);pointer-events:none;transform-origin:left;transition:transform .45s var(--ease),color .3s}
.field>span small{font-size:.75em;letter-spacing:.05em}
.field input:focus+span,.field input:not(:placeholder-shown)+span,.field textarea:focus+span,.field textarea:not(:placeholder-shown)+span{transform:translateY(-1.25rem) scale(.72);color:var(--champagne);letter-spacing:.08em}
.field--phone{padding-left:3.6rem}
.field--phone b{position:absolute;left:0;bottom:.75rem;font-weight:400;font-size:1.2rem;color:var(--fg-2)}
.field--phone>span{left:3.6rem}
.field__err{position:absolute;right:0;bottom:-1.35rem;font-style:normal;font-size:.72rem;color:#ff8f86}
.field.is-err{border-color:#d36a5f}
.form__review{border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.3rem;background:rgba(42,22,12,.4);display:grid;gap:.4rem;font-size:.92rem}
@media (min-width:1080px){.form__review{display:none}}
.form__review div{display:flex;justify-content:space-between;gap:1rem}
.form__review dt{color:var(--muted);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase}
.form__review dd{margin:0;text-align:right}
.form__msg{margin:0;min-height:1.2rem;color:#ff8f86;font-size:.9rem}
.form__submit{justify-self:start}
.form__submit .spin{display:none;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#FFFFFF;animation:rot .8s linear infinite}
.form__submit.is-loading .spin{display:inline-block}
.form__submit.is-loading{pointer-events:none;opacity:.85}
@keyframes rot{to{transform:rotate(360deg)}}
.form__legal{margin:-.6rem 0 0}

/* resumen lateral */
.summary{display:none;position:sticky;top:110px;border:1px solid var(--line);border-radius:18px;padding:1.8rem;background:linear-gradient(170deg,rgba(180,72,28,.16),rgba(42,22,12,.4) 60%,rgba(20,13,9,.6));overflow:hidden}
@media (min-width:1080px){.summary{display:block}}
.summary__k{font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}
.summary dl{margin:0 0 1.6rem}
.summary dl div{display:grid;gap:.1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.summary dt{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.summary dd{margin:0;font-family:var(--serif);font-size:1.4rem;line-height:1.15;color:var(--fg)}
.summary dd.is-empty{color:rgba(247,238,227,.28)}
.summary dd small{display:block;font-family:var(--sans);font-size:.76rem;color:var(--fg-2)}
.summary__place p:last-child{margin:0;color:var(--fg-2);font-size:.9rem;font-weight:300}
.summary__hat{position:absolute;right:-30px;bottom:-34px;width:170px;opacity:.12;pointer-events:none}

/* confirmación */
.done{text-align:left;margin-bottom:2rem}
.done__check{width:74px;height:74px;margin-bottom:1.6rem}
.done__check svg{width:100%;height:100%;fill:none;stroke-width:2}
.done__check circle{stroke:rgba(240,201,174,.35)}
.done__check path{stroke:var(--champagne);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .9s .35s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.ticket{position:relative;border-radius:20px;background:linear-gradient(160deg,#FFFFFF 0%,var(--paper) 70%,var(--mist) 100%);color:var(--fg);padding:clamp(1.4rem,3vw,2.4rem);box-shadow:0 40px 80px -40px rgba(7,4,3,.9);overflow:hidden;max-width:760px}
.ticket__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.4rem;border-bottom:1px dashed rgba(33,22,15,.2);position:relative}
.ticket__top::before,.ticket__top::after{content:"";position:absolute;bottom:-14px;width:28px;height:28px;border-radius:50%;background:var(--ink-2)}
.ticket__top::before{left:calc(-1 * clamp(1.4rem,3vw,2.4rem) - 14px)}
.ticket__top::after{right:calc(-1 * clamp(1.4rem,3vw,2.4rem) - 14px)}
.ticket__logo{width:132px;height:auto}
.ticket__code{text-align:right}
.ticket__code span{display:block;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.ticket__code strong{font-family:var(--didone);font-weight:500;font-size:clamp(1.5rem,3.4vw,2.2rem);letter-spacing:.06em;color:var(--antique)}
.ticket__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem 2rem;padding:1.6rem 0}
@media (max-width:560px){.ticket__grid{grid-template-columns:1fr}}
.ticket__grid dt{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:.25rem}
.ticket__grid dd{margin:0;font-family:var(--serif);font-size:1.5rem;line-height:1.15;color:var(--ink-2)}
.ticket__grid dd small{display:block;font-family:var(--sans);font-size:.78rem;color:var(--fg-2)}
.ticket__assigned{display:inline-flex;align-items:center;gap:.5rem;margin-top:.4rem;font-family:var(--sans);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#FFFFFF;background:var(--brand-grad);border-radius:999px;padding:.3rem .7rem}
.ticket__foot{display:grid;gap:.8rem;padding-top:1.3rem;border-top:1px solid var(--line);font-size:.88rem;color:var(--fg-2)}
.ticket__foot p{margin:0}
.ticket__foot strong{color:var(--fg);font-weight:600}
.done__actions{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0 1.2rem}
.done__cancel{margin:0;color:var(--fg-2);font-size:.9rem}
.done__cancel a{color:var(--champagne);border-bottom:1px solid rgba(240,201,174,.4)}

/* pasos: estado sin GSAP */
.step[hidden]{display:none!important}
.no-js .bk__stage::before{content:"Activá JavaScript para reservar en línea, o escribinos por WhatsApp.";display:block;padding:2rem;border:1px solid var(--line);border-radius:12px}

/* cancelar */
.cx{max-width:760px}
.cx .ticket{margin:2rem 0}
.cx__status{display:inline-flex;align-items:center;gap:.5rem;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;border-radius:999px;padding:.4rem .9rem;border:1px solid var(--line)}
.cx__status.is-cancelled{color:#ff8f86;border-color:rgba(211,106,95,.5)}
.cx__status.is-confirmed{color:#5fd38d;border-color:rgba(95,211,141,.4)}

/* Depósito de Belleza · Cormorant Garamond solo tiene peso 400 */
.bk-steps li .n,.opt__n,.mono,.day b,.ticket__code strong{font-weight:400;font-synthesis:none}

/* Categorías de servicios en el wizard */
.st-cat{list-style:none;margin:1.6rem 0 .6rem;padding:0}
.st-cat:first-child{margin-top:0}
.st-cat__title{margin:0;font-family:var(--serif);font-size:.95rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:500}
