/* =========================================================
   AMADEO CAFÉ — "Cielo porteño"
   La página va del azul noche al celeste de la bandera argentina.
   Paleta: azul noche, celeste, cielo, crema y dulce de leche (de la marca),
   espresso para texto y el oro del Sol de Mayo solo en detalles.
   Tipos: Archivo expandido (Omnibus-Type, Argentina) para títulos,
   Lato (la del logo) para texto y Caveat para notas escritas a mano.
   ========================================================= */
:root{
  --noche:#13224B;
  --noche-2:#1C3364;
  --azul:#2E5C9A;
  --celeste:#74ACDF;
  --cielo:#DCEBF8;
  --crema:#F3E9E2;
  --crema-2:#FBF7F3;
  --dulce:#B87333;
  --dulce-d:#94591F;
  --espresso:#2B1E1A;
  --gris:#6F6F6F;
  --sol:#F2B33D;
  --ok:#3BB273;

  --f-display:"Archivo", "Arial Black", system-ui, sans-serif;
  --f-text:"Lato", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --f-hand:"Caveat", "Segoe Print", cursive;

  --step--1:clamp(.85rem,.82rem + .15vw,.93rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.08rem);
  --step-1:clamp(1.15rem,1.05rem + .45vw,1.4rem);
  --step-2:clamp(1.35rem,1.1rem + 1vw,1.9rem);
  --step-3:clamp(1.7rem,1.25rem + 2vw,2.9rem);
  --step-4:clamp(2.1rem,1.3rem + 3.6vw,4.4rem);

  --wrap:1180px;
  --gut:clamp(16px,4vw,40px);
  --r-s:10px; --r-m:18px; --r-l:28px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --shadow:0 18px 40px -20px rgba(19,34,75,.45);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--crema);color:var(--espresso);font:400 var(--step-0)/1.65 var(--f-text);overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:var(--dulce-d);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--espresso)}
:focus-visible{outline:3px solid var(--celeste);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--f-display);font-stretch:125%;font-weight:800;line-height:1.02;letter-spacing:-.01em;margin:0 0 .5em;text-transform:uppercase;text-wrap:balance;color:inherit}
h1{font-size:var(--step-4)}
h2{font-size:var(--step-3)}
h3{font-size:var(--step-1);line-height:1.15}
p{margin:0 0 1em;max-width:66ch}
.lead{font-size:var(--step-1);line-height:1.55;font-weight:300}
.wrap{width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto}
.narrow{max-width:760px}
.center{text-align:center}.center p,p.center{margin-inline:auto}p.center{max-width:none}
.i{width:1.15em;height:1.15em;flex:none}
.skip{position:absolute;left:-9999px;top:8px;background:var(--noche);color:#fff;padding:.6em 1em;z-index:100;border-radius:var(--r-s)}
.skip:focus{left:8px}
.hand{font-family:var(--f-hand);font-weight:600;font-size:1.45em;line-height:1;text-transform:none;letter-spacing:0}

/* ---------- Botones (píldoras, como MOMO) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.9em 1.5em;border-radius:999px;font:700 var(--step--1)/1 var(--f-text);letter-spacing:.01em;text-decoration:none;border:1.5px solid transparent;transition:transform .2s var(--ease),background-color .2s,color .2s,border-color .2s;cursor:pointer;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn-primary{background:var(--dulce);color:#fff}
.btn-primary:hover{background:var(--dulce-d);color:#fff}
.btn-noche{background:var(--noche);color:#fff}
.btn-noche:hover{background:var(--noche-2);color:#fff}
.btn-wa{background:#1F9D55;color:#fff}
.btn-wa:hover{background:#17803F;color:#fff}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:inherit}
.btn-line{border-color:var(--noche);color:var(--noche);background:transparent}
.btn-line:hover{background:var(--noche);color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.center .btn-row{justify-content:center}
.link-arrow{display:inline-flex;align-items:center;gap:.4em;font-weight:700;text-decoration:none;color:var(--dulce-d)}
.link-arrow .i{transition:transform .2s var(--ease)}
.link-arrow:hover .i{transform:translateX(4px)}

/* ---------- Detalles argentinos ---------- */
.franja{height:6px;background:linear-gradient(var(--celeste) 0 33.3%,#fff 0 66.6%,var(--celeste) 0)}
.sol{color:var(--sol)}
.sello{display:inline-flex;align-items:center;gap:.5rem;font:700 var(--step--1)/1 var(--f-text);letter-spacing:.02em}
.sello svg{width:22px;height:22px;color:var(--sol)}

/* ---------- Cabecera ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--noche);color:#fff;transition:background-color .3s,box-shadow .3s}
.hdr-overlay .site-header{position:fixed;inset:0 0 auto;background:transparent}
.hdr-overlay .site-header.is-scrolled,.site-header.nav-open{background:var(--noche);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:76px}
.brand{color:#fff;display:block}
.brand svg{width:132px;height:auto}
.nav{display:flex;align-items:center;gap:1.4rem}
.nav ul{display:flex;gap:1.15rem;list-style:none;margin:0;padding:0}
.nav ul a{color:rgba(255,255,255,.88);text-decoration:none;font-weight:400;font-size:.98rem;padding:.4em 0;border-bottom:2px solid transparent}
.nav ul a:hover{color:#fff}
.nav ul a[aria-current]{color:#fff;border-bottom-color:var(--celeste)}
.nav-cta{display:flex;gap:.6rem}
.nav-cta .btn{padding:.75em 1.15em}
.nav-cta .btn-ghost{color:#fff}
.nav-toggle{display:none;background:none;border:0;color:#fff;padding:.5rem;margin-right:-.5rem;cursor:pointer}
.nav-toggle .i{width:28px;height:28px}
.nt-close{display:none}
@media (max-width:1080px){
  .nav-toggle{display:block}
  .nav{position:fixed;inset:76px 0 0;background:var(--noche);flex-direction:column;align-items:stretch;padding:1.5rem var(--gut) 2rem;gap:1.5rem;transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--ease),visibility 0s .25s;overflow-y:auto}
  .nav-open .nav{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .25s var(--ease)}
  .nav ul{flex-direction:column;gap:0}
  .nav ul a{display:block;font:800 1.5rem/1.2 var(--f-display);font-stretch:125%;text-transform:uppercase;padding:.6em 0;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav ul a[aria-current]{border-bottom-color:rgba(255,255,255,.1);color:var(--celeste)}
  .nav-cta{flex-direction:column}
  .nav-cta .btn{padding:1.05em}
  .nav-open .nt-open{display:none}.nav-open .nt-close{display:block}
}

/* ---------- Cielo: degradado continuo noche → celeste ---------- */
.cielo{background:linear-gradient(180deg,var(--noche) 0%,var(--noche-2) 22%,var(--azul) 48%,var(--celeste) 78%,var(--cielo) 100%);color:#fff}

/* ---------- Portada ---------- */
.hero{position:relative;min-height:min(100svh,920px);display:grid;align-items:center;overflow:hidden;isolation:isolate;padding:calc(76px + 2rem) 0 0}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:end;min-height:calc(min(100svh,920px) - 76px - 2rem)}
.hero-copy{align-self:center;padding-bottom:3rem}
.hero-copy h1{max-width:11ch;margin-bottom:.4em}
.hero-copy h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}
.hero-copy h1 .ln>span{display:block;animation:rise .9s var(--ease) both}
.hero-copy h1 .ln:nth-child(2)>span{animation-delay:.1s}
.hero-copy h1 .ln:nth-child(3)>span{animation-delay:.2s}
.hero-copy .lead{color:rgba(255,255,255,.82);max-width:42ch;animation:fade .8s .45s both}
.hero-copy .btn-row{margin-top:1.8rem;animation:fade .8s .6s both}
.hero-copy .btn-ghost{color:#fff}
.status{display:inline-flex;align-items:center;gap:.5em;font-size:var(--step--1);background:rgba(255,255,255,.1);padding:.45em .95em;border-radius:999px;margin-bottom:1.5rem;animation:fade .6s both}
.status::before{content:"";width:.55em;height:.55em;border-radius:50%;background:#C9C3BC}
.status.is-open::before{background:#4ADE80;animation:ping 2s infinite}
.rating{display:inline-flex;align-items:center;gap:.5em;margin-top:1.6rem;color:#fff;text-decoration:none;font-size:var(--step--1);animation:fade .8s .75s both}
.rating .stars{display:inline-flex;color:var(--sol)}
.rating:hover{color:var(--cielo)}
.hero-art{position:relative;align-self:stretch;display:flex;justify-content:center;align-items:flex-end;min-height:420px}
.hero-sun{position:absolute;width:min(92%,520px);aspect-ratio:1;top:50%;left:50%;translate:-50% -58%;color:var(--sol);opacity:.95;animation:sun-in 1.4s .2s var(--ease) both}
.hero-sun svg{width:100%;height:100%;animation:spin 140s linear infinite}
.hero-cutout{position:relative;width:auto;height:min(78svh,700px);max-height:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.35));animation:hand-up 1.2s .35s var(--ease) both}
.hero-sticker{position:absolute;right:2%;top:20%;background:var(--crema);color:var(--noche);border-radius:50%;width:132px;height:132px;padding:0 .6rem;display:grid;place-content:center;text-align:center;rotate:10deg;box-shadow:var(--shadow);font:800 1.05rem/1 var(--f-display);font-stretch:125%;text-transform:uppercase;animation:pop .6s 1.2s var(--ease) both}
.hero-sticker small{display:block;font:600 .78rem/1.2 var(--f-text);text-transform:none;margin-top:.3rem;letter-spacing:0}
.hero-media{position:absolute;inset:0;z-index:-1}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,34,75,.55),rgba(19,34,75,.85))}
.hero--media .hero-grid{grid-template-columns:1fr;text-align:center;justify-items:center}
.hero--media .hero-copy h1,.hero--media .hero-copy .lead{margin-inline:auto}
.hero--media .btn-row{justify-content:center}
@media (max-width:860px){
  .hero{min-height:auto}
  .hero-grid{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding-bottom:0;text-align:center}
  .hero-copy h1,.hero-copy .lead{margin-inline:auto}
  .hero-copy .btn-row{justify-content:center}
  .hero-art{min-height:0;margin-top:1rem}
  .hero-cutout{height:min(62svh,520px)}
  .hero-sticker{width:104px;height:104px;font-size:.85rem;right:auto;left:4%;top:24%}
}

/* ---------- Secciones ---------- */
.sec{padding:clamp(4.5rem,9vw,8rem) 0}
.sec-tight{padding:clamp(3rem,6vw,5rem) 0}
.sec-crema{background:var(--crema)}
.sec-blanco{background:var(--crema-2)}
.sec-celeste{background:var(--cielo)}
.sec-dark{background:var(--noche);color:#E6ECF7}
.sec-dark h2,.sec-dark h3{color:#fff}
.sec-dark a:not(.btn){color:var(--celeste)}
.sec-head{margin-bottom:clamp(2rem,4vw,3.5rem)}
.sec-head.center{display:grid;justify-items:center;text-align:center}
.sec-head h2{margin-bottom:.35em}
.sec-head p{color:inherit;opacity:.85;max-width:52ch}
.sec-head .sol-mini{width:44px;height:44px;color:var(--sol);margin-bottom:1rem}

/* Historia (sobre el cielo) */
.historia{padding:clamp(4rem,8vw,7rem) 0 clamp(3rem,6vw,5rem);text-align:center}
.historia p{margin-inline:auto;color:rgba(255,255,255,.88);font-weight:300;font-size:var(--step-1);line-height:1.6;max-width:52ch}
.historia .personaje{width:min(220px,46vw);margin:2rem auto 0;color:#fff}

/* Polaroids */
.polaroids{display:flex;justify-content:center;gap:clamp(.8rem,2.5vw,2rem);flex-wrap:wrap;padding:1rem 0 clamp(3rem,6vw,5rem)}
.polaroid{margin:0;background:#fff;padding:12px 12px 14px;border-radius:6px;box-shadow:0 22px 40px -22px rgba(19,34,75,.6);width:min(250px,44vw);color:var(--noche);transition:transform .5s var(--ease),rotate .5s var(--ease)}
.polaroid:nth-child(1){rotate:-5deg}.polaroid:nth-child(2){rotate:3deg;margin-top:2rem}.polaroid:nth-child(3){rotate:-2deg}.polaroid:nth-child(4){rotate:5deg;margin-top:1.5rem}
.polaroid:hover{rotate:0deg;transform:translateY(-6px)}
.polaroid .ph{aspect-ratio:1;border-radius:3px;background:var(--cielo);display:grid;place-items:center;overflow:hidden}
.polaroid .ph img{width:86%;height:86%;object-fit:contain}
.polaroid .ph.cover img{width:100%;height:100%;object-fit:cover}
.polaroid figcaption{font-family:var(--f-hand);font-size:1.45rem;line-height:1;text-align:center;margin-top:.6rem}
.reveal{opacity:0;transform:translateY(40px)}
.reveal.is-in{opacity:1;transform:none;transition:opacity .8s var(--ease),transform .8s var(--ease)}

/* Favoritos */
.favs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(1rem,2.5vw,1.6rem)}
.fav{background:var(--crema-2);color:var(--espresso);border-radius:var(--r-l);padding:1.2rem 1.3rem 1.3rem;display:flex;flex-direction:column;position:relative;box-shadow:0 18px 36px -26px rgba(19,34,75,.55)}
.fav .ph{height:150px;display:grid;place-items:center;margin-bottom:.8rem}
.fav .ph img{max-height:150px;width:auto;max-width:92%;object-fit:contain;filter:drop-shadow(0 14px 14px rgba(43,30,26,.18));transition:transform .4s var(--ease)}
.fav:hover .ph img{transform:scale(1.05) rotate(-2deg)}
.fav h3{font-size:var(--step-1);margin-bottom:.3em;color:var(--noche)}
.fav p{font-size:var(--step--1);color:#5b4d47;margin-bottom:1rem}
.fav .buy{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.fav .price{font:800 1.35rem/1 var(--f-display);font-stretch:125%;color:var(--noche)}
.fav .badge{position:absolute;top:1rem;left:1rem;background:var(--celeste);color:var(--noche);font:700 .74rem/1 var(--f-text);padding:.4em .7em;border-radius:999px}
@media (max-width:900px) and (min-width:561px){.favs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.favs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:80%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1*var(--gut));padding:0 var(--gut) 1rem;scrollbar-width:none}.fav{scroll-snap-align:center}.fav .ph{height:130px}.fav .ph img{max-height:130px}}

/* Bloque dividido imagen/texto */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5.5rem);align-items:center}
.split.rev .split-media{order:2}
.split-media{position:relative}
.split-media img{width:100%;border-radius:var(--r-l)}
.split-media.cut img{border-radius:0;filter:drop-shadow(0 30px 30px rgba(43,30,26,.25))}
.split-media .tag{position:absolute;right:0;bottom:6%;background:#fff;border-radius:var(--r-m);padding:.9rem 1.1rem;box-shadow:var(--shadow);max-width:220px;font-size:var(--step--1);line-height:1.35;rotate:3deg}
.split-media .tag strong{display:block;font:800 1.3rem/1 var(--f-display);font-stretch:125%;color:var(--noche);margin-bottom:.25rem;text-transform:uppercase}
@media (max-width:860px){.split{grid-template-columns:1fr}.split.rev .split-media{order:0}}
.facts{list-style:none;padding:0;margin:1.4rem 0 2rem;display:grid;gap:.75rem}
.facts li{position:relative;padding-left:30px}
.facts li::before{content:"";position:absolute;left:0;top:.3em;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,var(--sol) 0 35%,transparent 36%),conic-gradient(from 0deg,var(--sol) 0 8%,transparent 0 17%,var(--sol) 0 25%,transparent 0 33%,var(--sol) 0 42%,transparent 0 50%,var(--sol) 0 58%,transparent 0 67%,var(--sol) 0 75%,transparent 0 83%,var(--sol) 0 92%,transparent 0)}
.cajas{display:flex;gap:1rem;flex-wrap:wrap;margin:0 0 1.6rem}
.caja{background:#fff;border-radius:var(--r-m);padding:.9rem 1.1rem;min-width:150px}
.caja b{display:block;font:800 1.3rem/1 var(--f-display);font-stretch:125%;color:var(--noche)}
.caja span{font-size:var(--step--1);color:#5b4d47}

/* Variedades / mini productos */
.minis{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.mini{display:flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.6);border-radius:999px;padding:.35rem 1rem .35rem .4rem;font-size:var(--step--1);font-weight:700;color:var(--noche)}
.mini img{width:44px;height:44px;object-fit:contain;border-radius:50%;background:#fff}

/* Mate */
.mate-fotos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;margin-top:1.5rem}
.mate-fotos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-s)}

/* Tienda */
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(1rem,2.5vw,1.6rem)}
.product{display:flex;flex-direction:column;background:var(--crema-2);border-radius:var(--r-l);padding:1.2rem 1.3rem 1.3rem}
.product img{width:100%;height:170px;object-fit:contain;margin-bottom:1rem}
.product .cat{font-size:var(--step--1);color:var(--dulce-d);font-weight:700;margin-bottom:.2rem}
.product h3{font-size:var(--step-1);margin-bottom:.35em;color:var(--noche)}
.product p{font-size:var(--step--1);color:#5b4d47}
.product .buy{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem}
.product .price{font:800 1.3rem/1 var(--f-display);font-stretch:125%;color:var(--noche)}
.sec-dark .product{background:rgba(255,255,255,.06);color:#E6ECF7}
.sec-dark .product h3{color:#fff}.sec-dark .product p{color:rgba(230,236,247,.8)}
.note{background:var(--cielo);border-radius:var(--r-m);padding:1.2rem 1.4rem;font-size:var(--step--1);color:var(--noche)}
.note p{margin:0 0 .4em;max-width:none}.note p:last-child{margin:0}

/* Lealtad: tarjeta de sellos (bandera con Sol de Mayo) */
.lealtad{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.tarjeta{background:var(--noche);color:#fff;border-radius:var(--r-l);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow);rotate:-2deg;max-width:440px;justify-self:center;width:100%}
.tarjeta .t-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}
.tarjeta .t-top svg{width:110px;color:#fff}
.tarjeta .t-top span{font-family:var(--f-hand);font-size:1.5rem;color:var(--celeste)}
.sellos{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin-bottom:.6rem}
.sellos i{aspect-ratio:1;border-radius:50%;background:linear-gradient(var(--celeste) 0 33%,#fff 0 66%,var(--celeste) 0);display:grid;place-items:center;font-style:normal}
.sellos i::after{content:"";width:34%;aspect-ratio:1;border-radius:50%;background:var(--sol)}
.sellos i.premio{background:var(--dulce);color:#fff;font:700 .6rem/1.05 var(--f-text);text-align:center;padding:.2rem}
.sellos i.premio::after{display:none}
@media (max-width:860px){.lealtad{grid-template-columns:1fr}}

/* Reseñas */
.reviews-head{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;flex-wrap:wrap;margin-bottom:2.5rem}
.reviews-head h2{margin:0}
.reviews-score{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--noche)}
.reviews-score .num{font:800 var(--step-3)/1 var(--f-display);font-stretch:125%}
.reviews-score .stars{display:flex;color:var(--sol)}
.reviews-score .stars .i{width:1.35em;height:1.35em}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,1.6rem)}
.review{margin:0;background:#fff;border-radius:var(--r-l);padding:1.5rem 1.6rem;position:relative}
.review::before{content:"“";position:absolute;top:.2rem;right:1.2rem;font:800 4rem/1 var(--f-display);color:var(--cielo)}
.review p{font-size:var(--step-0);line-height:1.55}
.review footer{font-size:var(--step--1);color:var(--gris)}
@media (max-width:860px){.reviews{grid-template-columns:1fr}}

/* Eventos */
.clients{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;padding:0;margin:1.5rem 0 2.2rem}
.clients li{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.35em .9em;font-size:var(--step--1)}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,3vw,2rem)}
.post-card a{text-decoration:none;color:inherit;display:block}
.post-card .pc-img{position:relative;background:var(--cielo);border-radius:var(--r-m);overflow:hidden;margin-bottom:1rem;aspect-ratio:16/10}
.post-card .pc-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.post-card .pc-img img.contain{inset:8%;width:84%;height:84%;object-fit:contain}
.post-card a:hover img{transform:scale(1.04)}
.post-card .meta{font-size:var(--step--1);color:var(--dulce-d);font-weight:700;margin-bottom:.3rem}
.post-card h3{font-size:var(--step-1);margin-bottom:.4em;color:var(--noche)}
.post-card p{font-size:var(--step--1);color:#5b4d47}
@media (max-width:900px){.posts{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.posts{grid-template-columns:1fr}}

/* FAQ */
.faq{border-top:1px solid rgba(19,34,75,.15)}
.faq details{border-bottom:1px solid rgba(19,34,75,.15)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.2rem 0;font-weight:700;font-size:var(--step-1);color:var(--noche)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.8rem/1 var(--f-text);color:var(--dulce);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .ans{padding:0 0 1.4rem;color:#5b4d47}
.faq .ans p{margin:0}

/* Visítanos: tarjeta de sucursal estilo MOMO */
.visit{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(1.5rem,4vw,3rem);align-items:stretch}
.visit-card{background:var(--crema-2);color:var(--espresso);border-radius:var(--r-l);padding:clamp(1.4rem,3vw,2.2rem);text-align:center;display:flex;flex-direction:column;align-items:center}
.visit-card h3{color:var(--noche);margin-bottom:.2rem}
.visit-card .zona{color:var(--gris);font-size:var(--step--1);margin-bottom:1.2rem}
.visit-card .btn{width:100%;max-width:280px;margin-bottom:.6rem}
.visit-card details{width:100%;max-width:280px;border:1.5px solid rgba(19,34,75,.25);border-radius:22px;margin-bottom:.6rem}
.visit-card summary{list-style:none;cursor:pointer;padding:.8em 1em;font-weight:700;font-size:var(--step--1);color:var(--noche)}
.visit-card summary::-webkit-details-marker{display:none}
.visit-card summary::after{content:" ▾"}
.hours{list-style:none;padding:0 1.2rem 1rem;margin:0;font-size:var(--step--1);text-align:left}
.hours li{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0}
.visit-card .tel{font-size:var(--step--1);margin-top:.4rem}
.map{position:relative;min-height:380px;border-radius:var(--r-l);overflow:hidden;background:var(--noche-2) url("/assets/img/mapa-fondo.svg") center/cover;display:grid;place-items:center;text-align:center;color:#fff}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:860px){.visit{grid-template-columns:1fr}.map{min-height:300px}}

/* ---------- Páginas interiores ---------- */
.page-hero{background:var(--noche);color:#E6ECF7;padding:clamp(3.5rem,8vw,6rem) 0 clamp(3rem,6vw,4.5rem);position:relative;overflow:hidden}
.page-hero::after{content:"";position:absolute;right:-120px;top:-140px;width:420px;height:420px;background:url("/assets/img/sol-de-mayo-oro.svg") center/contain no-repeat;opacity:.12;pointer-events:none}
.page-hero h1{color:#fff;font-size:var(--step-4);max-width:16ch}
.page-hero h1.long{font-size:var(--step-3);max-width:24ch}
.page-hero .lead{color:rgba(255,255,255,.82)}
.page-hero .btn-ghost{color:#fff}
.crumbs{font-size:var(--step--1);margin-bottom:1.5rem;color:rgba(255,255,255,.65)}
.crumbs ol{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:0}
.crumbs li+li::before{content:"/";margin-right:.4rem;opacity:.5}
.crumbs a{color:rgba(255,255,255,.85)}
.ph-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center;position:relative;z-index:1}
.ph-img{display:grid;place-items:center}
.ph-img img{max-height:380px;width:auto;object-fit:contain;filter:drop-shadow(0 30px 30px rgba(0,0,0,.35))}
.ph-img img.cover{width:100%;max-height:none;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-l);filter:none}
@media (max-width:860px){.ph-grid{grid-template-columns:1fr}.ph-img img{max-height:260px}}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem)}
@media (max-width:860px){.grid-2{grid-template-columns:1fr}}
.prose{font-size:var(--step-0)}
.prose h2{font-size:var(--step-2);margin-top:2em;color:var(--noche)}
.prose h3{font-size:var(--step-1);margin-top:1.6em;color:var(--noche);font-family:var(--f-text);font-stretch:100%;text-transform:none;letter-spacing:0;font-weight:900}
.prose ul,.prose ol{padding-left:1.2em;max-width:66ch}
.prose li{margin-bottom:.5em}
.prose img{border-radius:var(--r-m);margin:2rem auto;max-height:360px;width:auto;object-fit:contain}
.prose blockquote{margin:2rem 0;padding:1.2rem 1.4rem;border-radius:var(--r-m);background:#fff;font:700 var(--step-1)/1.4 var(--f-text);color:var(--noche)}
.prose table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:var(--step--1);background:#fff;border-radius:var(--r-m);overflow:hidden}
.prose th,.prose td{text-align:left;padding:.75rem .9rem;border-bottom:1px solid var(--crema)}
.prose th{color:#fff;background:var(--noche)}
.answer{background:var(--cielo);border-radius:var(--r-m);padding:1.3rem 1.5rem;margin:0 0 2rem;color:var(--noche)}
.answer p{margin:0}
.post-meta{font-size:var(--step--1);color:rgba(255,255,255,.7);margin-top:1rem}
.cta-box{background:var(--noche);color:#fff;border-radius:var(--r-l);padding:clamp(2rem,5vw,3.2rem);margin-top:3rem;position:relative;overflow:hidden}
.cta-box h2,.cta-box h3{color:#fff;margin-top:0}
.cta-box p{color:rgba(255,255,255,.85)}
.cta-box .btn-line{border-color:#fff;color:#fff}
.cta-box .btn-line:hover{background:#fff;color:var(--noche)}
.steps{counter-reset:s;list-style:none;padding:0!important}
.steps li{counter-increment:s;position:relative;padding-left:3rem;margin-bottom:1.2rem}
.steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--noche);color:#fff;display:grid;place-items:center;font:800 1rem/1 var(--f-display)}

/* Carta y precios */
.carta-nav{position:sticky;top:76px;z-index:30;background:var(--crema-2);border-bottom:1px solid rgba(19,34,75,.1)}
.carta-nav ul{display:flex;gap:.5rem;list-style:none;margin:0;padding:.7rem 0;overflow-x:auto;scrollbar-width:none}
.carta-nav a{display:block;white-space:nowrap;padding:.45em 1em;border-radius:999px;background:#fff;color:var(--noche);font-weight:700;font-size:var(--step--1);text-decoration:none}
.carta-nav a:hover{background:var(--noche);color:#fff}
.carta-leyenda{display:flex;align-items:center;gap:.4rem;font-size:var(--step--1);color:var(--gris);margin-bottom:2.5rem;max-width:none}
.carta-leyenda svg,.fav-sol svg{width:18px;height:18px;color:var(--sol);display:inline-block;vertical-align:-3px}
.carta-sec{display:grid;grid-template-columns:300px 1fr;gap:clamp(1.5rem,4vw,4rem);padding:2.5rem 0;border-top:1px solid rgba(19,34,75,.12);scroll-margin-top:140px}
.carta-head{align-self:start;position:sticky;top:150px}
.carta-head h2{font-size:var(--step-2);color:var(--noche)}
.carta-head p{font-size:var(--step--1);color:#5b4d47}
.carta-img{width:150px;height:150px;border-radius:50%;background:var(--cielo);overflow:hidden;display:grid;place-items:center;margin-bottom:1rem}
.carta-img img.contain{width:80%;height:80%;object-fit:contain}
.carta-img img.cover{width:100%;height:100%;object-fit:cover}
.carta-list{list-style:none;margin:0;padding:0;columns:2;column-gap:2.5rem}
.carta-list li{break-inside:avoid;padding:.55rem 0}
.ci-row{display:flex;align-items:baseline;gap:.5rem}
.ci-name{font-weight:700;color:var(--noche)}
.ci-dots{flex:1;border-bottom:2px dotted rgba(19,34,75,.25);transform:translateY(-4px);min-width:1rem}
.ci-price{font:800 1.05rem/1 var(--f-display);font-stretch:125%;color:var(--noche)}
.ci-desc{font-size:var(--step--1);color:#5b4d47;margin:.15rem 0 0}
@media (max-width:900px){.carta-sec{grid-template-columns:1fr}.carta-head{position:static;display:grid;grid-template-columns:auto 1fr;column-gap:1rem;align-items:center}.carta-img{width:84px;height:84px;margin:0;grid-row:span 2}.carta-head h2{margin:0}.carta-list{columns:1}}

/* ---------- Pie ---------- */
.site-footer{background:var(--noche);color:#C9D3E6;position:relative;padding:clamp(4rem,7vw,6rem) 0 2rem}
.site-footer .franja{position:absolute;top:0;left:0;right:0}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem}
.ft-brand .brand svg{width:150px;margin-bottom:1rem}
.ft-brand p{font-size:var(--step--1);max-width:34ch}
.ft-brand .personaje{width:90px;color:#fff;opacity:.9;margin-top:1.2rem}
.ft-h{font:800 var(--step--1)/1.2 var(--f-display);font-stretch:125%;text-transform:uppercase;color:var(--celeste);margin-bottom:1rem}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{color:var(--celeste)}
.site-footer address{font-style:normal;margin-bottom:1rem;font-size:var(--step--1)}
.ft-list,.ft-hours{list-style:none;padding:0;margin:0;font-size:var(--step--1);display:grid;gap:.45rem}
.ft-hours li{display:flex;justify-content:space-between;gap:1rem;max-width:240px}
.ft-legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(255,255,255,.1);margin-top:3rem;padding-top:1.5rem;font-size:.82rem;color:#93A1BE}
.ft-legal p{margin:0;max-width:none}
@media (max-width:900px){.ft-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ft-grid{grid-template-columns:1fr}}

.wa-float{position:fixed;right:18px;bottom:18px;z-index:40;width:58px;height:58px;border-radius:50%;background:#1F9D55;color:#fff;display:grid;place-items:center;box-shadow:0 10px 28px -8px rgba(0,0,0,.45);transition:transform .2s var(--ease)}
.wa-float .i{width:30px;height:30px}
.wa-float:hover{transform:scale(1.07);color:#fff}

/* ---------- Animaciones ---------- */
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes hand-up{from{transform:translateY(25%);opacity:0}to{transform:none;opacity:1}}
@keyframes sun-in{from{opacity:0;scale:.7}to{opacity:.95;scale:1}}
@keyframes pop{from{opacity:0;scale:.6}to{opacity:1;scale:1}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}70%,100%{box-shadow:0 0 0 10px rgba(74,222,128,0)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ---------- Ajustes para celular ---------- */
@media (max-width:860px){
  .split-media.cut{display:flex;justify-content:center}
  .split-media.cut img{width:auto;max-width:100%;max-height:340px;object-fit:contain}
  .split-media .tag{right:2%;bottom:2%;max-width:200px}
}
@media (max-width:560px){
  .link-arrow,.rating{min-height:44px;display:inline-flex;align-items:center}
  .btn-row{gap:.4rem 1rem}
  .fav .badge{font-size:.8rem}
  .sellos{gap:.45rem}
  .sellos i.premio{font-size:.74rem;line-height:1}
  .facts li{font-size:1rem}
  .nav ul a{padding:.7em 0}
  input,select,textarea{font-size:16px}
}
@media (max-width:600px){
  .posts-slide{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1*var(--gut));padding:0 var(--gut) 1rem;scrollbar-width:none}
  .posts-slide>*{scroll-snap-align:center}
  .posts-slide::-webkit-scrollbar,.favs::-webkit-scrollbar{display:none}
  .review{padding-top:2.6rem}
  .review::before{top:.1rem;right:1rem;font-size:3.4rem}
  .sec-dark .split-media img{max-height:300px;object-fit:cover}
}
@media (max-width:560px){
  .product{display:grid;grid-template-columns:96px 1fr;column-gap:1rem;padding:1rem}
  .product img{grid-row:span 3;width:96px;height:96px;margin:0;align-self:start}
  .product h3{font-size:1.05rem}
  .product .buy{grid-column:2;padding-top:.7rem}
  .product .price{font-size:1.1rem}
}
.product .price,.fav .price{white-space:nowrap}
@media (max-width:560px){.product .buy{gap:.6rem}.product .buy .btn{padding:.75em 1em}}
.fig-cut{margin:2rem auto;max-width:420px}
.fig-cut img{width:100%;height:auto;filter:drop-shadow(0 18px 22px rgba(43,30,26,.18))}
.status-tag::before{display:none}
.status-tag svg{width:18px;height:18px;color:var(--sol)}
img,video{-webkit-user-drag:none;user-select:none;-webkit-touch-callout:none}
