/* ROOT · Snacks de Raíz — estilo */
@font-face{font-family:"Poppins";src:url("/assets/fuentes/poppins-regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/fuentes/poppins-medium.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Poppins";src:url("/assets/fuentes/poppins-bold.ttf") format("truetype");font-weight:700;font-display:swap}

:root{
  --rojo:#D7302D; --rojo-osc:#B3243B; --crema:#FBF4E8; --crema-2:#F3E8D6; --verde:#3F6B3A; --verde-claro:#9BBF4B; --cafe:#8A7355; --tinta:#2A1F1A;
  --wa:#25D366; --radio:22px; --sombra:0 18px 40px -18px rgba(42,31,26,.35);
  --fuente:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fuente);color:var(--tinta);background:var(--crema);line-height:1.55;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0}
h1{font-size:clamp(2.9rem,7.2vw,5.6rem)}
h2{font-size:clamp(2rem,4.2vw,3.2rem)}
h2 em,h1 em{font-style:normal;color:var(--rojo);position:relative;white-space:nowrap}
h2 em::after,h1 em::after{content:"";position:absolute;left:0;right:0;bottom:-.08em;height:.14em;background:currentColor;border-radius:9px;opacity:.35;transform:skewX(-12deg)}
.hero h1 em{color:#FFD36E}
.kicker{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--verde);margin:0 0 .8rem}
.sub{max-width:52ch;margin:.9rem auto 0;color:#5b4d43}
.fino{font-size:.8rem;color:#7a6a5e}
.saltar{position:absolute;left:-999px;top:8px;background:var(--rojo);color:#fff;padding:.6rem 1rem;border-radius:9px;z-index:100}
.saltar:focus{left:8px}
:focus-visible{outline:3px solid var(--verde-claro);outline-offset:3px}

.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;padding:.95rem 1.6rem;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;font-family:inherit;font-size:1rem;transition:transform .18s,box-shadow .18s,background .18s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(0,0,0,.5)}
.btn:active{transform:translateY(0)}
.btn-crema{background:var(--crema);color:var(--rojo)}
.btn-linea{background:transparent;color:var(--crema);border-color:rgba(255,255,255,.7)}
.btn-rojo{background:var(--rojo);color:#fff}
.btn-linea-rojo{background:transparent;color:var(--rojo);border-color:var(--rojo)}
.btn-wa{background:var(--wa);color:#063;justify-content:center;width:100%;color:#0b3d1f}

/* ── cabecera ── */
.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem clamp(1rem,4vw,3rem);background:rgba(251,244,232,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(42,31,26,.08)}
.marca{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-weight:700;font-size:1.5rem;letter-spacing:.04em;color:var(--verde)}
.marca img{width:34px;height:auto}
.nav{display:flex;gap:1.6rem}
.nav a{text-decoration:none;font-weight:500;font-size:.95rem;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--rojo);transition:right .2s}
.nav a:hover::after{right:0}
.carrito-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:0;background:var(--rojo);color:#fff;cursor:pointer;transition:transform .15s}
.carrito-btn:hover{transform:scale(1.06)}
.carrito-btn.pum{animation:pum .45s}
@keyframes pum{30%{transform:scale(1.25) rotate(-8deg)}60%{transform:scale(.95) rotate(5deg)}}
.carrito-n{position:absolute;top:-4px;right:-4px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:var(--verde-claro);color:var(--tinta);font-size:.72rem;font-weight:700;display:grid;place-items:center;border:2px solid var(--crema)}

/* ── hero ── */
.hero{position:relative;overflow:hidden;background:var(--rojo);color:var(--crema);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:2rem;padding:clamp(3rem,7vw,6rem) clamp(1rem,5vw,4rem) clamp(3.5rem,8vw,6rem);min-height:min(88vh,860px)}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse at 20% 10%,rgba(255,255,255,.14),transparent 45%),
  radial-gradient(ellipse at 90% 90%,rgba(0,0,0,.18),transparent 50%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath d='M20 60c10-25 30-25 40 0s30 25 40 0' fill='none' stroke='%23fff' stroke-width='9' stroke-linecap='round'/%3E%3C/svg%3E");background-size:120px;pointer-events:none;animation:deriva 40s linear infinite}
@keyframes deriva{to{background-position:240px 120px}}
.hero-texto{position:relative;z-index:2}
.hero .kicker{color:#FFD36E}
.lead{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:46ch;margin:1.2rem 0 1.8rem;opacity:.95}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem}
.hero-sellos{list-style:none;padding:0;margin:2rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem}
.hero-sellos li{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);padding:.4rem .9rem;border-radius:999px;font-size:.85rem;font-weight:500}
.hero-visual{position:relative;z-index:1;height:clamp(420px,52vw,640px)}
.bolsa{position:absolute;border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.55);border:6px solid rgba(255,255,255,.85);background:#fff;will-change:transform}
.bolsa img{width:100%;height:100%;object-fit:cover}
.b1{width:48%;aspect-ratio:4/5;left:24%;top:4%;z-index:3;animation:flota 7s ease-in-out infinite;transform:rotate(-3deg)}
.b2{width:36%;aspect-ratio:4/5;left:0;top:30%;z-index:2;animation:flota 9s ease-in-out infinite 1.2s;transform:rotate(6deg)}
.b3{width:32%;aspect-ratio:4/5;right:0;top:36%;z-index:4;animation:flota 8s ease-in-out infinite .6s;transform:rotate(-8deg)}
.b1 img{object-position:center 40%}
.b2 img{object-position:center 45%}
.b3 img{object-position:center 50%}
@keyframes flota{0%,100%{translate:0 0}50%{translate:0 -14px}}
.hero-iso{position:absolute;right:8%;top:0;width:90px;opacity:.9;animation:gira 14s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* ── ticker ── */
.ticker{overflow:hidden;background:var(--verde);color:var(--crema);padding:.75rem 0;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.9rem;border-top:3px solid #FFD36E}
.ticker-pista{display:flex;gap:1.4rem;width:max-content;animation:correr 38s linear infinite}
.ticker-pista i{font-style:normal}
@keyframes correr{to{transform:translateX(-50%)}}

/* ── secciones ── */
main{display:block}
section{scroll-margin-top:78px}
.sec-cab{text-align:center;max-width:760px;margin:0 auto 2.2rem}
.tienda{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem)}
.filtros{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin:0 0 1rem}
.filtro{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.1rem;border-radius:999px;border:2px solid var(--crema-2);background:#fff;font-family:inherit;font-weight:700;font-size:.92rem;cursor:pointer;transition:all .18s;color:var(--tinta)}
.filtro:hover{border-color:var(--rojo);transform:translateY(-2px)}
.filtro.activo{background:var(--rojo);border-color:var(--rojo);color:#fff}
.filtro small{font-weight:500;opacity:.75}
.pica-filtro{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:2rem;font-size:.85rem;color:#5b4d43}
.pica-btn{border:1px solid rgba(42,31,26,.18);background:transparent;padding:.35rem .8rem;border-radius:999px;font-family:inherit;font-size:.82rem;cursor:pointer;color:inherit}
.pica-btn.activo{background:var(--tinta);color:var(--crema);border-color:var(--tinta)}

.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:1.3rem}
.tarjeta{background:#fff;border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;opacity:0;translate:0 18px;animation:aparece .5s forwards}
.tarjeta:nth-child(2n){animation-delay:.06s}.tarjeta:nth-child(3n){animation-delay:.12s}.tarjeta:nth-child(4n){animation-delay:.18s}
@keyframes aparece{to{opacity:1;translate:0 0}}
.tarjeta:hover{transform:translateY(-6px);box-shadow:0 28px 50px -22px rgba(42,31,26,.45)}
.tarjeta-img{position:relative;aspect-ratio:1;background:var(--c,var(--crema-2));overflow:hidden}
.tarjeta-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.tarjeta:hover .tarjeta-img img{transform:scale(1.06)}
.tarjeta-emoji{width:100%;height:100%;display:grid;place-items:center;font-size:5.5rem;background:linear-gradient(145deg,color-mix(in srgb,var(--c) 70%,#fff),var(--c));filter:drop-shadow(0 10px 14px rgba(0,0,0,.2))}
.tarjeta-cat{position:absolute;left:.8rem;top:.8rem;background:rgba(255,255,255,.92);color:var(--tinta);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .7rem;border-radius:999px}
.tarjeta-pica{position:absolute;right:.8rem;top:.8rem;background:rgba(42,31,26,.78);color:#fff;font-size:.72rem;padding:.3rem .55rem;border-radius:999px;letter-spacing:-.05em}
.tarjeta-cuerpo{padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.tarjeta h3{font-size:1.2rem}
.tarjeta p{margin:0;font-size:.9rem;color:#5b4d43;flex:1}
.tarjeta-sabores{display:flex;flex-wrap:wrap;gap:.3rem}
.tarjeta-sabores span{font-size:.7rem;font-weight:500;background:var(--crema);padding:.2rem .55rem;border-radius:999px;border:1px solid var(--crema-2)}
.tarjeta-pie{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.4rem}
.precio{font-weight:700;font-size:1.45rem;color:var(--rojo)}
.precio small{font-size:.75rem;color:#7a6a5e;font-weight:500}
.agregar{border:0;background:var(--tinta);color:#fff;font-family:inherit;font-weight:700;padding:.7rem 1.1rem;border-radius:999px;cursor:pointer;transition:background .18s,transform .15s;display:inline-flex;align-items:center;gap:.4rem}
.agregar:hover{background:var(--rojo);transform:scale(1.04)}
.vacio{text-align:center;color:#7a6a5e;padding:2rem}

/* ── de raíz ── */
.raiz{background:#fff;padding:clamp(3rem,7vw,6rem) 0 0}
.raiz-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding:0 clamp(1rem,5vw,4rem) clamp(3rem,6vw,5rem);max-width:1300px;margin:0 auto}
.raiz-texto p{font-size:1.05rem;color:#4a3d34}
.raiz-lista{list-style:none;padding:0;margin:1.4rem 0 1.8rem;display:grid;gap:.7rem}
.raiz-lista li{padding-left:2rem;position:relative}
.raiz-lista li::before{content:"🌱";position:absolute;left:0;top:.05rem}
.raiz-foto{margin:0;position:relative;border-radius:32px;overflow:hidden;box-shadow:var(--sombra);rotate:2deg;aspect-ratio:4/5;max-height:620px}
.raiz-foto img{width:100%;height:100%;object-fit:cover}
.raiz-foto figcaption{position:absolute;left:1rem;bottom:1rem;background:var(--crema);color:var(--tinta);font-weight:700;padding:.55rem 1rem;border-radius:999px;font-size:.9rem;rotate:-2deg}
.veg-tira{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;padding:1.6rem clamp(1rem,4vw,3rem);background:var(--crema-2)}
.veg-tira span{background:var(--c);color:#fff;font-weight:700;font-size:.85rem;padding:.45rem 1rem;border-radius:999px;text-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .2s}
.veg-tira span:hover{transform:scale(1.1) rotate(-4deg)}

/* ── galería ── */
.galeria{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem);background:var(--crema)}
.mosaico{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;max-width:1200px;margin:0 auto}
.foto{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:1;background:var(--crema-2);box-shadow:var(--sombra)}
.foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.foto:hover img{transform:scale(1.08) rotate(1deg)}
.foto span{position:absolute;inset:auto 0 0 0;padding:1.6rem .9rem .8rem;background:linear-gradient(transparent,rgba(42,31,26,.78));color:#fff;font-weight:700;font-size:.9rem;opacity:0;transform:translateY(8px);transition:all .3s}
.foto:hover span,.foto:focus-within span{opacity:1;transform:none}
.mosaico .foto:first-child{grid-column:span 2;grid-row:span 2}

/* ── clientes ── */
.clientes{background:var(--verde);color:var(--crema);padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem)}
.clientes .kicker{color:#FFD36E}
.clientes h2 em{color:#FFD36E}
.testis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1.2rem;max-width:1100px;margin:0 auto}
.testis blockquote{margin:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--radio);padding:1.5rem;position:relative}
.testis blockquote::before{content:"\201C";position:absolute;left:1rem;top:-1.2rem;font-size:4.5rem;color:#FFD36E;font-weight:700;line-height:1}
.testis p{margin:.6rem 0 1rem;font-size:1rem}
.testis footer{font-size:.85rem;opacity:.8;font-weight:500}

/* ── encuéntranos ── */
.encuentranos{padding:clamp(3rem,7vw,6rem) clamp(1rem,4vw,3rem);background:#fff}
.puntos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.2rem;max-width:1000px;margin:0 auto}
.punto{border:2px solid var(--crema-2);border-radius:var(--radio);padding:1.4rem;background:var(--crema);transition:transform .2s,border-color .2s}
.punto:hover{transform:translateY(-4px);border-color:var(--rojo)}
.punto .tipo{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--rojo)}
.punto h3{font-size:1.25rem;margin:.3rem 0 .5rem}
.punto p{margin:0 0 .6rem;font-size:.92rem;color:#5b4d43}
.punto a{font-weight:700;color:var(--verde);text-decoration:none}
.punto a:hover{text-decoration:underline}

/* ── cta final ── */
.cta-final{background:var(--rojo);color:var(--crema);text-align:center;padding:clamp(3rem,7vw,5.5rem) clamp(1rem,4vw,3rem);display:grid;justify-items:center;gap:1rem}
.cta-final img{width:70px}
.cta-final p{max-width:48ch;margin:0;opacity:.95}

/* ── pie ── */
.pie{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;padding:2.5rem clamp(1rem,4vw,3rem);background:var(--crema)}
.pie img{width:120px}
.pie p{margin:0 0 .5rem}

/* ── barra móvil ── */
.barra-movil{position:fixed;left:.8rem;right:.8rem;bottom:.8rem;z-index:45;background:var(--tinta);color:var(--crema);border-radius:999px;padding:.6rem .6rem .6rem 1.3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 18px 40px -14px rgba(0,0,0,.6);animation:sube .35s}
.barra-movil[hidden]{display:none}
.barra-movil div{display:flex;flex-direction:column;line-height:1.15}
.barra-movil span{font-size:.75rem;opacity:.8}
.barra-movil .btn{padding:.7rem 1.2rem}
@keyframes sube{from{translate:0 80px;opacity:0}}
@media(min-width:900px){.barra-movil{display:none!important}}

/* ── velo / sheet / carrito ── */
.velo{position:fixed;inset:0;background:rgba(42,31,26,.55);z-index:60;animation:fade .25s;backdrop-filter:blur(2px)}
.velo[hidden]{display:none}
@keyframes fade{from{opacity:0}}
.cerrar{position:absolute;right:1rem;top:1rem;width:40px;height:40px;border-radius:50%;border:0;background:var(--crema-2);font-size:1.5rem;line-height:1;cursor:pointer;font-family:inherit;color:var(--tinta)}
.cerrar:hover{background:var(--rojo);color:#fff}

.sheet{position:fixed;z-index:70;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,560px);background:#fff;border-radius:28px 28px 0 0;padding:1.6rem 1.4rem 1.4rem;box-shadow:0 -20px 60px rgba(0,0,0,.3);animation:sube .3s;max-height:92vh;overflow:auto}
.sheet[hidden]{display:none}
@media(min-width:720px){.sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:28px;animation:pop .25s}}
@keyframes pop{from{opacity:0;transform:translate(-50%,-46%) scale(.96)}}
.sheet-cab{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.2rem;padding-right:2.5rem}
.sheet-icono{flex:0 0 84px;width:84px;height:84px;border-radius:20px;background:var(--c,var(--crema-2));display:grid;place-items:center;font-size:2.6rem;overflow:hidden}
.sheet-icono img{width:100%;height:100%;object-fit:cover}
.sheet h3{font-size:1.5rem}
.sheet-cab p:last-child{margin:.3rem 0 0;font-size:.9rem;color:#5b4d43}
.sheet-lbl{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .6rem;color:#5b4d43}
.sabores{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.4rem}
.sabor{border:2px solid var(--crema-2);background:var(--crema);padding:.55rem .95rem;border-radius:999px;font-family:inherit;font-weight:500;cursor:pointer;font-size:.92rem;transition:all .15s;color:var(--tinta)}
.sabor:hover{border-color:var(--rojo)}
.sabor[aria-checked="true"]{background:var(--rojo);border-color:var(--rojo);color:#fff;transform:scale(1.04)}
.sheet-pie{display:flex;gap:.8rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cant{display:inline-flex;align-items:center;border:2px solid var(--crema-2);border-radius:999px;overflow:hidden}
.cant button{width:44px;height:44px;border:0;background:transparent;font-size:1.3rem;cursor:pointer;font-family:inherit;color:var(--tinta)}
.cant button:hover{background:var(--crema-2)}
.cant output{min-width:38px;text-align:center;font-weight:700}
.sheet-pie .btn{flex:1;justify-content:center}

.carrito{position:fixed;z-index:70;top:0;right:0;bottom:0;width:min(100%,440px);background:var(--crema);box-shadow:-20px 0 60px rgba(0,0,0,.25);display:flex;flex-direction:column;animation:desliza .3s}
.carrito[hidden]{display:none}
@keyframes desliza{from{translate:100% 0}}
.carrito-cab{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.3rem;border-bottom:1px solid var(--crema-2);position:relative}
.carrito-cab h3{font-size:1.4rem}
.carrito-cab .cerrar{position:static}
.carrito-lista{flex:1;overflow:auto;padding:1rem 1.3rem;display:flex;flex-direction:column;gap:.8rem}
.linea{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:.8rem;align-items:center;background:#fff;border-radius:16px;padding:.7rem}
.linea-img{width:56px;height:56px;border-radius:12px;background:var(--c,var(--crema-2));overflow:hidden;display:grid;place-items:center;font-size:1.6rem}
.linea-img img{width:100%;height:100%;object-fit:cover}
.linea strong{display:block;font-size:.95rem;line-height:1.2}
.linea small{color:#5b4d43;font-size:.8rem}
.linea-ctl{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem}
.linea-ctl .cant button{width:30px;height:30px;font-size:1rem}
.linea-ctl .cant output{min-width:26px;font-size:.9rem}
.linea-ctl .sub{margin:0;font-weight:700;color:var(--rojo);font-size:.95rem}
.quitar{border:0;background:transparent;color:#7a6a5e;font-size:.75rem;cursor:pointer;font-family:inherit;text-decoration:underline;padding:0}
.carrito-vacio{flex:1;display:grid;place-content:center;text-align:center;gap:1rem;padding:2rem;color:#5b4d43}
.carrito-vacio[hidden]{display:none}
.carrito-pie{padding:1rem 1.3rem 1.3rem;border-top:1px solid var(--crema-2);background:#fff;display:grid;gap:.7rem}
.carrito-pie[hidden]{display:none}
.campo{display:grid;gap:.25rem;font-size:.8rem;font-weight:700;color:#5b4d43}
.campo input,.campo select{font-family:inherit;font-size:.95rem;padding:.65rem .8rem;border-radius:12px;border:2px solid var(--crema-2);background:var(--crema);color:var(--tinta);width:100%}
.campo input:focus,.campo select:focus{border-color:var(--rojo);outline:0}
.carrito-total{display:flex;justify-content:space-between;align-items:baseline;font-size:1.1rem}
.carrito-total strong{font-size:1.6rem;color:var(--rojo)}

.toast{position:fixed;left:50%;bottom:5.5rem;transform:translateX(-50%) translateY(20px);background:var(--verde);color:#fff;padding:.7rem 1.2rem;border-radius:999px;font-weight:700;font-size:.9rem;opacity:0;pointer-events:none;transition:all .3s;z-index:80;box-shadow:0 10px 30px -10px rgba(0,0,0,.5);white-space:nowrap;max-width:94vw;overflow:hidden;text-overflow:ellipsis}
.toast.ver{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:900px){.toast{bottom:2rem}}

/* ── scroll reveal ── */
.rev{opacity:0;translate:0 22px;transition:opacity .7s,translate .7s}
.rev.vis{opacity:1;translate:0 0}

/* ── responsive ── */
@media(max-width:1000px){.nav{display:none}}
@media(max-width:860px){
  .hero{grid-template-columns:minmax(0,1fr);text-align:center;padding-bottom:2.5rem;min-height:0}
  .hero-cta,.hero-sellos{justify-content:center}
  .lead{margin-inline:auto}
  .hero-visual{height:clamp(300px,78vw,460px);max-width:520px;margin:0 auto;width:100%}
  .raiz-grid{grid-template-columns:minmax(0,1fr)}
  .raiz-foto{max-height:520px;max-width:520px}
  .mosaico{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  body{font-size:16px}
  .top{padding:.55rem 1rem}
  .marca span{display:none}
  .rejilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .tarjeta-cuerpo{padding:.75rem .8rem .85rem;gap:.35rem}
  .tarjeta h3{font-size:1rem}
  .tarjeta p{display:none}
  .tarjeta-sabores{display:none}
  .precio{font-size:1.15rem}
  .agregar{padding:.5rem .7rem;font-size:.8rem}
  .agregar span{display:none}
  .tarjeta-emoji{font-size:3.6rem}
  .tienda{padding-bottom:6rem}
  .pie{flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .rev{opacity:1;translate:0 0}
  .tarjeta{opacity:1;translate:0 0}
}
