/* ==================================================================
   Obsession — sitio público, versión premium.
   Principios: casi monocromo (crema + tinta), el rosa solo como acento,
   tipografía serif grande con mucho aire, bordes de 1px, movimiento lento.
   ================================================================== */
:root{
  --crema:#fdf8f6; --papel:#f8eced; --linea:#f1dde0; --linea-2:#e8c6cc;
  /* sin negro ni gris: todo el texto vive en la familia rosa/frambuesa del logo */
  --tinta:#8a3f55; --tinta-2:#7d4b5b; --gris:#a5687a; --gris-2:#c99aa6;
  --rosa:#b0647d; --rosa-suave:#efe2e5; --oro:#c9a24b;
  --rosa-logo:#d59a9c; --rosa-logo-2:#c4868a; --rosa-fondo:#f3e2e2; --rosa-fondo-2:#ead0d1;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Manrope',Helvetica,Arial,sans-serif;
  --lento:cubic-bezier(.22,.61,.36,1);
  --ancho:min(1240px,calc(100% - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--crema);color:var(--tinta-2);font:300 16px/1.7 var(--sans);-webkit-font-smoothing:antialiased;letter-spacing:.005em}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--rosa-suave)}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1;margin:0;color:var(--tinta);letter-spacing:-.02em}
h1 em,h2 em{font-style:italic;font-weight:300}
h2{font-size:clamp(44px,6vw,88px)}
.wrap{width:var(--ancho);margin:0 auto}
.wrap-angosto{width:min(760px,calc(100% - 48px));margin:0 auto;text-align:center}
.sobre{font:500 11px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gris);margin:0 0 28px}
.sobre.claro{display:inline-block;font-weight:600;color:var(--rosa);background:linear-gradient(90deg,var(--rosa) 0%,var(--rosa-logo) 55%,#c9a24b 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lead{font-size:17px;color:var(--gris);max-width:46ch;margin:0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:64px}

/* enlaces y botones */
.link-linea{position:relative;font:500 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--tinta);padding-bottom:8px;white-space:nowrap}
.link-linea::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--lento)}
.link-linea:hover::after{transform:scaleX(.3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 40px;border-radius:0;font:500 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;transition:background .5s var(--lento),color .5s var(--lento),border-color .5s var(--lento)}
.btn-claro{border-color:rgba(255,255,255,.75);color:#fff;background:transparent}
.btn-claro:hover{background:#fff;color:var(--tinta)}
.btn-oscuro{background:var(--tinta);color:var(--crema);border-color:var(--tinta)}
.btn-oscuro:hover{background:transparent;color:var(--tinta)}
.btn-rose{background:var(--tinta);color:var(--crema);border-color:var(--tinta)}
.btn-rose:hover{background:transparent;color:var(--tinta)}
.btn-full{width:100%}
.btn[disabled]{opacity:.5;cursor:wait}

/* navegación */
.nav{position:fixed;inset:0 0 auto;z-index:50;color:#fff;transition:background .6s var(--lento),color .6s var(--lento),border-color .6s;border-bottom:1px solid transparent}
.nav.solida{background:rgba(250,247,244,.94);backdrop-filter:blur(14px);color:var(--tinta);border-bottom-color:var(--linea)}
.nav-in{width:var(--ancho);margin:0 auto;height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nav-izq,.nav-der{display:flex;gap:36px;align-items:center;font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase}
.nav-der{justify-content:flex-end}
.nav-izq a,.nav-der a{opacity:.85;transition:opacity .3s}
.nav-izq a:hover,.nav-der a:hover{opacity:1}
.nav-reservar{padding:12px 22px;border:1px solid currentColor}
.logo img{height:38px;width:auto;filter:brightness(0) invert(1);transition:filter .6s}
.nav.solida .logo img{filter:none}
.burger{display:none;width:40px;height:40px;border:0;background:transparent;color:inherit;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:7px}
.burger span{display:block;width:22px;height:1px;background:currentColor;transition:.4s var(--lento)}
.nav-movil{display:none}

/* portada */
.portada{position:relative;height:100svh;min-height:600px;overflow:hidden;background:var(--tinta);color:#fff}
.portada-fotos{position:absolute;inset:0}
.portada-fotos picture{position:absolute;inset:0;opacity:0;transition:opacity 1.8s var(--lento)}
.portada-fotos picture.activa{opacity:1}
.portada-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:scale(1.08)}
.portada-fotos picture.activa .portada-img{animation:acerca 9s var(--lento) both}
@keyframes acerca{from{transform:scale(1.08)}to{transform:scale(1)}}
.portada-velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,22,30,.35) 0%,rgba(42,22,30,.12) 40%,rgba(42,22,30,.6) 100%)}
.portada-txt{position:absolute;left:0;right:0;bottom:14vh;width:var(--ancho);margin:0 auto}
.portada .sobre{color:rgba(255,255,255,.75)}
.portada h1{color:#fff;font-size:clamp(64px,10vw,168px);line-height:.92;margin-bottom:48px}
.portada-baja{position:absolute;right:max(24px,calc((100% - 1240px)/2));bottom:14vh;width:1px;height:72px;background:rgba(255,255,255,.35);overflow:hidden}
.portada-baja span{position:absolute;inset:0;background:#fff;animation:cae 2.4s var(--lento) infinite}
@keyframes cae{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* manifiesto */
.manifiesto{background:radial-gradient(70% 90% at 90% 10%,rgba(213,154,156,.55) 0%,rgba(213,154,156,0) 70%),var(--rosa-fondo);color:var(--tinta);padding:180px 0}
.manifiesto-txt{font:300 clamp(30px,3.6vw,52px)/1.25 var(--serif);color:var(--tinta);margin:0;letter-spacing:-.01em}
.firma{margin:48px 0 0;font:italic 300 22px var(--serif);color:var(--rosa)}

/* servicios */
.servicios{padding:180px 0}
.serv-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,140px);align-items:start}
.serv-foto{margin:0;position:sticky;top:120px;overflow:hidden}
.serv-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:opacity .6s var(--lento),transform 1.2s var(--lento)}
.serv-foto:hover img{transform:scale(1.03)}
.serv-lista h2{margin-bottom:64px}
.serv-items{list-style:none;margin:0 0 56px;padding:0;border-top:1px solid var(--linea)}
.serv-items li{border-bottom:1px solid var(--linea)}
.serv-items a{display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;padding:28px 0;transition:padding-left .6s var(--lento)}
.serv-items a:hover{padding-left:12px}
.serv-items .n{grid-row:1/3;font:italic 300 18px/1.6 var(--serif);color:var(--gris-2)}
.serv-items b{font:300 clamp(28px,2.6vw,38px)/1.1 var(--serif);color:var(--tinta)}
.serv-items small{font-size:13px;letter-spacing:.06em;color:var(--gris);margin-top:8px}

/* galería */
.galeria{padding:0 0 180px}
.galeria h2{line-height:.95}
.masonry{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:16px}
.masonry img{width:100%;height:100%;object-fit:cover;transition:filter .8s var(--lento)}
.masonry img.alta{grid-row:span 2}
.masonry:hover img{filter:saturate(.7)}
.masonry img:hover{filter:none}

/* reserva */
.reservar{padding:180px 0;background:var(--papel)}
.reservar-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:72px}
.agenda{display:grid;grid-template-columns:1fr 1.05fr;background:var(--crema);border:1px solid var(--linea)}
.agenda-datos,.agenda-cal{padding:48px;display:grid;gap:22px;align-content:start}
.agenda-cal{border-left:1px solid var(--linea)}
.paso{margin:8px 0 0;display:flex;align-items:baseline;gap:14px;font:500 11px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--tinta)}
.paso b{font:italic 300 22px/1 var(--serif);letter-spacing:0;color:var(--rosa)}
.agenda label{display:block;font:500 11px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.agenda label>input,.agenda label>select,.agenda label>textarea{margin-top:10px}
.agenda .opc{text-transform:none;letter-spacing:0;color:var(--gris-2)}
.agenda input,.agenda select,.agenda textarea{width:100%;font:400 15px var(--sans);color:var(--tinta);background:transparent;border:0;border-bottom:1px solid var(--linea-2);border-radius:0;padding:12px 0;outline:none;transition:border-color .4s;-webkit-appearance:none;appearance:none}
.agenda select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237d7175'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:20px;cursor:pointer}
.agenda input:focus,.agenda select:focus,.agenda textarea:focus{border-bottom-color:var(--tinta)}
.agenda textarea{resize:vertical}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.ayuda{margin:-4px 0 0;font-size:13px;color:var(--gris)}

/* cuenta */
.cuenta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--linea)}
.cuenta-txt{display:grid;gap:2px;font-size:13px;color:var(--gris)}
.cuenta-txt b{font:400 20px/1.2 var(--serif);color:var(--tinta)}
.cuenta-txt strong{font-weight:500;color:var(--rosa)}
.btn-google{display:inline-flex;align-items:center;gap:10px;flex:none;padding:11px 16px;border:1px solid var(--linea-2);background:#fff;font:500 13px var(--sans);color:var(--tinta);cursor:pointer;transition:border-color .3s}
.btn-google:hover{border-color:var(--tinta)}
.btn-google svg{width:16px;height:16px}
.btn-link{border:0;background:none;font:500 11px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gris);cursor:pointer;padding:0;flex:none;border-bottom:1px solid currentColor}

/* turnos */
.turnos{list-style:none;margin:-6px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--linea)}
.turnos:empty{display:none}
.turno{display:grid;grid-template-columns:34px 1fr minmax(150px,190px) 28px;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--linea);cursor:pointer;transition:background .3s}
.turno:hover{background:rgba(0,0,0,.015)}
.turno.activo{background:#fff;box-shadow:inset 2px 0 0 var(--rosa)}
.turno-n{font:italic 300 24px/1 var(--serif);color:var(--rosa);text-align:center}
.turno-info{display:grid;gap:2px;min-width:0}
.turno-info b{font:400 18px/1.2 var(--serif);color:var(--tinta);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.turno-info small{font-size:12px;color:var(--gris)}
.turno-info small em{font-style:normal;color:var(--tinta);font-weight:500}
.turno select{margin:0!important;padding:6px 18px 6px 0!important;font-size:13px!important}
.turno-x{border:0;background:transparent;width:28px;height:28px;color:var(--gris);font-size:18px;cursor:pointer;opacity:0;transition:opacity .3s}
.turno:hover .turno-x,.turno:focus-within .turno-x{opacity:1}
@media (hover:none){.turno-x{opacity:1}}

/* calendario */
.cal{padding:0}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.cal-head b{font:300 32px/1 var(--serif);color:var(--tinta);text-transform:capitalize}
.cal-nav{width:40px;height:40px;border:1px solid var(--linea-2);background:transparent;color:var(--tinta);font-size:15px;cursor:pointer;transition:border-color .3s}
.cal-nav:hover:not(:disabled){border-color:var(--tinta)}
.cal-nav:disabled{opacity:.25;cursor:default}
.cal-sem,.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal-sem span{font:500 10px var(--sans);letter-spacing:.2em;color:var(--gris-2);padding:6px 0 10px}
.cal-grid button{aspect-ratio:1;width:100%;max-width:46px;justify-self:center;border:1px solid transparent;border-radius:50%;background:transparent;font:400 18px var(--serif);color:var(--tinta);cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.cal-grid button:hover:not(:disabled){border-color:var(--linea-2)}
.cal-grid button:disabled{color:#cfc5bf;cursor:default}
.cal-grid button.hoy{border-color:var(--linea-2)}
.cal-grid button.sel{background:var(--tinta);color:var(--crema);border-color:var(--tinta)}

/* horas */
.horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;min-height:44px}
.horas-msg{grid-column:1/-1;margin:0;font-size:14px;color:var(--gris)}
.horas-para{grid-column:1/-1;margin:0 0 6px;font-size:12px;letter-spacing:.06em;color:var(--gris)}
.horas-para span{color:var(--rosa);font-weight:500}
.horas button{position:relative;border:1px solid var(--linea);background:transparent;padding:11px 0;font:400 14px var(--sans);color:var(--tinta);cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.horas button:hover:not(:disabled){border-color:var(--tinta)}
.horas button.mio{background:var(--tinta);color:var(--crema);border-color:var(--tinta)}
.horas button:disabled{color:#cfc5bf;text-decoration:line-through;cursor:default}
.horas button .marca{position:absolute;top:-8px;right:-6px;display:flex;gap:2px}
.horas button .marca i{font:italic 400 12px/18px var(--serif);width:18px;height:18px;border-radius:50%;background:var(--rosa);color:#fff;text-align:center}

.resumen{font-size:14px;color:var(--tinta-2);min-height:20px;border-top:1px solid var(--linea);padding-top:18px}
.resumen:empty{border:0;padding:0}
.resumen b{font-weight:500;color:var(--tinta)}
.resumen ol{margin:8px 0 0;padding-left:20px;color:var(--gris)}
.form-msg{margin:0;font-size:13px;min-height:18px}
.form-msg.ok{color:#4f7a5c}.form-msg.err{color:#a34a3a}
.legal{margin:0;font-size:12px;color:var(--gris-2)}
.agenda.enviado{display:block;text-align:center;padding:96px 32px}
.agenda.enviado h3{font-size:48px;margin-bottom:18px}
.agenda.enviado p{color:var(--gris);max-width:52ch;margin:0 auto 36px}

/* club */
.club{background:radial-gradient(60% 80% at 0% 100%,rgba(213,154,156,.5) 0%,rgba(213,154,156,0) 70%),var(--rosa-fondo);color:var(--tinta-2);padding:180px 0;overflow:hidden}
.club-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,140px);align-items:center}
.club h2{color:var(--tinta);margin-bottom:36px}
.club-txt>p:not(.sobre){max-width:44ch;margin:0 0 36px}
.club-lista{list-style:none;padding:0;margin:0 0 48px;border-top:1px solid rgba(42,22,30,.14)}
.club-lista li{padding:14px 0;border-bottom:1px solid rgba(42,22,30,.14);font-size:14px;letter-spacing:.04em}
.club-arte{position:relative}
.club-foto{width:78%;margin-left:auto;aspect-ratio:3/4;object-fit:cover}
.tarjeta-club{position:absolute;left:0;bottom:12%;width:min(340px,70%);aspect-ratio:1.586;padding:24px 26px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,var(--rosa-logo) 0%,var(--rosa-logo-2) 100%);border:1px solid rgba(255,255,255,.45);box-shadow:0 40px 80px rgba(120,60,70,.28);transform:rotate(-6deg)}
.tc-marca{font:300 28px/1 var(--serif);color:#fff;letter-spacing:.02em}
.tc-club{font:italic 300 18px var(--serif);color:#fff8ee}
.tc-pie{font:500 9px var(--sans);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.7)}

/* diario (instagram) */
.diario{padding:180px 0}
.ig-feed{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.ig-feed .instagram-media{min-width:0!important;width:100%!important;max-width:100%!important;margin:0!important;border:1px solid var(--linea)!important;border-radius:0!important;box-shadow:none!important}
.ig-feed blockquote.instagram-media{display:grid;place-items:center;min-height:200px;font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;background:var(--papel)}

/* sucursales */
.sucursales{padding:0 0 180px}
.suc-lista{list-style:none;padding:0;margin:0;border-top:1px solid var(--linea)}
.suc-lista a{display:grid;grid-template-columns:minmax(200px,1fr) 1.4fr auto;gap:24px;align-items:baseline;padding:30px 0;border-bottom:1px solid var(--linea);transition:padding-left .6s var(--lento)}
.suc-lista a:hover{padding-left:12px}
.suc-lista b{font:300 clamp(30px,3vw,44px)/1 var(--serif);color:var(--tinta)}
.suc-lista span{color:var(--gris);font-size:15px}
.suc-lista em{font-style:normal;font:500 10px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--rosa)}

/* reseñas */
.resenas{padding:160px 0;border-top:1px solid var(--linea)}
.resenas h2{margin-bottom:24px}
.resenas .lead{margin:0 auto 48px}
.resenas-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.resenas-links a{padding:14px 22px;border:1px solid var(--linea-2);font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;transition:background .4s,color .4s,border-color .4s}
.resenas-links a:hover{background:var(--tinta);color:var(--crema);border-color:var(--tinta)}

/* pie */
.footer{background:radial-gradient(50% 70% at 100% 0%,rgba(213,154,156,.5) 0%,rgba(213,154,156,0) 70%),var(--rosa-fondo);color:var(--gris);padding:120px 0 40px}
.foot-marca{font:300 clamp(80px,17vw,260px)/.8 var(--serif);color:var(--rosa-logo);margin:0 0 80px;letter-spacing:-.03em}
.foot-marca em{font-style:italic}
.foot-fila{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid rgba(42,22,30,.14);padding-top:28px;font-size:12px;letter-spacing:.06em}
.foot-fila nav{display:flex;gap:28px;flex-wrap:wrap}
.foot-fila a{color:var(--tinta-2);transition:color .3s}
.foot-fila a:hover{color:var(--rosa)}

/* whatsapp discreto */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:40;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--rosa-logo);color:#fff;border:1px solid rgba(255,255,255,.35);transition:transform .4s var(--lento)}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}

/* subpáginas */
.sub-hero{padding:200px 0 80px;border-bottom:1px solid var(--linea)}
.sub-hero h1{font-size:clamp(56px,8vw,120px);line-height:.95}
.sub-hero .lead{margin-top:32px}
.catalogo{padding:80px 0 160px}
.filtro{display:inline-flex;align-items:center;gap:14px;font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-bottom:64px}
.filtro select{font:400 15px var(--sans);letter-spacing:0;text-transform:none;border:0;border-bottom:1px solid var(--linea-2);background:transparent;padding:8px 20px 8px 0;color:var(--tinta)}
.cat-grupo{margin-bottom:96px}
.cat-grupo h2{font-size:clamp(36px,4vw,56px);margin-bottom:28px}
.cat-lista{display:grid;grid-template-columns:1fr 1fr;column-gap:80px}
.cat-item{display:flex;align-items:baseline;gap:12px;padding:18px 0;border-bottom:1px solid var(--linea);transition:padding-left .5s var(--lento)}
.cat-item:hover{padding-left:8px}
.cat-n{display:contents}
.cat-n{font:400 21px/1.2 var(--serif);color:var(--tinta)}
.cat-item::after{content:'';order:2;flex:1;border-bottom:1px dotted var(--linea-2);transform:translateY(-4px)}
.cat-n small{order:3;font:400 13px var(--sans);color:var(--gris);white-space:nowrap}
.cat-item>span:last-child{order:4;font:500 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--rosa);opacity:0;transition:opacity .4s}
.cat-item:hover>span:last-child{opacity:1}
.suc-detalle{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--linea);padding:72px 0;gap:72px;align-items:center}
.suc-detalle iframe{width:100%;aspect-ratio:4/3;border:0;filter:grayscale(1) contrast(.95)}
.suc-info h2{font-size:clamp(48px,5vw,72px)}
.suc-info p{color:var(--gris);margin:14px 0 0}
.horario{list-style:none;padding:0;margin:32px 0 40px;border-top:1px solid var(--linea)}
.horario li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--linea);font-size:14px}
.horario b{font-weight:400;color:var(--tinta)}
.suc-detalle .hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn-ghost{border:1px solid var(--linea-2);color:var(--tinta);background:transparent}
.btn-ghost:hover{border-color:var(--tinta)}

/* aparición lenta */
.revela{opacity:0;transform:translateY(28px);transition:opacity 1.2s var(--lento),transform 1.2s var(--lento)}
.revela.visto{opacity:1;transform:none}
img[data-foto]{background:var(--papel)}

/* responsive */
@media (max-width:1024px){
  .masonry{grid-template-columns:1fr 1fr}
  .ig-feed{grid-template-columns:1fr 1fr}
  .cat-lista{grid-template-columns:1fr}
}
@media (max-width:860px){
  .nav-izq,.nav-cuenta{display:none}
  .nav-in{grid-template-columns:auto 1fr auto}
  .logo{order:-1}
  .nav-der{gap:14px}
  .nav-reservar{padding:10px 14px}
  .burger{display:flex}
  .nav-movil{display:none;flex-direction:column;background:var(--crema);color:var(--tinta);padding:12px 24px 28px;border-bottom:1px solid var(--linea)}
  .nav.abierto{background:var(--crema);color:var(--tinta)}
  .nav.abierto .logo img{filter:none}
  .nav.abierto .nav-movil{display:flex}
  .nav-movil a{padding:16px 0;border-bottom:1px solid var(--linea);font:300 26px var(--serif)}
  .nav.abierto .burger span:first-child{transform:translateY(4px) rotate(45deg)}
  .nav.abierto .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .portada-txt{bottom:12vh}
  .portada-baja{display:none}
  .manifiesto,.servicios,.reservar,.club,.diario{padding:110px 0}
  .galeria,.sucursales{padding-bottom:110px}
  .resenas{padding:100px 0}
  .sec-head{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:44px}
  .serv-grid,.club-grid,.reservar-head{grid-template-columns:1fr;gap:48px}
  .serv-foto{position:static}
  .serv-foto img{aspect-ratio:4/3}
  .agenda{grid-template-columns:1fr}
  .agenda-cal{border-left:0;border-top:1px solid var(--linea)}
  .agenda-datos,.agenda-cal{padding:28px 22px}
  .cuenta{flex-direction:column;align-items:stretch}
  .btn-google{justify-content:center}
  .turno{grid-template-columns:30px 1fr 28px}
  .turno select{grid-column:2/4;grid-row:2}
  .suc-lista a{grid-template-columns:1fr;gap:6px}
  .ig-feed{grid-template-columns:1fr;max-width:480px;margin:0 auto}
  .masonry{grid-auto-rows:200px}
  .club-foto{width:85%}
  .suc-detalle{grid-template-columns:1fr;gap:36px;padding:56px 0}
  .sub-hero{padding:150px 0 56px}
}
@media (max-width:520px){
  .f2{grid-template-columns:1fr}
  .masonry{grid-template-columns:1fr;grid-auto-rows:320px}
  .masonry img.alta{grid-row:auto}
  .foot-fila{flex-direction:column;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .portada-img,.portada-baja span{animation:none}
  .revela{opacity:1;transform:none}
}

/* ==================================================================
   Movimiento y detalles
   ================================================================== */
/* preloader de marca (una vez por sesión) */
.pre{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--rosa-fondo);color:var(--rosa-logo);font:300 clamp(40px,8vw,96px)/1 var(--serif);letter-spacing:-.03em;transition:opacity .7s var(--lento),visibility .7s}
.pre span{opacity:0;animation:preIn .9s var(--lento) .1s forwards}
@keyframes preIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.pre.fuera{opacity:0;visibility:hidden}
body.cargando{overflow:hidden}

/* cursor en escritorio */
.cursor{display:none}
@media (hover:hover) and (pointer:fine){
  .cursor{display:block;position:fixed;left:0;top:0;z-index:99;width:10px;height:10px;border-radius:50%;background:var(--tinta);pointer-events:none;transform:translate(-50%,-50%);transition:width .35s var(--lento),height .35s var(--lento),background .35s,opacity .3s;mix-blend-mode:difference;background:#fff;opacity:0}
  body.cursor-on .cursor{opacity:1}
  .cursor.link{width:44px;height:44px;background:#fff}
  .cursor.ver{width:84px;height:84px;background:#fff}
  .cursor.ver::after{content:'ver';position:absolute;inset:0;display:grid;place-items:center;font:500 10px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:#000}
}

/* titular palabra por palabra */
.palabras span{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .04em 0 .02em;margin:0 -.04em 0 -.02em}
.palabras span>i{display:inline-block;font-style:inherit;transform:translateY(110%);animation:sube 1.1s var(--lento) calc(.9s + var(--d,0s)) forwards}
.palabras span:nth-child(2)>i{--d:.12s}.palabras span:nth-child(3)>i{--d:.24s}
@keyframes sube{to{transform:none}}
@keyframes pal{to{opacity:1;transform:none}}
.portada .sobre,.portada .btn,.portada-viva{opacity:0;animation:pal 1.2s var(--lento) forwards}
.portada .sobre{animation-delay:.7s}.portada-viva{animation-delay:1.5s}.portada .btn{animation-delay:1.7s}
.portada-viva{font:italic 300 20px/1.5 var(--serif);color:rgba(255,255,255,.8);margin:0 0 36px;min-height:30px}
.portada-viva b{font-weight:400;color:#fff}

/* parallax suave: la foto se mueve más lento que el scroll */
.serv-foto,.club-arte .club-foto,.masonry img{will-change:transform}

/* cambio de escena claro/oscuro */
body{transition:background-color .8s var(--lento)}
body.oscuro{background-color:var(--rosa-fondo)}
body.oscuro .nav.solida{background:rgba(243,226,226,.92);color:var(--tinta);border-bottom-color:rgba(42,22,30,.1)}

/* la carta: crossfade de la foto y el romano se desliza */
.serv-foto img.cambia{animation:cf .6s var(--lento)}
@keyframes cf{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.serv-items a:hover .n{transform:translateX(6px)}
.serv-items .n{transition:transform .5s var(--lento)}

/* galería: cortina que se abre */
.cortina img{clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--lento),filter .8s var(--lento)}
.cortina.visto img{clip-path:inset(0 0 0 0)}
.cortina.visto img:nth-child(2){transition-delay:.1s}.cortina.visto img:nth-child(3){transition-delay:.2s}
.cortina.visto img:nth-child(4){transition-delay:.3s}.cortina.visto img:nth-child(5){transition-delay:.4s}.cortina.visto img:nth-child(6){transition-delay:.5s}

/* horarios en cascada y pop del número de turno */
.horas button{animation:hora .45s var(--lento) both;animation-delay:calc(var(--i,0) * 22ms)}
@keyframes hora{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.horas button .marca i{animation:pop .4s var(--lento)}
@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.2)}100%{transform:scale(1)}}

/* club: contador */
.club-contador{font:300 clamp(28px,3vw,40px)/1.2 var(--serif);color:var(--tinta);margin:-12px 0 28px}
.club-contador b{font-weight:400;color:var(--rosa)}
.club-contador em{font-style:italic;color:var(--rosa)}

/* pie: la marca sube enmascarada */
.sube{display:block;overflow:hidden}
.sube>span{display:block;transform:translateY(105%);transition:transform 1.3s var(--lento)}
.visto .sube>span{transform:none}

/* barra fija de reserva (móvil) */
.barra-fija{display:none}
@media (max-width:860px){
  .barra-fija{position:fixed;left:0;right:0;bottom:0;z-index:45;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;background:var(--rosa-logo);color:#fff;transform:translateY(110%);transition:transform .5s var(--lento)}
  .barra-fija.visible{transform:none}
  .barra-fija[hidden]{display:none}
  .barra-fija span{font-size:13px;letter-spacing:.02em;color:rgba(255,255,255,.8);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .barra-fija button{flex:none;border:1px solid rgba(255,255,255,.6);background:transparent;color:#fff;font:500 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;padding:12px 18px;cursor:pointer}
  body.con-barra .wa-float{bottom:84px}
}
@media (prefers-reduced-motion:reduce){
  .pre{display:none}
  .portada-fotos picture.activa .portada-img{animation:none;transform:none}
  .palabras span>i,.portada .sobre,.portada .btn,.portada-viva{animation:none;opacity:1;transform:none}
  .cortina img{clip-path:none}
  .horas button{animation:none}
  .sube>span{transform:none}
  .serv-foto img.cambia{animation:none}
}

/* ==================================================================
   Más Obsession, menos grilla: formas suaves, sin líneas de tabla,
   sin negros ni grises (overrides)
   ================================================================== */
:root{--redondo:28px}
.btn,.nav-reservar,.btn-google,.resenas-links a,.cal-nav,.horas button,.barra-fija button{border-radius:999px}
.btn-oscuro,.btn-rose{background:var(--tinta);border-color:var(--tinta);color:#fff}
.btn-oscuro:hover,.btn-rose:hover{background:var(--rosa-logo);border-color:var(--rosa-logo);color:#fff}
.btn-ghost{border-color:var(--rosa-logo);color:var(--tinta)}
.btn-ghost:hover{background:var(--rosa-fondo);border-color:var(--rosa-logo)}
.nav.solida{border-bottom-color:transparent;box-shadow:0 10px 30px -20px rgba(160,80,100,.35)}
.portada{background:var(--rosa-logo)}
.portada-velo{background:linear-gradient(180deg,rgba(138,63,85,.28) 0%,rgba(138,63,85,.06) 40%,rgba(120,50,70,.5) 100%)}

/* fotos con forma: arco y esquinas suaves */
.serv-foto{border-radius:999px 999px var(--redondo) var(--redondo)}
.serv-foto img{border-radius:inherit}
.club-foto{border-radius:999px 999px var(--redondo) var(--redondo)}
.tarjeta-club{border-radius:18px}
.masonry{gap:20px}
.masonry img{border-radius:var(--redondo)}
.masonry:hover img{filter:none}
.ig-feed .instagram-media{border-radius:var(--redondo)!important;overflow:hidden}
.suc-detalle iframe{filter:saturate(.85) hue-rotate(-8deg);border-radius:var(--redondo)}

/* listas sin líneas de tabla */
.serv-items,.serv-items li,.suc-lista,.suc-lista a,.club-lista,.club-lista li,.horario,.horario li,.turnos,.turno,.cat-item,.suc-detalle,.sub-hero,.resenas,.foot-fila,.resumen{border-color:transparent}
.serv-items a{padding:22px 0}
.club-lista li{position:relative;padding:10px 0 10px 26px}
.club-lista li::before{content:'';position:absolute;left:4px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--rosa-logo)}
.suc-lista a{padding:22px 28px;margin-bottom:10px;border-radius:var(--redondo);background:var(--papel);transition:background .4s,padding-left .6s var(--lento)}
.suc-lista a:hover{background:var(--rosa-fondo)}
.horario li{padding:12px 18px;border-radius:14px}
.horario li:nth-child(odd){background:var(--papel)}
.cat-item{padding:16px 0}
.foot-fila{border-top:0}

/* reserva: tarjeta redonda en vez de cajas con borde */
.agenda{border:0;border-radius:36px;overflow:hidden;box-shadow:0 30px 80px -40px rgba(160,80,100,.45)}
.agenda-cal{border-left:0;background:linear-gradient(180deg,#fff 0%,var(--crema) 100%)}
.cuenta{border:0;border-radius:20px;background:var(--papel)}
.turno{border-radius:16px;margin-bottom:6px;background:var(--papel)}
.turno:hover{background:var(--rosa-fondo)}
.turno.activo{background:#fff;box-shadow:inset 0 0 0 1.5px var(--rosa-logo)}
.cal-grid button:disabled,.horas button:disabled{color:#e2c3c9}
.cal-grid button.sel,.horas button.mio{background:var(--tinta);border-color:var(--tinta);color:#fff}
.horas button{border-color:var(--linea-2)}
.agenda select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23b0647d'/%3E%3C/svg%3E")}
.resenas-links a{border-color:var(--rosa-logo)}
.resenas-links a:hover{background:var(--rosa-logo);border-color:var(--rosa-logo);color:#fff}

/* cursor: puntito rosa, sin mezcla que lo vuelva negro */
@media (hover:hover) and (pointer:fine){
  .cursor,.cursor.link,.cursor.ver{mix-blend-mode:normal;background:rgba(213,154,156,.55)}
  .cursor.ver::after{color:#fff}
}
@media (max-width:860px){
  .nav-movil a{border-bottom-color:transparent}
  .suc-lista a{padding:20px 22px}
}

/* galería: se llena sin huecos y cada foto se abre en el visor */
.masonry{grid-auto-flow:dense}
.masonry img{cursor:zoom-in}
.masonry img:focus-visible{outline:2px solid var(--rosa-logo);outline-offset:4px}
.visor{position:fixed;inset:0;z-index:120;display:grid;grid-template-columns:72px 1fr 72px;align-items:center;background:rgba(253,248,246,.97);backdrop-filter:blur(8px);animation:visorIn .45s var(--lento)}
.visor[hidden]{display:none}
@keyframes visorIn{from{opacity:0}to{opacity:1}}
.visor-fig{margin:0;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:40px 0;min-width:0}
.visor-fig img{max-width:100%;max-height:calc(100svh - 140px);object-fit:contain;border-radius:var(--redondo);box-shadow:0 40px 90px -40px rgba(160,80,100,.55);animation:visorFoto .5s var(--lento)}
@keyframes visorFoto{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}
.visor-fig figcaption{font:italic 300 22px/1.2 var(--serif);color:var(--tinta);text-align:center}
.visor-fig figcaption small{display:block;margin-top:6px;font:500 10px var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gris)}
.visor-nav,.visor-x{width:52px;height:52px;border-radius:50%;border:1px solid var(--rosa-logo);background:#fff;color:var(--tinta);font-size:20px;cursor:pointer;justify-self:center;transition:background .3s,color .3s}
.visor-nav:hover,.visor-x:hover{background:var(--rosa-logo);color:#fff}
.visor-x{position:absolute;top:20px;right:20px;font-size:26px;line-height:1}
body.con-visor{overflow:hidden}
@media (max-width:860px){
  .visor{grid-template-columns:1fr}
  .visor-fig{padding:70px 14px 96px}
  .visor-fig img{max-height:calc(100svh - 210px)}
  .visor-nav{position:absolute;bottom:22px}
  .visor-ant{left:calc(50% - 64px)}.visor-sig{right:calc(50% - 64px)}
}

/* carta completa: secciones como el catálogo impreso */
.cat-grupo{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(32px,6vw,90px);align-items:start}
.cat-grupo.sin-foto{grid-template-columns:1fr}
.cat-foto{position:sticky;top:120px;margin:0}
.cat-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--redondo) var(--redondo)}
.cat-cuerpo h2{margin-bottom:6px}
.cat-frase{margin:0 0 28px;font:italic 300 22px/1.3 var(--serif);color:var(--rosa)}
.cat-nota{display:block;font:400 12px var(--sans);color:var(--gris);margin-top:4px;letter-spacing:.02em}
.cat-n{display:block}
.cat-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;padding:16px 0}
.cat-item::after{display:none}
.cat-n small{display:inline;margin-left:10px}
.cat-item>span:last-child{opacity:1;padding:8px 14px;border-radius:999px;background:var(--papel);transition:background .3s,color .3s}
.cat-item:hover>span:last-child{background:var(--rosa-logo);color:#fff}
.cat-mant{grid-column:1/-1;font:500 11px var(--sans);letter-spacing:.06em;color:var(--tinta);margin-top:-4px}
.cat-mant a{color:var(--rosa);border-bottom:1px solid currentColor}
@media (max-width:860px){
  .cat-grupo{grid-template-columns:1fr}
  .cat-foto{position:static;max-width:260px}
}

/* carta: botón agregar y cesta */
.cat-item button[data-agregar]{font:500 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--tinta);background:var(--papel);border:1px solid transparent;border-radius:999px;padding:10px 16px;cursor:pointer;white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.cat-item button[data-agregar]:hover{border-color:var(--rosa-logo)}
.cat-item button.en-cesta{background:var(--tinta);color:#fff}
.cat-mant a.en-cesta{font-weight:600}
.cesta{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:60;width:min(760px,calc(100% - 32px));display:flex;align-items:center;gap:14px;padding:12px 12px 12px 26px;border-radius:999px;background:#fff;box-shadow:0 24px 60px -24px rgba(160,80,100,.55);animation:cestaIn .5s var(--lento)}
.cesta[hidden]{display:none}
@keyframes cestaIn{from{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%,0)}}
.cesta-txt{flex:1;min-width:0;display:grid;gap:2px}
.cesta-txt b{font:400 20px/1.1 var(--serif);color:var(--tinta)}
.cesta-txt span{font-size:12px;color:var(--gris);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cesta-vaciar{border:0;background:none;font:500 10px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gris);cursor:pointer}
.cesta .btn{padding:15px 26px;flex:none}
body.con-cesta .wa-float{bottom:100px}
body.con-cesta .catalogo{padding-bottom:200px}
@media (max-width:560px){
  .cesta{border-radius:24px;flex-wrap:wrap;padding:14px 16px}
  .cesta .btn{width:100%}
}
.cat-item>.cat-mant,.cat-item:hover>.cat-mant{background:none;padding:0;color:var(--gris);letter-spacing:.04em;text-transform:none;font:400 12px var(--sans)}
.cat-mant a{font-weight:500}
/* carta: el mantenimiento es una línea de texto, no un botón */
.cat-item>span.cat-mant,.cat-item:hover>span.cat-mant{grid-column:1/-1;opacity:1;padding:0;margin-top:-2px;background:none;border-radius:0;color:var(--gris);font:400 12px/1.4 var(--sans);letter-spacing:.02em;text-transform:none}
.cat-item>span.cat-mant a{color:var(--rosa);font-weight:500;border-bottom:1px solid currentColor}
.cat-item>span.cat-mant a.en-cesta{color:var(--tinta)}
.cat-item>.cat-n{align-self:center}
.catalogo+.reservar{margin-top:0}
.cat-lista{align-items:start}

/* galería: sin parallax ni zoom en cada foto, para que no se pisen */
.masonry img{transform:none!important}

/* móvil: menos aire entre secciones y galería en dos columnas */
@media (max-width:860px){
  .manifiesto,.servicios,.reservar,.club,.diario{padding:72px 0}
  .galeria,.sucursales{padding-bottom:72px}
  .resenas{padding:72px 0}
  .serv-grid,.club-grid,.reservar-head{gap:28px}
  .serv-lista h2{margin-bottom:28px}
  .serv-items a{padding:16px 0}
  .serv-items{margin-bottom:32px}
  .serv-foto img{aspect-ratio:1/1}
  .sec-head{margin-bottom:28px}
  .reservar-head{margin-bottom:36px}
  .masonry{grid-template-columns:1fr 1fr;grid-auto-rows:170px;gap:10px}
  .masonry img{border-radius:18px}
  .masonry img.alta{grid-row:span 2}
  .sub-hero{padding:130px 0 36px}
  .sub-hero .lead{margin-top:20px}
  .catalogo{padding:36px 0 96px}
  .filtro{margin-bottom:36px}
  .cat-grupo{margin-bottom:64px;gap:20px}
  .cat-foto{max-width:none}
  .cat-foto img{aspect-ratio:4/3;border-radius:200px 200px 22px 22px}
  .club-foto{width:100%}
  .suc-detalle{padding:40px 0;gap:24px}
  .footer{padding:72px 0 32px}
  .foot-marca{margin-bottom:40px}
}
@media (max-width:520px){
  .masonry{grid-template-columns:1fr 1fr;grid-auto-rows:150px}
  .masonry img.alta{grid-row:span 2}
}

/* fluidez: en celulares nada de desenfoques ni transiciones de fondo durante el scroll */
.serv-foto,.club-arte .club-foto{will-change:auto}
@media (max-width:860px),(hover:none){
  .nav.solida,body.oscuro .nav.solida{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(253,248,246,.98)}
  body.oscuro .nav.solida{background:rgba(243,226,226,.98)}
  .visor{backdrop-filter:none}
  body{transition:none}
  .revela{transition-duration:.8s}
}
/* fotos de la carta en celular: tarjeta redondeada (el arco ancho se veía raro) y las uñas arriba a la vista */
@media (max-width:860px){
  .serv-foto,.serv-foto img,.cat-foto img{border-radius:24px}
  .serv-foto img,.cat-foto img{aspect-ratio:1/1;object-position:center 30%}
}

/* ===== Club, replanteado: foto del grupo + tarjeta de socia encima ===== */
.club-grid{grid-template-columns:1.05fr .95fr;align-items:center}
.club-arte{position:relative;padding-bottom:40px}
.club-arte .club-foto{width:100%;margin:0;aspect-ratio:1/1;object-position:center 35%;border-radius:var(--redondo);transform:none!important}
.tarjeta-club{z-index:2;left:auto;right:-28px;bottom:0;width:min(330px,62%);transform:rotate(-5deg);padding:22px 24px;border-radius:20px;background:linear-gradient(135deg,#e2a9ab 0%,#c4868a 55%,#b0647d 100%);border:1px solid rgba(255,255,255,.5);box-shadow:0 30px 60px -20px rgba(138,63,85,.55);transition:transform .8s var(--lento)}
.club-arte:hover .tarjeta-club{transform:rotate(-2deg) translateY(-6px)}
.tarjeta-club::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.35) 48%,rgba(255,255,255,0) 62%);background-size:250% 100%;animation:brillo 5s var(--lento) infinite;pointer-events:none}
@keyframes brillo{0%,55%{background-position:120% 0}100%{background-position:-60% 0}}
.tc-top{display:flex;align-items:baseline;justify-content:space-between}
.tc-chip{width:38px;height:28px;border-radius:6px;background:linear-gradient(135deg,#f3dca0,#c9a24b);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.tc-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}
.tc-nombre{font:italic 300 20px/1 var(--serif);color:#fff}
.tc-pts{font:500 9px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.85);text-align:right}
.club-txt>p:not(.sobre){max-width:40ch}
.club-lista li{font-size:15px}
@media (max-width:860px){
  .club-grid{grid-template-columns:1fr}
  .club-arte{padding-bottom:28px}
  .tarjeta-club{right:-6px;width:min(260px,64%);padding:16px 18px}
  .tc-marca{font-size:22px}.tc-nombre{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.tarjeta-club::after{animation:none}}
.tc-nombre{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
@media (max-width:860px){
  .club-arte{padding-bottom:44px}
  .tarjeta-club{width:min(220px,58%);right:-4px;bottom:0;padding:14px 16px}
  .tc-marca{font-size:19px}.tc-club{font-size:15px}.tc-chip{width:30px;height:22px}.tc-nombre{font-size:15px}.tc-pts{font-size:8px;letter-spacing:.18em}
}
@media (max-width:860px){.tc-bottom{flex-direction:column;align-items:flex-start;gap:4px}.tc-pts{text-align:left}}

/* carta estática (para buscadores; el JS la reemplaza) y preguntas frecuentes */
.cat-seo{columns:2;column-gap:60px;margin:0 0 64px;padding:0;list-style:none}
.cat-seo li{padding:8px 0;font:400 19px/1.3 var(--serif);color:var(--tinta);break-inside:avoid}
.faq{padding:40px 0 140px}
.faq-lista{max-width:820px;margin-top:40px}
.faq details{border-radius:18px;background:var(--papel);margin-bottom:10px;padding:18px 24px}
.faq summary{cursor:pointer;font:400 21px/1.3 var(--serif);color:var(--tinta);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:var(--rosa);font-size:24px;line-height:1}
.faq details[open] summary::after{content:'–'}
.faq details p{margin:12px 0 0;color:var(--tinta-2);font-size:15px;line-height:1.65}
@media (max-width:860px){.cat-seo{columns:1}.faq{padding:20px 0 96px}}

/* reserva: total estimado */
.resumen-total{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 0;padding:14px 18px;border-radius:16px;background:var(--rosa-fondo)}
.resumen-total span{font:500 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.resumen-total b{font:400 26px/1 var(--serif);color:var(--tinta)}
.resumen-nota{margin:8px 2px 0;font-size:12px;color:var(--gris)}

/* Botón de WhatsApp flotante: píldora con texto en escritorio, círculo en el celular */
.wa-float{width:auto;min-width:52px;padding:0 15px;gap:9px;display:flex;align-items:center;justify-content:center;border-radius:28px;box-shadow:0 10px 26px -12px rgba(138,63,85,.55);text-decoration:none}
.wa-float svg{order:2;flex:none}
.wa-txt{font:600 13px 'Montserrat',sans-serif;color:#fff;white-space:nowrap}
@media (max-width:820px){.wa-float{padding:0;width:52px}.wa-txt{display:none}}

/* Adicionales de cada turno (3D, efectos, piedritas…): aparecen al elegir el servicio base */
.turno-extras{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 0 0 46px;margin-top:-4px}
.turno-extras.abierto{display:grid;gap:10px}
.extras-tit{margin:0;font:400 15px/1.2 var(--serif);color:var(--tinta)}
.extras-tit span{font:500 11px 'Montserrat',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-2);margin-left:6px}
.extras-chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-extra{white-space:nowrap;display:inline-flex;align-items:baseline;gap:6px;border:1.5px solid var(--rosa-fondo);background:#fff;color:var(--tinta);border-radius:999px;padding:7px 13px;font:500 12.5px 'Montserrat',sans-serif;cursor:pointer;transition:background .25s,border-color .25s}
.chip-extra small{font-size:11px;color:var(--gris)}
.chip-extra:hover{border-color:var(--rosa-logo)}
.chip-extra.on{background:var(--rosa-logo);border-color:var(--rosa-logo);color:#fff}
.chip-extra.on small{color:#fff}
.extras-ya{font-size:12.5px;color:var(--tinta-2)}
.extras-abrir{border:0;background:none;padding:0;font:600 12px 'Montserrat',sans-serif;color:var(--rosa);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:820px){.turno-extras{padding-left:0}.chip-extra{padding:7px 11px}}

/* La carta como un carrusel de Instagram: al tocar un servicio aparece el nombre
   arriba de la foto, flechas para pasar y el botón de reservar abajo */
.serv-foto{position:relative;top:auto}
@media (min-width:861px){.serv-carr{position:sticky;top:110px}}
.sf-cap,.sf-pie{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s var(--lento),opacity .4s var(--lento)}
.sf-in{min-height:0;overflow:hidden;display:flex;align-items:center;gap:12px}
.serv-carr.elegida .sf-cap,.serv-carr.elegida .sf-pie{grid-template-rows:1fr;opacity:1}
.sf-cap .sf-in{padding:0 0 14px}
.sf-n{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:italic 300 17px/1 var(--serif);color:var(--rosa);background:#fff;box-shadow:0 0 0 2px var(--rosa-logo)}
.sf-txt{display:grid;gap:2px;min-width:0}
.sf-txt b{font:400 clamp(22px,2.2vw,28px)/1.1 var(--serif);color:var(--tinta)}
.sf-txt small{font-size:12.5px;letter-spacing:.04em;color:var(--gris)}
.sf-pie .sf-in{padding:16px 0 0;justify-content:space-between}
.sf-btn{white-space:nowrap;background:var(--tinta);color:#fff;border-radius:999px;padding:14px 26px;font:600 12px 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;text-decoration:none}
.sf-btn:hover{background:var(--rosa)}
.sf-puntos{display:flex;gap:6px;padding-right:4px}
.sf-puntos i{width:6px;height:6px;border-radius:50%;background:var(--rosa-fondo);transition:background .3s,transform .3s}
.sf-puntos i.on{background:var(--rosa);transform:scale(1.25)}
.sf-flecha{position:absolute;z-index:2;top:50%;margin-top:-20px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(253,248,246,.85);color:var(--tinta);font:300 26px/1 var(--serif);display:grid;place-items:center;cursor:pointer;padding:0 0 3px;opacity:0;pointer-events:none;transition:opacity .4s var(--lento)}
.serv-carr.elegida .sf-flecha{opacity:1;pointer-events:auto}
.sf-flecha:hover{background:#fff}
.sf-prev{left:12px}.sf-next{right:12px}
.serv-items li.sel b,.serv-items li.sel .n{color:var(--rosa)}
.sf-cap .sf-in{padding-left:3px;padding-top:3px}
@media (min-width:861px){.serv-carr .serv-foto img{max-height:calc(100vh - 370px);min-height:320px}}

/* Carta: botón «Agregados» junto a «Reservar» y los agregados que se despliegan abajo */
.sf-pie .sf-in{display:grid;gap:12px;justify-content:stretch}
.sf-puntos{justify-content:center;padding:0}
.sf-acciones{display:flex;align-items:center;justify-content:space-between;gap:10px}
.sf-agr{border:1.5px solid var(--rosa-logo);background:#fff;color:var(--tinta);border-radius:999px;padding:12.5px 22px;font:600 12px 'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.sf-agr:hover,.sf-agr.con{background:var(--rosa-fondo)}
.sf-agr[hidden]{display:none}
.sf-extras{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--lento)}
.sf-extras-in{min-height:0;overflow:hidden;display:grid;gap:10px}
.serv-carr.agregando .sf-extras{grid-template-rows:1fr}
.serv-carr.agregando .sf-extras-in{padding:4px 2px 2px}
.sf-pie .sf-in{grid-template-columns:minmax(0,1fr)}
.sf-acciones>*{min-width:0}
@media (max-width:860px){
  .sf-agr{flex:none;padding:13px 16px;font-size:11px;letter-spacing:.08em}
  .sf-btn{flex:1;text-align:center;padding:14px 12px;font-size:11px;letter-spacing:.1em;overflow:hidden;text-overflow:ellipsis}
  .chip-extra{white-space:normal}
}

/* Botón de marca: rosa premium. Relleno con luz arriba que baja a un rosa más profundo,
   borde rosa con brillo nacarado en el centro y sombra rosada. */
:root{
  --relleno-rosa:radial-gradient(140% 170% at 50% -20%,#fff8f7 0%,#ffe4e6 34%,#ffc6cc 68%,#f6a9b4 100%);
  --borde-rosa:linear-gradient(135deg,#e07f92 0%,#f7b8c2 22%,#fff4f5 50%,#f7b8c2 78%,#d9708a 100%);
  --oro-brillo:linear-gradient(160deg,#9a6a1a 0%,#d9a940 30%,#f7e2a0 48%,#d4a23f 64%,#9e6c1c 100%)
}
.btn-oscuro,.btn-rose,.btn-claro,.sf-btn,.btn-ghost,.nav-reservar,.barra-fija button,
.btn-oscuro:hover,.btn-rose:hover,.btn-claro:hover,.sf-btn:hover,.btn-ghost:hover,.nav-reservar:hover,.barra-fija button:hover{background:var(--relleno-rosa) padding-box,var(--borde-rosa) border-box;border:1.5px solid transparent;color:var(--tinta)}
.btn-oscuro,.btn-rose,.btn-claro,.sf-btn,.btn-ghost,.nav-reservar,.barra-fija button{box-shadow:0 12px 26px -16px rgba(201,96,120,.75),inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(201,96,120,.18);transition:filter .3s,box-shadow .3s,transform .3s}
.btn-oscuro:hover,.btn-rose:hover,.btn-claro:hover,.sf-btn:hover,.btn-ghost:hover,.nav-reservar:hover,.barra-fija button:hover{filter:brightness(1.03) saturate(1.06);box-shadow:0 16px 32px -16px rgba(201,96,120,.9),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(201,96,120,.2);transform:translateY(-1px)}
.btn-oscuro:disabled,.btn-oscuro[disabled]{opacity:.7}
.sf-acciones{display:block}
.sf-btn{display:block;width:100%;text-align:center}
/* El número de la carta: aro dorado y número en oro brillante */
.sf-n{background:linear-gradient(#fff,#fff) padding-box,var(--oro-brillo) border-box;border:2.5px solid transparent;box-shadow:0 6px 16px -8px rgba(185,134,47,.6)}
.sf-n,.serv-items li.sel .n{background-clip:padding-box,border-box}
.sf-n{color:transparent}
.sf-n{position:relative}
.sf-n::after{content:attr(data-n);position:absolute;inset:0;display:grid;place-items:center;font:italic 500 18px/1 var(--serif);background:var(--oro-brillo);-webkit-background-clip:text;background-clip:text;color:transparent}
.serv-items li.sel .n{background:var(--oro-brillo);-webkit-background-clip:text;background-clip:text;color:transparent}
/* Flechas del carrusel con aro dorado */
.sf-flecha{background:linear-gradient(rgba(253,248,246,.9),rgba(253,248,246,.9)) padding-box,var(--borde-rosa) border-box;border:1.5px solid transparent}
/* La foto de la carta crece a 4:5 al elegir un servicio y suelta el arco */
.serv-carr .serv-foto img{transition:height .75s var(--lento),opacity .6s var(--lento),transform 1.2s var(--lento)}
.serv-carr .serv-foto{transition:border-radius .75s var(--lento)}
.serv-carr.elegida .serv-foto{border-radius:var(--redondo)}
.serv-carr.elegida .serv-foto img{max-height:none;aspect-ratio:auto}

:root{--oro-texto:linear-gradient(160deg,#7d5010 0%,#b8862a 40%,#e0b85e 55%,#9c6a18 100%)}
.sf-n::after{background-image:var(--oro-texto);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:600}
/* Medallas doradas: números en oro brillante dentro de un aro dorado (carta, pasos y turnos de la reserva) */
.serv-items .n,.paso b,.turno-n{position:relative;display:inline-grid;place-items:center;flex:none;border-radius:50%;font-style:italic;font-weight:600;letter-spacing:0;background-image:var(--oro-texto);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;text-align:center}
.serv-items .n::before,.paso b::before,.turno-n::before{content:"";position:absolute;inset:0;border-radius:50%;padding:2px;background:var(--oro-brillo);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);box-shadow:0 4px 12px -6px rgba(185,134,47,.6)}
.serv-items .n{width:40px;height:40px;font-size:15px;line-height:1;align-self:start;margin-top:-2px}
.serv-items li.sel .n{color:transparent}
.paso{align-items:center}
.paso b{width:36px;height:36px;font-size:14px;line-height:1}
.turno-n{width:32px;height:32px;font-size:14px;line-height:1;justify-self:center}

/* Líneas parejas: los títulos y la frase de «Nuestra idea» reparten el texto en renglones
   del mismo largo (sin una palabra sola abajo); los párrafos evitan dejar palabras huérfanas */
h1,h2,h3,.manifiesto-txt,.sf-txt b,.cat-frase,.lead{text-wrap:balance}
p,li,small{text-wrap:pretty}

/* Safari: el número dorado se pinta solo con el texto (no como un cuadrado) y la flecha conserva su aro al tocarla */
.sf-n::after,.serv-items .n,.paso b,.turno-n{-webkit-box-decoration-break:clone}
.serv-items li.sel .n{background-image:var(--oro-texto);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sf-flecha:hover,.sf-flecha:active,.sf-flecha:focus{background:linear-gradient(#fff,#fff) padding-box,var(--borde-rosa) border-box;border:1.5px solid transparent}
.agenda-tus{display:grid;gap:inherit}
.agenda-cal .agenda-tus{gap:22px;margin-top:6px}
.extras-abrir{justify-self:start}
.turno-extras:not(.abierto) .extras-abrir{border:1.5px solid var(--rosa-fondo);background:#fff;border-radius:999px;padding:7px 14px;text-decoration:none;font-size:12px}

/* Paso 01 «Tus datos»: Google primero, escribir a mano como opción */
.datos-manual{display:grid;gap:14px;margin-top:-6px}
.datos-manual .btn-link{justify-self:start}
.datos-ok{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;font-size:14px;color:var(--tinta);background:#fff;border:1.5px solid var(--rosa-fondo);border-radius:16px;padding:12px 16px}
.datos-ok:empty{display:none}
.notas{margin-top:4px}
/* Agregados del turno: el botón va a la derecha */
.turno-extras:not(.abierto){justify-content:flex-end}
.turno-extras:not(.abierto) .extras-ya{margin-right:auto}
.turno-extras.abierto .extras-listo{justify-self:end}
#datosCampos[hidden],#btnManual[hidden],#datosOk[hidden]{display:none!important}
.form-reserva.enviado .btn,.agenda.enviado .btn{margin-top:10px}.ok-wa{margin:6px 0 0}

/* Paso 01: formulario tipo suscripción y, abajo, el atajo con Google */
.datos-form{display:grid;gap:18px}
.datos-intro{margin:0;font-size:14px;line-height:1.55;color:var(--gris)}
.datos-intro b{color:var(--tinta);font-weight:600}
.datos-nota{display:block;margin-top:6px;font-size:11.5px;letter-spacing:.02em;text-transform:none;color:var(--gris-2)}
.datos-form + .cuenta{margin-top:4px}
.cuenta-txt b{font-size:17px}

/* Aviso corto (toast) arriba, debajo del menú */
.toast{position:fixed;left:50%;top:96px;z-index:120;max-width:min(92vw,440px);transform:translate(-50%,-14px);opacity:0;pointer-events:none;padding:13px 20px;border-radius:999px;text-align:center;font:600 13px/1.4 var(--sans);color:var(--tinta);background:radial-gradient(140% 170% at 50% -20%,#fff8f7 0%,#ffe4e6 40%,#ffd0d5 100%) padding-box,linear-gradient(135deg,#e07f92 0%,#f7b8c2 22%,#fff4f5 50%,#f7b8c2 78%,#d9708a 100%) border-box;border:1.5px solid transparent;box-shadow:0 18px 40px -18px rgba(160,70,95,.6);transition:opacity .35s var(--lento),transform .35s var(--lento)}
.toast.ver{opacity:1;transform:translate(-50%,0)}
.toast[data-tipo=info]{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#e07f92 0%,#f7b8c2 22%,#fff4f5 50%,#f7b8c2 78%,#d9708a 100%) border-box}
@media (max-width:860px){.toast{top:84px;border-radius:18px}}

/* Escritorio: letras un poco más grandes (la frase de la portada, menú, rótulos y textos chicos) */
@media (min-width:861px){
  body{font-size:17px}
  .portada-viva{font-size:clamp(25px,2vw,31px);margin-bottom:40px}
  .portada-viva b{font-weight:500}
  .sobre{font-size:13px}
  .nav-izq,.nav-der{font-size:12.5px}
  .lead{font-size:clamp(18px,1.4vw,21px)}
  .btn,.sf-btn{font-size:13px}
  .serv-items small{font-size:15px}
  .club-lista li{font-size:16.5px}
  .paso{font-size:12.5px}
  .turno-info small,.datos-nota{font-size:13px}
  label{font-size:12.5px}
  .horas button{font-size:15px}
  .resumen{font-size:15.5px}
}

/* Números dorados: color sólido con brillo (el degradado recortado al texto fallaba en algunos navegadores) */
.serv-items .n,.paso b,.turno-n,.serv-items li.sel .n,.sf-n::after{background:none!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:#a8761f!important;color:#a8761f!important;text-shadow:0 1px 0 rgba(255,243,210,.9),0 0 10px rgba(217,169,64,.3)}

/* Día y horario elegidos: marcado especial en dorado */
.cal-grid button.sel,.horas button.mio{background:linear-gradient(#fffaf0,#fff6e6) padding-box,var(--oro-brillo) border-box!important;border:2px solid transparent!important;color:#9a6a1a!important;font-weight:600;box-shadow:0 8px 20px -10px rgba(185,134,47,.75),0 0 0 4px rgba(243,214,143,.25)}
.horas button.mio .marca i{background:#c9973f;color:#fff}

/* Botones de marca: al pasar el mouse, un destello que recorre el relleno y brillitos */
.btn-oscuro,.btn-rose,.btn-claro,.sf-btn,.nav-reservar,.btn-ghost,.barra-fija button{position:relative;overflow:hidden;isolation:isolate}
.btn-oscuro::after,.btn-rose::after,.btn-claro::after,.sf-btn::after,.nav-reservar::after,.btn-ghost::after,.barra-fija button::after{content:"";position:absolute;inset:-2px;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.85) 45%,rgba(255,240,210,.6) 52%,transparent 70%);transform:translateX(-130%);transition:transform 0s}
.btn-oscuro::before,.btn-rose::before,.btn-claro::before,.sf-btn::before,.nav-reservar::before,.btn-ghost::before,.barra-fija button::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(circle at 18% 30%,#fff 0 1.8px,transparent 2.8px),radial-gradient(circle at 42% 72%,#fff3cf 0 1.5px,transparent 2.5px),radial-gradient(circle at 63% 26%,#fff 0 2px,transparent 3px),radial-gradient(circle at 82% 66%,#fff3cf 0 1.6px,transparent 2.6px),radial-gradient(circle at 92% 22%,#fff 0 1.3px,transparent 2.2px),radial-gradient(circle at 30% 80%,#fff 0 1.2px,transparent 2px),radial-gradient(circle at 54% 50%,#fff 0 1px,transparent 1.8px)}
@media (hover:hover){
  .btn-oscuro:hover::after,.btn-rose:hover::after,.btn-claro:hover::after,.sf-btn:hover::after,.nav-reservar:hover::after,.btn-ghost:hover::after,.barra-fija button:hover::after{transform:translateX(130%);transition:transform .9s cubic-bezier(.2,.7,.2,1)}
  .btn-oscuro:hover::before,.btn-rose:hover::before,.btn-claro:hover::before,.sf-btn:hover::before,.nav-reservar:hover::before,.btn-ghost:hover::before,.barra-fija button:hover::before{animation:titila 1.4s ease-in-out infinite}
}
@keyframes titila{0%,100%{opacity:0;transform:scale(.96)}40%{opacity:1;transform:scale(1)}70%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.btn-oscuro::after,.btn-rose::after,.btn-claro::after,.sf-btn::after,.nav-reservar::after,.btn-ghost::after,.barra-fija button::after,.btn-oscuro::before,.btn-rose::before,.btn-claro::before,.sf-btn::before,.nav-reservar::before,.btn-ghost::before,.barra-fija button::before{display:none}}
/* El aviso aparece en el centro de la pantalla */
.toast{top:50%;transform:translate(-50%,-50%) scale(.94);padding:16px 26px;font-size:14.5px;border-radius:999px}
.toast.ver{transform:translate(-50%,-50%) scale(1)}
@media (max-width:860px){.toast{top:50%;border-radius:20px}}
/* Celular: sin el botón Reservar del encabezado (ya está en la portada, la barra y cada sección) */
@media (max-width:860px){.nav-der .nav-reservar{display:none}}
/* Portada: un velo 15% más oscuro sobre la foto para que el texto resalte */
.portada-velo::after{content:"";position:absolute;inset:0;background:rgba(18,8,12,.15);pointer-events:none}
/* Celular: la frase de horarios libres de la portada más grande */
@media (max-width:860px){.portada-viva{font-size:24px;line-height:1.4;margin-bottom:30px}.portada-viva b{font-weight:500}}

/* Footer corporativo: marca, sucursales, horarios y contacto en columnas */
.foot-corp{padding:96px 0 32px;color:var(--tinta-2)}
.fc-grid{display:grid;grid-template-columns:1.3fr 1.2fr 1fr 1fr;gap:56px;align-items:start}
.fc-logo{height:52px;width:auto;display:block;margin:0 0 20px}
.fc-marca p{margin:0 0 26px;max-width:32ch;font-size:15px;line-height:1.7;color:var(--gris);width:auto}
.fc-marca .btn{padding:15px 28px}
.fc-col h4{margin:0 0 18px;font:600 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--tinta)}
.fc-h4b{margin-top:30px!important}
.fc-col ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.fc-suc a{display:grid;gap:2px;color:var(--tinta-2);transition:color .3s}
.fc-suc b{font:400 18px/1.2 var(--serif);color:var(--tinta)}
.fc-suc span{font-size:13.5px;color:var(--gris)}
.fc-suc a:hover b{color:var(--rosa)}
.fc-hor li{display:grid;gap:2px;font-size:13.5px;color:var(--gris)}
.fc-hor b{font-weight:500;color:var(--tinta);font-size:15px}
.fc-con a{font-size:15px;color:var(--tinta-2);cursor:pointer;transition:color .3s}
.fc-con a:hover{color:var(--rosa)}
.fc-legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:64px;padding-top:24px;border-top:1px solid rgba(138,63,85,.14);font-size:12.5px;color:var(--gris)}
@media (max-width:1080px){.fc-grid{grid-template-columns:1fr 1fr;gap:44px}}
@media (max-width:620px){.foot-corp{padding:64px 0 28px}.fc-grid{grid-template-columns:1fr;gap:36px}.fc-legal{flex-direction:column;margin-top:44px}}

/* Nuestra idea: brillitos de estrella como textura suave del fondo */
.manifiesto{position:relative;isolation:isolate}
.manifiesto::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='460' viewBox='0 0 500 460'%3E%3Cpath d='M60 52 C63.24 66.76 63.24 66.76 78 70 C63.24 73.24 63.24 73.24 60 88 C56.76 73.24 56.76 73.24 42 70 C56.76 66.76 56.76 66.76 60 52Z' fill='%23ffffff' fill-opacity='0.55'/%3E%3Cpath d='M250 31 C251.62 38.38 251.62 38.38 259 40 C251.62 41.62 251.62 41.62 250 49 C248.38 41.62 248.38 41.62 241 40 C248.38 38.38 248.38 38.38 250 31Z' fill='%23d9a940' fill-opacity='0.22'/%3E%3Cpath d='M380 136 C382.52 147.48 382.52 147.48 394 150 C382.52 152.52 382.52 152.52 380 164 C377.48 152.52 377.48 152.52 366 150 C377.48 147.48 377.48 147.48 380 136Z' fill='%23ffffff' fill-opacity='0.45'/%3E%3Cpath d='M150 223 C151.26 228.74 151.26 228.74 157 230 C151.26 231.26 151.26 231.26 150 237 C148.74 231.26 148.74 231.26 143 230 C148.74 228.74 148.74 228.74 150 223Z' fill='%23c97a8c' fill-opacity='0.25'/%3E%3Cpath d='M320 310 C323.6 326.4 323.6 326.4 340 330 C323.6 333.6 323.6 333.6 320 350 C316.4 333.6 316.4 333.6 300 330 C316.4 326.4 316.4 326.4 320 310Z' fill='%23ffffff' fill-opacity='0.38'/%3E%3Cpath d='M70 369 C71.98 378.02 71.98 378.02 81 380 C71.98 381.98 71.98 381.98 70 391 C68.02 381.98 68.02 381.98 59 380 C68.02 378.02 68.02 378.02 70 369Z' fill='%23d9a940' fill-opacity='0.2'/%3E%3Cpath d='M210 115 C210.9 119.1 210.9 119.1 215 120 C210.9 120.9 210.9 120.9 210 125 C209.1 120.9 209.1 120.9 205 120 C209.1 119.1 209.1 119.1 210 115Z' fill='%23ffffff' fill-opacity='0.6'/%3E%3Cpath d='M440 412 C441.44 418.56 441.44 418.56 448 420 C441.44 421.44 441.44 421.44 440 428 C438.56 421.44 438.56 421.44 432 420 C438.56 418.56 438.56 418.56 440 412Z' fill='%23c97a8c' fill-opacity='0.22'/%3E%3Cpath d='M470 34 C471.08 38.92 471.08 38.92 476 40 C471.08 41.08 471.08 41.08 470 46 C468.92 41.08 468.92 41.08 464 40 C468.92 38.92 468.92 38.92 470 34Z' fill='%23ffffff' fill-opacity='0.5'/%3E%3Cpath d='M30 245 C30.9 249.1 30.9 249.1 35 250 C30.9 250.9 30.9 250.9 30 255 C29.1 250.9 29.1 250.9 25 250 C29.1 249.1 29.1 249.1 30 245Z' fill='%23d9a940' fill-opacity='0.25'/%3E%3C/svg%3E");background-size:500px 460px;background-repeat:repeat;opacity:.9;-webkit-mask-image:radial-gradient(80% 85% at 50% 50%,#000 30%,rgba(0,0,0,.55) 100%);mask-image:radial-gradient(80% 85% at 50% 50%,#000 30%,rgba(0,0,0,.55) 100%);animation:brillos-respira 7s ease-in-out infinite}
@keyframes brillos-respira{0%,100%{opacity:.75}50%{opacity:1}}
@media (max-width:860px){.manifiesto::before{background-size:360px 331px}}
@media (prefers-reduced-motion:reduce){.manifiesto::before{animation:none}}

/* Nuestra idea: estrellitas que destellan (aparecen, giran un poco y se apagan) y textura que se mueve lento */
.brillos{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.brillo{position:absolute;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 0 C22 16 24 18 40 20 C24 22 22 24 20 40 C18 24 16 22 0 20 C16 18 18 16 20 0Z' fill='%23ffffff'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;filter:drop-shadow(0 0 6px rgba(255,255,255,.9));animation:destello var(--d) ease-in-out infinite;animation-delay:var(--t)}
.brillo.o{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 0 C22 16 24 18 40 20 C24 22 22 24 20 40 C18 24 16 22 0 20 C16 18 18 16 20 0Z' fill='%23e6c06a'/%3E%3C/svg%3E");filter:drop-shadow(0 0 6px rgba(230,192,106,.7))}
.brillo.r{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M20 0 C22 16 24 18 40 20 C24 22 22 24 20 40 C18 24 16 22 0 20 C16 18 18 16 20 0Z' fill='%23e9a3b2'/%3E%3C/svg%3E");filter:drop-shadow(0 0 5px rgba(233,163,178,.7))}
@keyframes destello{0%,100%{opacity:0;transform:scale(.2) rotate(0deg)}45%{opacity:.95;transform:scale(1) rotate(45deg)}60%{opacity:.7;transform:scale(.85) rotate(60deg)}}
.manifiesto::before{animation:brillos-respira 7s ease-in-out infinite,brillos-deriva 60s linear infinite}
@keyframes brillos-deriva{from{background-position:0 0}to{background-position:500px -460px}}
@media (prefers-reduced-motion:reduce){.brillo{animation:none;opacity:.5;transform:none}.manifiesto::before{animation:none}}

/* Club en escritorio: texto más cerca de la foto y título en dos líneas */
@media (min-width:861px){
  .club-grid{gap:clamp(40px,4.5vw,72px);grid-template-columns:1fr 1fr}
  .club .club-tit{font-size:clamp(40px,3.6vw,58px);line-height:1.05;margin-bottom:28px;text-wrap:balance}
  .club .club-tit em{display:block;white-space:nowrap}
  .club-txt>p:not(.sobre){max-width:46ch}
}
.club .club-tit em{display:block}
@media (max-width:860px){.club-txt .btn{white-space:nowrap;letter-spacing:.12em;font-size:11.5px;padding-left:16px;padding-right:16px}}
/* WhatsApp con código de país */
.tel-pais{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:end}
.tel-pais select{width:auto!important;min-width:96px;padding-right:22px!important}
.datos-nota.mal{color:#c0435a}

/* Club: los mismos brillitos de «Nuestra idea» */
.club{position:relative;isolation:isolate}
.club::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='460' viewBox='0 0 500 460'%3E%3Cpath d='M60 52 C63.24 66.76 63.24 66.76 78 70 C63.24 73.24 63.24 73.24 60 88 C56.76 73.24 56.76 73.24 42 70 C56.76 66.76 56.76 66.76 60 52Z' fill='%23ffffff' fill-opacity='0.55'/%3E%3Cpath d='M250 31 C251.62 38.38 251.62 38.38 259 40 C251.62 41.62 251.62 41.62 250 49 C248.38 41.62 248.38 41.62 241 40 C248.38 38.38 248.38 38.38 250 31Z' fill='%23d9a940' fill-opacity='0.22'/%3E%3Cpath d='M380 136 C382.52 147.48 382.52 147.48 394 150 C382.52 152.52 382.52 152.52 380 164 C377.48 152.52 377.48 152.52 366 150 C377.48 147.48 377.48 147.48 380 136Z' fill='%23ffffff' fill-opacity='0.45'/%3E%3Cpath d='M150 223 C151.26 228.74 151.26 228.74 157 230 C151.26 231.26 151.26 231.26 150 237 C148.74 231.26 148.74 231.26 143 230 C148.74 228.74 148.74 228.74 150 223Z' fill='%23c97a8c' fill-opacity='0.25'/%3E%3Cpath d='M320 310 C323.6 326.4 323.6 326.4 340 330 C323.6 333.6 323.6 333.6 320 350 C316.4 333.6 316.4 333.6 300 330 C316.4 326.4 316.4 326.4 320 310Z' fill='%23ffffff' fill-opacity='0.38'/%3E%3Cpath d='M70 369 C71.98 378.02 71.98 378.02 81 380 C71.98 381.98 71.98 381.98 70 391 C68.02 381.98 68.02 381.98 59 380 C68.02 378.02 68.02 378.02 70 369Z' fill='%23d9a940' fill-opacity='0.2'/%3E%3Cpath d='M210 115 C210.9 119.1 210.9 119.1 215 120 C210.9 120.9 210.9 120.9 210 125 C209.1 120.9 209.1 120.9 205 120 C209.1 119.1 209.1 119.1 210 115Z' fill='%23ffffff' fill-opacity='0.6'/%3E%3Cpath d='M440 412 C441.44 418.56 441.44 418.56 448 420 C441.44 421.44 441.44 421.44 440 428 C438.56 421.44 438.56 421.44 432 420 C438.56 418.56 438.56 418.56 440 412Z' fill='%23c97a8c' fill-opacity='0.22'/%3E%3Cpath d='M470 34 C471.08 38.92 471.08 38.92 476 40 C471.08 41.08 471.08 41.08 470 46 C468.92 41.08 468.92 41.08 464 40 C468.92 38.92 468.92 38.92 470 34Z' fill='%23ffffff' fill-opacity='0.5'/%3E%3Cpath d='M30 245 C30.9 249.1 30.9 249.1 35 250 C30.9 250.9 30.9 250.9 30 255 C29.1 250.9 29.1 250.9 25 250 C29.1 249.1 29.1 249.1 30 245Z' fill='%23d9a940' fill-opacity='0.25'/%3E%3C/svg%3E");background-size:500px 460px;background-repeat:repeat;opacity:.9;-webkit-mask-image:radial-gradient(80% 85% at 50% 50%,#000 30%,rgba(0,0,0,.55) 100%);mask-image:radial-gradient(80% 85% at 50% 50%,#000 30%,rgba(0,0,0,.55) 100%);animation:brillos-respira 7s ease-in-out infinite}
.club::before{animation:brillos-respira 7s ease-in-out infinite,brillos-deriva 60s linear infinite}
@media (max-width:860px){.club::before{background-size:360px 331px}}
@media (prefers-reduced-motion:reduce){.club::before{animation:none}}

/* Footer: los mismos brillitos */
.foot-corp{position:relative;isolation:isolate;overflow:hidden}
.foot-corp::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='460' viewBox='0 0 500 460'%3E%3Cpath d='M60 52 C63.24 66.76 63.24 66.76 78 70 C63.24 73.24 63.24 73.24 60 88 C56.76 73.24 56.76 73.24 42 70 C56.76 66.76 56.76 66.76 60 52Z' fill='%23ffffff' fill-opacity='0.55'/%3E%3Cpath d='M250 31 C251.62 38.38 251.62 38.38 259 40 C251.62 41.62 251.62 41.62 250 49 C248.38 41.62 248.38 41.62 241 40 C248.38 38.38 248.38 38.38 250 31Z' fill='%23d9a940' fill-opacity='0.22'/%3E%3Cpath d='M380 136 C382.52 147.48 382.52 147.48 394 150 C382.52 152.52 382.52 152.52 380 164 C377.48 152.52 377.48 152.52 366 150 C377.48 147.48 377.48 147.48 380 136Z' fill='%23ffffff' fill-opacity='0.45'/%3E%3Cpath d='M150 223 C151.26 228.74 151.26 228.74 157 230 C151.26 231.26 151.26 231.26 150 237 C148.74 231.26 148.74 231.26 143 230 C148.74 228.74 148.74 228.74 150 223Z' fill='%23c97a8c' fill-opacity='0.25'/%3E%3Cpath d='M320 310 C323.6 326.4 323.6 326.4 340 330 C323.6 333.6 323.6 333.6 320 350 C316.4 333.6 316.4 333.6 300 330 C316.4 326.4 316.4 326.4 320 310Z' fill='%23ffffff' fill-opacity='0.38'/%3E%3Cpath d='M70 369 C71.98 378.02 71.98 378.02 81 380 C71.98 381.98 71.98 381.98 70 391 C68.02 381.98 68.02 381.98 59 380 C68.02 378.02 68.02 378.02 70 369Z' fill='%23d9a940' fill-opacity='0.2'/%3E%3Cpath d='M210 115 C210.9 119.1 210.9 119.1 215 120 C210.9 120.9 210.9 120.9 210 125 C209.1 120.9 209.1 120.9 205 120 C209.1 119.1 209.1 119.1 210 115Z' fill='%23ffffff' fill-opacity='0.6'/%3E%3Cpath d='M440 412 C441.44 418.56 441.44 418.56 448 420 C441.44 421.44 441.44 421.44 440 428 C438.56 421.44 438.56 421.44 432 420 C438.56 418.56 438.56 418.56 440 412Z' fill='%23c97a8c' fill-opacity='0.22'/%3E%3Cpath d='M470 34 C471.08 38.92 471.08 38.92 476 40 C471.08 41.08 471.08 41.08 470 46 C468.92 41.08 468.92 41.08 464 40 C468.92 38.92 468.92 38.92 470 34Z' fill='%23ffffff' fill-opacity='0.5'/%3E%3Cpath d='M30 245 C30.9 249.1 30.9 249.1 35 250 C30.9 250.9 30.9 250.9 30 255 C29.1 250.9 29.1 250.9 25 250 C29.1 249.1 29.1 249.1 30 245Z' fill='%23d9a940' fill-opacity='0.25'/%3E%3C/svg%3E");background-size:500px 460px;background-repeat:repeat;opacity:.9;-webkit-mask-image:radial-gradient(80% 85% at 50% 50%,#000 30%,rgba(0,0,0,.55) 100%);mask-image:radial-gradient(80% 85% at 50% 50%,#000 30%,rgba(0,0,0,.55) 100%);animation:brillos-respira 7s ease-in-out infinite}
.foot-corp::before{animation:brillos-respira 7s ease-in-out infinite,brillos-deriva 60s linear infinite}
@media (max-width:860px){.foot-corp::before{background-size:360px 331px}}
@media (prefers-reduced-motion:reduce){.foot-corp::before{animation:none}}

/* Rendimiento: brillitos livianos
   - sin sombra con filtro (era lo más pesado de dibujar en cada cuadro)
   - la textura se desplaza con transform (lo mueve la placa de video, sin repintar)
   - todo se pausa cuando la sección no está en pantalla */
.brillo,.brillo.o,.brillo.r{filter:none!important;will-change:transform,opacity}
.manifiesto,.club,.foot-corp{overflow:hidden}
.manifiesto::before,.club::before,.foot-corp::before{inset:0 0 -460px -500px!important;will-change:transform,opacity;animation:brillos-respira 7s ease-in-out infinite,brillos-mueve 60s linear infinite!important;-webkit-mask-image:none!important;mask-image:none!important;opacity:.85}
@keyframes brillos-mueve{from{transform:translate3d(0,0,0)}to{transform:translate3d(500px,-460px,0)}}
.quieto::before,.quieto .brillo{animation-play-state:paused!important}
@media (max-width:860px){.manifiesto::before,.club::before,.foot-corp::before{inset:0 0 -331px -360px!important}@keyframes brillos-mueve{from{transform:translate3d(0,0,0)}to{transform:translate3d(360px,-331px,0)}}}
@media (prefers-reduced-motion:reduce){.manifiesto::before,.club::before,.foot-corp::before{animation:none!important}}

/* El trabajo habla: brillitos rosa y dorado sobre fondo blanco */
.galeria{position:relative;isolation:isolate;overflow:hidden}
.galeria::before{content:"";position:absolute;inset:0 0 -460px -500px;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='500' height='460' viewBox='0 0 500 460'%3E%3Cpath d='M60 54 C62.88 67.12 62.88 67.12 76 70 C62.88 72.88 62.88 72.88 60 86 C57.12 72.88 57.12 72.88 44 70 C57.12 67.12 57.12 67.12 60 54Z' fill='%23e3a4b3' fill-opacity='0.32'/%3E%3Cpath d='M250 31 C251.62 38.38 251.62 38.38 259 40 C251.62 41.62 251.62 41.62 250 49 C248.38 41.62 248.38 41.62 241 40 C248.38 38.38 248.38 38.38 250 31Z' fill='%23d9a940' fill-opacity='0.3'/%3E%3Cpath d='M380 137 C382.34 147.66 382.34 147.66 393 150 C382.34 152.34 382.34 152.34 380 163 C377.66 152.34 377.66 152.34 367 150 C377.66 147.66 377.66 147.66 380 137Z' fill='%23e3a4b3' fill-opacity='0.26'/%3E%3Cpath d='M150 223 C151.26 228.74 151.26 228.74 157 230 C151.26 231.26 151.26 231.26 150 237 C148.74 231.26 148.74 231.26 143 230 C148.74 228.74 148.74 228.74 150 223Z' fill='%23d9a940' fill-opacity='0.28'/%3E%3Cpath d='M320 312 C323.24 326.76 323.24 326.76 338 330 C323.24 333.24 323.24 333.24 320 348 C316.76 333.24 316.76 333.24 302 330 C316.76 326.76 316.76 326.76 320 312Z' fill='%23e9b9c4' fill-opacity='0.28'/%3E%3Cpath d='M70 370 C71.8 378.2 71.8 378.2 80 380 C71.8 381.8 71.8 381.8 70 390 C68.2 381.8 68.2 381.8 60 380 C68.2 378.2 68.2 378.2 70 370Z' fill='%23d9a940' fill-opacity='0.24'/%3E%3Cpath d='M210 115 C210.9 119.1 210.9 119.1 215 120 C210.9 120.9 210.9 120.9 210 125 C209.1 120.9 209.1 120.9 205 120 C209.1 119.1 209.1 119.1 210 115Z' fill='%23e3a4b3' fill-opacity='0.4'/%3E%3Cpath d='M440 412 C441.44 418.56 441.44 418.56 448 420 C441.44 421.44 441.44 421.44 440 428 C438.56 421.44 438.56 421.44 432 420 C438.56 418.56 438.56 418.56 440 412Z' fill='%23d9a940' fill-opacity='0.26'/%3E%3Cpath d='M470 34 C471.08 38.92 471.08 38.92 476 40 C471.08 41.08 471.08 41.08 470 46 C468.92 41.08 468.92 41.08 464 40 C468.92 38.92 468.92 38.92 470 34Z' fill='%23e3a4b3' fill-opacity='0.35'/%3E%3Cpath d='M30 245 C30.9 249.1 30.9 249.1 35 250 C30.9 250.9 30.9 250.9 30 255 C29.1 250.9 29.1 250.9 25 250 C29.1 249.1 29.1 249.1 30 245Z' fill='%23d9a940' fill-opacity='0.3'/%3E%3C/svg%3E");background-size:500px 460px;opacity:.85;will-change:transform,opacity;animation:brillos-respira 7s ease-in-out infinite,brillos-mueve 60s linear infinite}
@media (max-width:860px){.galeria::before{inset:0 0 -331px -360px;background-size:360px 331px}}
@media (prefers-reduced-motion:reduce){.galeria::before{animation:none}}

/* Botones en el rosa de la marca (#FFBDC1 del logo), con degradado premium y borde más fino */
:root{
  --relleno-rosa:radial-gradient(140% 170% at 50% -20%,#fff6f6 0%,#ffdfe1 32%,#ffbdc1 70%,#f9aab0 100%);
  --borde-rosa:linear-gradient(135deg,#f2a3aa 0%,#ffd3d6 25%,#fff6f6 50%,#ffd3d6 75%,#ee9aa2 100%)
}
.btn-oscuro,.btn-rose,.btn-claro,.sf-btn,.btn-ghost,.nav-reservar,.barra-fija button,
.btn-oscuro:hover,.btn-rose:hover,.btn-claro:hover,.sf-btn:hover,.btn-ghost:hover,.nav-reservar:hover,.barra-fija button:hover{border-width:1px!important}
.btn-oscuro,.btn-rose,.btn-claro,.sf-btn,.btn-ghost,.nav-reservar,.barra-fija button{box-shadow:0 10px 24px -16px rgba(240,140,150,.8),inset 0 1px 0 rgba(255,255,255,.9)}
.sf-flecha{border-width:1px!important}
.toast{border-width:1px}

/* ---- Reserva en dos pasos: botón → ventana ---- */
.reserva-cta{display:grid;justify-items:center;gap:26px;text-align:center;padding:56px 32px;background:var(--crema);border-radius:36px;box-shadow:0 30px 80px -40px rgba(160,80,100,.45)}
.reserva-pasos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;max-width:760px}
.reserva-pasos li{display:grid;justify-items:center;gap:10px;font:400 15px/1.4 var(--sans);color:var(--tinta-2)}
.reserva-pasos b{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--rosa-suave);color:var(--tinta);font:400 20px var(--serif)}
.reserva-abrir{min-width:min(100%,320px);border-radius:999px;padding:20px 44px}
.reserva-nota{margin:0;font-size:13px;color:var(--gris)}
.reserva-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px}
.reserva-modal[hidden]{display:none}
.reserva-fondo{position:absolute;inset:0;background:rgba(60,28,40,.45);backdrop-filter:blur(4px);opacity:0;transition:opacity .35s var(--lento)}
.reserva-hoja{position:relative;width:min(1080px,100%);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;background:var(--papel);border-radius:32px;box-shadow:0 40px 100px -30px rgba(80,30,50,.5);transform:translateY(24px);opacity:0;transition:transform .45s var(--lento),opacity .35s var(--lento)}
.reserva-modal.ver .reserva-fondo{opacity:1}
.reserva-modal.ver .reserva-hoja{transform:none;opacity:1}
.reserva-hoja-cab{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px 18px 32px;background:rgba(250,247,244,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.reserva-hoja-cab b{font:300 28px/1.1 var(--serif);color:var(--tinta)}
.reserva-x{width:44px;height:44px;border-radius:50%;border:1px solid var(--linea);background:#fff;color:var(--tinta);font:300 26px/1 var(--sans);cursor:pointer;display:grid;place-items:center}
.reserva-hoja .agenda{border-radius:0;box-shadow:none}
body.reserva-abierta{overflow:hidden}
body.reserva-abierta .wa-float,body.reserva-abierta .cesta{display:none}
@media (max-width:860px){
  .reserva-cta{padding:40px 22px;border-radius:28px}
  .reserva-pasos{grid-template-columns:1fr;gap:14px;max-width:360px}
  .reserva-pasos li{grid-template-columns:44px 1fr;justify-items:start;align-items:center;text-align:left}
  .reserva-abrir{width:100%}
  .reserva-modal{padding:0;place-items:end stretch}
  .reserva-hoja{width:100%;max-height:100dvh;height:100dvh;border-radius:0;transform:translateY(40px)}
  .reserva-hoja-cab{padding:14px 14px 14px 22px}
  .reserva-hoja-cab b{font-size:24px}
  body.reserva-abierta .barra-fija{z-index:95}
}

/* Factura opcional en la reserva */
.factura{display:grid;gap:14px;padding:16px 18px;border:1px solid var(--linea);border-radius:20px;background:rgba(255,255,255,.6)}
.agenda .factura-check{display:flex;align-items:center;gap:12px;cursor:pointer;text-transform:none;letter-spacing:0;font:500 15px var(--sans);color:var(--tinta);min-height:28px}
.agenda .factura-check input{width:22px;height:22px;flex:none;margin:0;padding:0;border:0;-webkit-appearance:auto;appearance:auto;accent-color:var(--tinta);cursor:pointer}
.factura-campos{display:grid;gap:14px}
.factura-campos[hidden]{display:none}

/* ===== Ventana de reserva: la hoja de pedido (3 pasos + ticket) ===== */
.reserva-hoja{width:min(1060px,100%);background:var(--crema)}
.reserva-hoja-cab{padding:16px 18px 16px 36px;gap:18px}
.reserva-hoja-tit{display:grid;gap:3px;min-width:0}
.reserva-hoja-tit b{font:300 30px/1.05 var(--serif)}
#reservaCabResumen{font:500 13px/1.3 var(--sans);color:var(--rosa);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#reservaCabResumen:empty{display:none}
.reserva-hoja .agenda{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:0;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
.reserva-hoja .agenda.enviado{display:block;padding:72px 32px}
.pedido-pasos{padding:34px 36px 44px 32px;display:grid;align-content:start}
.pedido-paso{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:18px;padding-bottom:44px}
.pedido-paso::before{content:'';position:absolute;left:22px;top:52px;bottom:8px;width:1px;background:var(--linea-2)}
.pedido-paso:last-child{padding-bottom:0}
.pedido-paso:last-child::before{display:none}
.pedido-paso-cab{display:contents}
.pedido-marca{grid-column:1;grid-row:1/3;align-self:start;width:44px;height:44px;border-radius:50%;border:1px solid var(--rosa-logo);background:var(--crema);display:grid;place-items:center;transition:background .4s,border-color .4s}
.pedido-marca i{font:italic 400 22px/1 var(--serif);color:var(--rosa);transition:opacity .3s}
.pedido-marca::after{content:'';position:absolute;width:10px;height:6px;border-left:1.8px solid #fff;border-bottom:1.8px solid #fff;transform:rotate(-45deg) translate(1px,-1px);opacity:0;transition:opacity .3s}
.pedido-paso.listo .pedido-marca{background:var(--tinta);border-color:var(--tinta);position:relative}
.pedido-paso.listo .pedido-marca i{opacity:0}
.pedido-paso.listo .pedido-marca::after{opacity:1}
.pedido-paso.actual .pedido-marca{background:var(--rosa-fondo);border-color:var(--rosa);box-shadow:0 0 0 5px rgba(176,100,125,.12)}
.pedido-paso-cab h3{grid-column:2;grid-row:1;align-self:center;font:400 27px/1.1 var(--serif);letter-spacing:-.01em;color:var(--tinta);min-height:44px;display:flex;align-items:center}
.pedido-paso-cab small{grid-column:2;grid-row:2;margin-top:2px;font:300 14px/1.5 var(--sans);color:var(--gris)}
.pedido-paso-cuerpo{grid-column:2;grid-row:3;display:grid;gap:22px;padding-top:20px;min-width:0}
.pedido-paso-cuerpo .cal{max-width:400px}
.pedido-paso-cuerpo .cal-head b{font-size:26px}
.pedido-paso-cuerpo .cal-grid button{max-width:44px;font-size:17px}
.pedido-paso-cuerpo .turnos{margin-top:-8px}
.pedido-paso .cuenta{margin:0}
.reserva-hoja .factura{border:0;border-radius:0;background:none;padding:18px 0 0;border-top:1px solid var(--linea);gap:16px}
.reserva-hoja .factura-check{display:grid;grid-template-columns:22px 1fr;column-gap:12px;align-items:center}
.reserva-hoja .factura-check small{grid-column:2;font:300 12.5px/1.4 var(--sans);color:var(--gris);text-transform:none;letter-spacing:0}
/* el ticket: se va llenando solo y lleva el único botón */
.pedido-ticket{position:sticky;top:84px;align-self:start;margin:34px 32px 44px 0;padding:24px 24px 22px;background:#fff;border-radius:24px;box-shadow:0 26px 60px -34px rgba(160,80,100,.5);display:grid;gap:16px}
.pedido-ticket::before{content:'';position:absolute;left:24px;right:24px;top:70px;border-top:1px dashed var(--linea-2)}
.pedido-ticket-cab{display:grid;gap:2px;padding-bottom:16px}
.pedido-ticket-cab span{font:400 24px/1.1 var(--serif);color:var(--tinta)}
.pedido-ticket-cab em{font:500 12.5px/1.4 var(--sans);font-style:normal;color:var(--rosa)}
.pedido-ticket .resumen{border:0;padding:0;margin-top:-4px;font-size:14px}
.pedido-ticket .resumen ol{padding-left:18px}
.pedido-ticket .resumen-total{margin-top:12px}
.pedido-ticket .btn{width:100%;padding:18px 20px}
.pedido-ticket .form-msg{margin:0}
.pedido-ticket .legal{margin:0;text-align:center;font-size:12px;color:var(--gris)}
@media (max-width:860px){
  .reserva-hoja-cab{padding:12px 12px 12px 20px}
  .reserva-hoja-tit b{font-size:24px}
  .reserva-hoja .agenda{grid-template-columns:1fr}
  .pedido-pasos{padding:22px 18px 6px 16px}
  .pedido-paso{grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding-bottom:36px}
  .pedido-paso::before{left:18px;top:44px}
  .pedido-marca{width:36px;height:36px}
  .pedido-marca i{font-size:19px}
  .pedido-paso-cab h3{font-size:24px;min-height:36px}
  .pedido-paso-cuerpo{padding-top:16px;gap:18px}
  .pedido-paso-cuerpo .cal{max-width:none}
  .pedido-ticket{position:static;margin:28px 16px 120px;padding:20px 18px}
  .pedido-ticket::before{top:64px;left:18px;right:18px}
}
@media (prefers-reduced-motion:reduce){
  .reserva-hoja,.reserva-fondo,.pedido-marca,.pedido-marca i,.pedido-marca::after{transition:none}
}
.pedido-ticket .resumen-total{display:grid;gap:2px;padding:12px 16px}
.pedido-ticket .resumen-total b{font-size:24px}
.pedido-marca{position:relative}
/* Guía paso a paso: tilde con un pequeño salto y desplazamiento con margen para la cabecera */
.pedido-paso,#horas{scroll-margin-top:92px}
@keyframes pedidoListo{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}
.pedido-paso.recien .pedido-marca{animation:pedidoListo .5s var(--lento)}
@media (prefers-reduced-motion:reduce){.pedido-paso.recien .pedido-marca{animation:none}}
