/* ============================================================================
 *  D'Chicho Restaurant & Grill — assets/css/web.css
 *  Sitio público. Réplica de 2-modelo/web.jpg (escritorio) y
 *  2-modelo/responsivo.jpg (móvil). Mobile-first. Tokens: diseno.md §A.1.
 *  Fase 8 — Sitio público
 *
 *  Breakpoints: base < 768 (responsivo.jpg) · ≥ 768 tablet · ≥ 992 laptop ·
 *  ≥ 1200 escritorio (web.jpg).
 * ========================================================================= */

/* ---------- 1. Tokens ---------- */
:root{
  --c-primary:#E85D1F; --c-primary-hover:#CF4E14; --c-primary-dark:#B8420E;
  --c-primary-soft:#FDEEE5; --c-primary-soft-2:#FFF6F0; --c-accent:#F39A2B; --c-star:#F5A524;
  --c-ink:#111111; --c-text:#2B2B2B; --c-muted:#6E6E6E; --c-line:#ECECEC;
  --c-bg:#FFFFFF; --c-bg-soft:#F7F3F0; --c-bg-cream:#FFF9F3; --c-card:#FFFFFF;
  --c-dark:#0E0E0F; --c-dark-2:#151517; --c-dark-3:#1F1F22; --c-on-dark:#F4F4F4; --c-on-dark-muted:#A9A9AE;
  --c-success:#1E9E5A; --c-danger:#D93025;
  --f-sans:'Poppins','Poppins Fallback',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --f-script:'Caveat','Segoe Script',cursive;
  --r-xs:6px; --r-sm:10px; --r-md:14px; --r-lg:18px; --r-xl:24px; --r-pill:999px;
  --sh-card:0 2px 10px rgba(17,17,17,.06),0 1px 2px rgba(17,17,17,.04);
  --sh-float:0 14px 34px rgba(17,17,17,.10);
  --sh-btn:0 10px 22px rgba(232,93,31,.28);
  --container:1280px; --gutter:16px; --header-h:64px;
}
[data-theme="dark"]{ --c-bg:#121214; --c-bg-soft:#1A1A1D; --c-bg-cream:#141416; --c-card:#1B1B1E; --c-ink:#F5F5F5; --c-text:#DADADA; --c-muted:#A0A0A6; --c-line:#26262A; --c-primary-soft:#2A1A12; --c-primary-soft-2:#22160F; --sh-card:0 2px 10px rgba(0,0,0,.35); }

/* ---------- 2. Base ---------- */
/* Fase 26: mientras llega Poppins se usa Arial ajustada a sus medidas, para que el texto no salte al cambiar de fuente. */
@font-face{font-family:'Poppins Fallback';src:local('Arial');size-adjust:112.4%;ascent-override:93.4%;descent-override:31.1%;line-gap-override:8.9%;}
*,*::before,*::after{box-sizing:border-box;}
/* Íconos (Fase 26): la hoja de bootstrap-icons llega sin bloquear; se reserva el hueco de cada ícono para que el contenido no se mueva cuando aparece. */
.hero-plato picture,.hero-sec picture,.hm-card picture{display:contents;}
i.bi,i[class^="bi-"],i[class*=" bi-"]{display:inline-block;width:1em;height:1em;line-height:1;vertical-align:-.125em;}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;font-family:var(--f-sans);font-size:15px;line-height:1.6;color:var(--c-text);background:var(--c-bg-cream);padding-bottom:calc(100px + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;}
h1,h2,h3,h4{color:var(--c-ink);margin:0;line-height:1.2;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
:focus-visible{outline:3px solid rgba(232,93,31,.45);outline-offset:2px;}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--c-primary);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600;}
.skip:focus{top:12px;}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.solo-esc{display:none;} .solo-movil{display:inline;}
[hidden]{display:none!important;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

/* ---------- 3. Botones y piezas ---------- */
.btn-primary,.btn-outline,.btn-dark{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 30px;border-radius:var(--r-pill);font-size:16px;font-weight:600;cursor:pointer;border:0;transition:background .2s,color .2s,transform .2s;white-space:nowrap;}
.btn-primary{background:var(--c-primary);color:#fff;box-shadow:var(--sh-btn);}
.btn-primary:hover{background:var(--c-primary-hover);} .btn-primary i{transition:transform .2s;} .btn-primary:hover i{transform:translateX(3px);}
.btn-outline{border:1.5px solid var(--c-ink);color:var(--c-ink);background:transparent;font-weight:500;}
.btn-outline:hover{background:var(--c-ink);color:var(--c-bg);}
.btn-dark{background:var(--c-dark);color:#fff;}
.btn-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:var(--c-ink);font-size:24px;cursor:pointer;flex-shrink:0;}
.btn-icon:hover{background:var(--c-primary-soft-2);}
.badge-count{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:var(--c-primary);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center;}
.badge-count.rebote{animation:rebote .5s;}
@keyframes rebote{30%{transform:scale(1.35);}60%{transform:scale(.9);}}
.btn-add{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:0;background:var(--c-primary);color:#fff;font-size:17px;cursor:pointer;flex-shrink:0;transition:transform .15s,background .2s;}
.btn-add:hover{transform:scale(1.06);background:var(--c-primary-hover);} .btn-add:disabled{background:#CFCFCF;cursor:not-allowed;transform:none;}
.btn-add.wa{background:#25D366;} .btn-add.hecho i::before{content:"\F26E";}
.btn-heart{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:0;background:#fff;color:#111;box-shadow:var(--sh-card);font-size:15px;cursor:pointer;}
.btn-heart.on{color:var(--c-primary);} .btn-heart.on i::before{content:"\F415";}
.tag{position:absolute;top:8px;left:8px;z-index:2;display:inline-flex;align-items:center;height:20px;padding:0 8px;max-width:calc(100% - 16px);overflow:hidden;white-space:nowrap;border-radius:var(--r-pill);background:var(--c-primary-dark);color:#fff;font-size:10px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
.pill-eyebrow{display:inline-flex;align-items:center;height:26px;padding:0 12px;border-radius:var(--r-pill);background:var(--c-primary-dark);color:#fff;font-size:11px;font-weight:600;letter-spacing:.02em;}
.ic-circ{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);font-size:22px;flex-shrink:0;}
.ic-circ.grande{width:56px;height:56px;font-size:26px;}
.estrellas{display:inline-flex;gap:2px;color:var(--c-star);font-size:14px;}
.pill-ok{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;border-radius:var(--r-pill);background:rgba(30,158,90,.12);color:var(--c-success);font-size:12px;font-weight:600;vertical-align:middle;}
.pill-ok i{width:8px;height:8px;border-radius:50%;background:var(--c-success);}
.hscroll,.hscroll-m{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:6px;}
.hscroll::-webkit-scrollbar,.hscroll-m::-webkit-scrollbar{display:none;}
.hscroll>*,.hscroll-m>*{scroll-snap-align:start;flex-shrink:0;}

/* ---------- 4. Barra superior (oculta en móvil) ---------- */
.topbar{display:none;background:var(--c-dark);color:#fff;font-size:13px;font-weight:500;}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:40px;gap:16px;}
.topbar i{font-size:17px;} .tb-izq,.tb-centro,.tb-der,.tb-soporte{display:flex;align-items:center;gap:8px;white-space:nowrap;}
.tb-fuego{color:var(--c-accent);} .tb-soporte:hover{color:var(--c-accent);}
.tb-sep{width:1px;height:16px;background:#3A3A3E;margin:0 6px;}
.tb-lang{display:flex;align-items:center;gap:6px;color:#55555A;} .tb-lang a{color:var(--c-on-dark-muted);} .tb-lang a.on{color:#fff;font-weight:600;}
.tb-tema{border:0;background:transparent;color:#fff;cursor:pointer;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;}
.tb-tema i{font-size:15px;}

/* ---------- 5. Header ---------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--c-bg-cream);transition:box-shadow .2s;}
.hdr.sombra{box-shadow:0 6px 18px rgba(17,17,17,.07);}
.hdr-in{display:grid;grid-template-columns:44px 1fr auto;align-items:center;height:var(--header-h);gap:8px;}
.hdr-nav,.hdr-solo-esc{display:none;}
.marca{display:flex;align-items:center;gap:10px;min-width:0;}
.hdr .marca{justify-self:center;flex-direction:column;gap:0;}
.marca img{height:40px;width:auto;}
.hdr .marca img{height:30px;} .hdr .marca-txt b{font-size:14px;} .hdr .marca-txt small{font-size:7.5px;letter-spacing:1.4px;margin-top:2px;}
.marca-txt{display:flex;flex-direction:column;line-height:1.05;}
.marca-txt b{font-size:15px;font-weight:800;color:var(--c-ink);letter-spacing:-.2px;}
.marca-txt small{font-size:8.5px;font-weight:600;color:var(--c-primary-dark);letter-spacing:1.6px;margin-top:3px;}
.hdr .marca .marca-txt{align-items:center;}
.hdr-acc{display:flex;align-items:center;gap:2px;}
.hdr-user .av{width:32px;height:32px;border-radius:50%;background:var(--c-primary);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.nav-link{display:inline-flex;align-items:center;gap:4px;position:relative;font-size:15px;font-weight:500;color:var(--c-ink);background:none;border:0;cursor:pointer;padding:6px 0;white-space:nowrap;}
.nav-link:hover{color:var(--c-primary);}
.nav-link.on{color:var(--c-primary);} .nav-link.on::after{content:"";position:absolute;left:50%;bottom:-8px;width:24px;height:2px;margin-left:-12px;background:var(--c-primary);border-radius:2px;}
.nav-link i{font-size:12px;transition:transform .2s;} .dd.abierto .nav-link i{transform:rotate(180deg);}
.dd{position:relative;}
.dd-panel{display:none;position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);width:520px;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-float);padding:18px;grid-template-columns:1fr 1fr;gap:6px 18px;z-index:60;}
.dd.abierto .dd-panel{display:grid;}
.dd-tit{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-primary-dark);margin:2px 0 6px;}
.dd-col a{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;font-size:14px;color:var(--c-text);}
.dd-col a:hover{background:var(--c-primary-soft-2);color:var(--c-primary);} .dd-col a i{color:var(--c-primary);font-size:17px;}
.dd-col a span{flex:1;} .dd-col a em{font-style:normal;font-size:12px;color:var(--c-muted);}
.dd-pie{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--c-line);margin-top:8px;padding-top:12px;font-size:14px;font-weight:500;}
.dd-pie a{display:inline-flex;align-items:center;gap:6px;} .dd-pie a:hover{color:var(--c-primary);}
/* Buscador desplegable */
.buscador{position:absolute;left:0;right:0;top:100%;background:var(--c-card);border-bottom:1px solid var(--c-line);box-shadow:var(--sh-float);padding:16px 0;}
.buscador-form{display:flex;align-items:center;gap:12px;height:56px;padding:0 10px 0 22px;border:1.5px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-bg);}
.buscador-form:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 4px rgba(232,93,31,.12);}
.buscador-form>i{font-size:20px;color:var(--c-muted);}
.buscador-form input{flex:1;border:0;outline:0;background:transparent;font:inherit;font-size:17px;color:var(--c-ink);min-width:0;}
.sugerencias{position:relative;margin-top:10px;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-float);overflow:hidden;z-index:40;}
.sug-grupo{padding:8px 0;} .sug-grupo+.sug-grupo{border-top:1px solid var(--c-line);}
.sug-tit{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-muted);padding:4px 16px;}
.sug-it{display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:14px;color:var(--c-text);}
.sug-it:hover,.sug-it.activo{background:var(--c-primary-soft-2);}
.sug-it img{width:40px;height:40px;border-radius:10px;object-fit:cover;} .sug-it i{width:40px;text-align:center;font-size:20px;color:var(--c-primary);}
.sug-it span{flex:1;min-width:0;} .sug-it b{display:block;font-weight:600;color:var(--c-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} .sug-it small{color:var(--c-muted);}
.sug-it em{font-style:normal;font-weight:700;color:var(--c-ink);white-space:nowrap;}
.sug-vacio{padding:18px;text-align:center;color:var(--c-muted);font-size:14px;}
.sug-todos{display:block;padding:12px 16px;border-top:1px solid var(--c-line);font-size:14px;font-weight:600;color:var(--c-primary-dark);text-align:center;}
/* Buscador móvil (píldora) */
.buscar-movil{position:relative;display:flex;gap:10px;margin-top:8px;}
.pill-search{flex:1;display:flex;align-items:center;gap:10px;height:52px;padding:0 18px;border-radius:var(--r-pill);background:var(--c-card);box-shadow:var(--sh-card);min-width:0;}
.pill-search i{font-size:20px;color:var(--c-ink);} .pill-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--c-ink);}
.pill-search input::placeholder{color:#9A9A9A;}
.pill-search:focus-within{box-shadow:0 0 0 3px rgba(232,93,31,.25),var(--sh-card);}
.btn-filtros{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:var(--c-card);box-shadow:var(--sh-card);font-size:20px;color:var(--c-ink);flex-shrink:0;}
.buscar-movil .sugerencias{position:absolute;left:var(--gutter);right:var(--gutter);top:56px;}
/* Aviso cerrado */
.aviso-cerrado{background:#FFF4D6;color:#7A5200;font-size:13.5px;font-weight:500;}
.aviso-cerrado .container{display:flex;align-items:center;gap:10px;padding-block:10px;}
[data-theme="dark"] .aviso-cerrado{background:#2E2410;color:#F5D48A;}

/* Offcanvas + velo */
.velo{position:fixed;inset:0;z-index:90;background:rgba(10,10,12,.5);}
.offcanvas{position:fixed;top:0;bottom:0;z-index:100;display:flex;flex-direction:column;width:min(88vw,340px);background:var(--c-card);box-shadow:0 0 40px rgba(0,0,0,.2);animation:ocIzq .25s ease-out;}
.oc-izq{left:0;} .oc-der{right:0;width:min(100vw,420px);animation-name:ocDer;}
@keyframes ocIzq{from{transform:translateX(-100%);}} @keyframes ocDer{from{transform:translateX(100%);}}
.oc-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--c-line);}
.oc-hd h2{font-size:18px;font-weight:700;}
.marca-oc img{height:40px;}
.oc-nav{display:flex;flex-direction:column;padding:10px;overflow-y:auto;flex:1;}
.oc-nav a{display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:12px;font-size:16px;font-weight:500;color:var(--c-ink);}
.oc-nav a.on{background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:600;}
.oc-pie{display:flex;flex-direction:column;gap:10px;padding:16px;border-top:1px solid var(--c-line);}
.oc-lang{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--c-bg-soft);padding:4px;border-radius:12px;}
.oc-lang a{text-align:center;padding:8px;border-radius:9px;font-size:14px;font-weight:500;color:var(--c-muted);} .oc-lang a.on{background:var(--c-card);color:var(--c-ink);font-weight:600;box-shadow:var(--sh-card);}
.oc-tema,.oc-wa{display:flex;align-items:center;justify-content:center;gap:10px;height:46px;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;}
.oc-tema{border:1px solid var(--c-line);background:transparent;} .oc-wa{background:#25D366;color:#fff;}

/* ---------- 6. Secciones comunes ---------- */
main{display:flex;flex-direction:column;}
/* En móvil los beneficios y lo demás van después del banner "Plato del día" (responsivo.jpg). */
.benef,.sec-promo,.sec-pasos,.sec-testi,.sec-gal{order:1;}
.sec{padding-top:28px;}
.sec-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.sec-hd h2{font-size:20px;font-weight:700;}
.ver-todo{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--c-ink);white-space:nowrap;}
.ver-todo i{font-size:17px;color:var(--c-primary-dark);transition:transform .2s;} .ver-todo:hover i{transform:translateX(3px);}
.sec-tit-c{font-size:20px;font-weight:700;text-align:center;margin-bottom:20px;}

/* ---------- 7. Hero ---------- */
.hero{display:none;}
.hero-m{margin-top:18px;}
.carrusel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r-xl);}
.carrusel::-webkit-scrollbar{display:none;}
.hm-card{position:relative;flex:0 0 100%;scroll-snap-align:center;min-height:230px;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(135deg,#1B0E06 0%,#2A1709 60%,#3A2210 100%);color:#fff;display:flex;}
.hm-txt{position:relative;z-index:2;width:60%;padding:22px 0 22px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.hm-txt h2{color:#fff;font-size:24px;font-weight:800;line-height:1.1;}
.hm-txt h2 span{display:block;color:var(--c-accent);}
.hm-txt p{font-size:13px;line-height:1.45;color:rgba(255,255,255,.85);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.hm-btn{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 6px 0 18px;margin-top:4px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--c-primary-dark),var(--c-primary));color:#fff;font-size:13px;font-weight:700;letter-spacing:.02em;}
.hm-btn i{width:30px;height:30px;border-radius:50%;background:#fff;color:var(--c-primary);display:inline-flex;align-items:center;justify-content:center;font-size:15px;}
.hm-img{position:absolute;right:-18%;bottom:-12%;width:66%;height:112%;object-fit:cover;border-radius:50%;box-shadow:-20px 0 40px rgba(0,0,0,.45);}
.dots{display:flex;justify-content:center;gap:0;margin-top:-24px;position:relative;z-index:3;height:24px;align-items:center;}
/* Fase 26: el botón mide 24×24 px (área táctil) y el punto se dibuja con ::after */
.dots button{position:relative;width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;}
.dots button::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:3px;background:rgba(255,255,255,.7);transform:translate(-50%,-50%);transition:width .25s,background .25s;}
.dots button.on::after{width:18px;background:var(--c-primary);}

/* ---------- 8. Categorías ---------- */
.cats-m{margin-top:20px;}
.cats-m .hscroll{gap:14px;}
.cchip{display:flex;flex-direction:column;align-items:center;gap:8px;width:76px;text-align:center;}
.cchip-c{display:flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--c-card);box-shadow:var(--sh-card);}
.cchip-c img{width:60px;height:60px;border-radius:50%;object-fit:cover;}
.cchip.on .cchip-c{background:linear-gradient(135deg,var(--c-accent),var(--c-primary));}
.cchip-todo{color:var(--c-primary);font-size:26px;}
.cchip-n{font-size:13.5px;font-weight:500;color:var(--c-ink);line-height:1.2;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sec-cats{display:none;}
.cats-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
.ccard{position:relative;display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-md);box-shadow:var(--sh-card);transition:transform .2s,box-shadow .2s;}
.ccard:hover{transform:translateY(-4px);box-shadow:var(--sh-float);}
.ccard-img{display:block;height:150px;border-radius:var(--r-md) var(--r-md) 0 0;overflow:hidden;}
.ccard-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s;} .ccard:hover .ccard-img img{transform:scale(1.05);}
.ccard-ic{position:absolute;top:130px;left:16px;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--c-card);color:var(--c-primary);font-size:19px;box-shadow:var(--sh-card);}
.ccard-body{display:flex;flex-direction:column;padding:28px 16px 16px;}
.ccard-body b{font-size:16px;font-weight:600;color:var(--c-ink);} .ccard-body small{font-size:13px;color:var(--c-muted);}

/* ---------- 9. Beneficios ---------- */
.benef{margin-top:24px;}
.benef-in{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;padding-bottom:4px;}
.benef-in::-webkit-scrollbar{display:none;}
.benef-it{flex:0 0 150px;scroll-snap-align:start;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--c-card);border-radius:var(--r-md);box-shadow:var(--sh-card);}
.benef-it b{display:block;font-size:14px;font-weight:600;color:var(--c-ink);line-height:1.3;} .benef-it small{display:block;font-size:12.5px;color:var(--c-muted);line-height:1.45;margin-top:2px;}

/* ---------- 10. Tarjeta de producto ---------- */
.pop-grid{gap:12px;}
.pcard{position:relative;display:flex;flex-direction:column;width:calc((100% - 24px) / 3);min-width:104px;background:var(--c-card);border:1px solid var(--c-line);border-radius:16px;box-shadow:var(--sh-card);overflow:hidden;transition:transform .2s,box-shadow .2s;}
.pcard:hover{transform:translateY(-4px);box-shadow:var(--sh-float);}
.pcard-img{display:block;height:92px;overflow:hidden;background:var(--c-bg-soft);}
.pcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .35s;} .pcard:hover .pcard-img img{transform:scale(1.05);}
.pcard .btn-heart{display:none;}
.pcard-body{display:flex;flex-direction:column;flex:1;padding:8px 9px 10px;}
.pcard-tit{font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pcard-tit a:hover{color:var(--c-primary);}
.pcard-rate{display:flex;align-items:center;gap:3px;font-size:11.5px;color:var(--c-muted);margin-top:3px;}
.pcard-rate i{color:var(--c-star);font-size:13px;} .pcard-rate b{color:var(--c-text);font-weight:500;}
.pcard-desc{display:none;font-size:13px;line-height:1.45;color:var(--c-muted);margin-top:4px;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pcard-pie{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px;}
.precio{display:flex;flex-direction:column;line-height:1.15;font-variant-numeric:tabular-nums;min-width:0;}
.precio strong{font-size:14.5px;font-weight:700;color:var(--c-ink);white-space:nowrap;} .precio strong.oferta{color:var(--c-primary-dark);}
.precio del{font-size:12px;color:var(--c-muted);white-space:nowrap;} .precio .consultar{font-size:13px;color:var(--c-muted);}
.badge-agotado{position:absolute;top:66px;left:10px;z-index:2;background:#2B2B2B;color:#fff;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;}
.pcard.agotado .pcard-img,.pcard.agotado .pcard-body{opacity:.55;}

/* ---------- 11. Plato del día ---------- */
.sec-pdd{display:none;}
.pdd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pdd-card{display:grid;grid-template-columns:45% 55%;background:var(--c-card);border:1px solid var(--c-line);border-radius:16px;box-shadow:var(--sh-card);overflow:hidden;min-height:180px;transition:transform .2s,box-shadow .2s;}
.pdd-card:hover{transform:translateY(-4px);box-shadow:var(--sh-float);}
.pdd-img{position:relative;display:block;} .pdd-img img{width:100%;height:100%;object-fit:cover;}
.pdd-num{position:absolute;top:10px;left:10px;width:30px;height:30px;border-radius:50%;background:var(--c-primary);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;}
.pdd-hoy{position:absolute;top:10px;right:10px;background:var(--c-dark);color:var(--c-accent);font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px;letter-spacing:.05em;}
.pdd-body{display:flex;flex-direction:column;padding:14px;}
.pdd-body h3{font-size:16px;font-weight:600;} .pdd-body h3 a:hover{color:var(--c-primary);}
.pdd-nota{font-size:13px;color:var(--c-muted);line-height:1.45;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pdd-quedan{font-size:12px;font-weight:600;color:var(--c-primary-dark);margin-top:6px;display:flex;gap:5px;align-items:center;}
.pdd-card.agotado{opacity:.6;}
.pdd-fecha{font-weight:500;color:var(--c-muted);font-size:.8em;}
.pdd-m{margin-top:20px;}
.pdd-m-card{position:relative;display:flex;align-items:center;min-height:150px;border-radius:20px;overflow:hidden;background:linear-gradient(135deg,#140B05,#241308 60%,#321C0C);color:#fff;padding:18px;}
.pdd-m-txt{position:relative;z-index:2;display:flex;flex-direction:column;gap:4px;width:52%;}
.pdd-m-txt small{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--c-accent);}
.pdd-m-txt b{font-size:20px;font-weight:800;line-height:1.15;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.pdd-m-txt em{font-style:normal;font-size:13px;color:var(--c-accent);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.pdd-m-save{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-30%,-50%);width:68px;height:68px;border-radius:50%;background:var(--c-primary);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 8px 20px rgba(0,0,0,.35);}
.pdd-m-save small{font-size:10px;font-weight:700;} .pdd-m-save b{font-size:21px;font-weight:800;}
.pdd-m-card img{position:absolute;right:-12px;top:50%;transform:translateY(-50%);width:44%;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:-10px 0 30px rgba(0,0,0,.5);}

/* ---------- 12. Banner promocional ---------- */
.promo{position:relative;display:grid;grid-template-columns:1fr;gap:14px;padding:24px 20px 130px;border-radius:var(--r-lg);overflow:hidden;background:var(--c-dark) url("../img/doodles.svg") repeat;background-size:260px;color:#fff;}
.promo::before{content:"";position:absolute;inset:8px;border:1px dashed rgba(243,154,43,.35);border-radius:14px;pointer-events:none;}
.promo-bolsa{display:none;}
.promo-txt{position:relative;z-index:2;}
.promo-eye{font-size:12px;font-weight:600;letter-spacing:.06em;color:var(--c-on-dark-muted);}
.promo-txt h2{color:#fff;font-size:30px;font-weight:700;margin-top:4px;}
.promo-sub{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:500;color:#fff;margin-top:2px;} .promo-sub svg{color:var(--c-primary);}
.promo-cupon{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
.cupon{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:12px 18px;text-align:left;border:1.5px dashed var(--c-accent);border-radius:12px;background:transparent;color:#fff;font-size:16px;font-weight:500;cursor:pointer;}
.cupon b{color:var(--c-accent);font-size:19px;font-weight:700;letter-spacing:.02em;} .cupon i{color:var(--c-on-dark-muted);font-size:15px;}
.cupon:hover{background:rgba(243,154,43,.08);}
.promo-cupon small{font-size:12.5px;color:var(--c-on-dark-muted);}
.promo-img{position:absolute;right:-24px;bottom:-40px;width:170px;height:170px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 8px rgba(255,255,255,.04);}
.promo-img img{width:100%;height:100%;object-fit:cover;}

/* ---------- 13. Cómo funciona ---------- */
.pasos{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.paso{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:16px 10px;background:var(--c-card);border-radius:var(--r-md);box-shadow:var(--sh-card);}
.paso b{display:block;font-size:15px;font-weight:600;color:var(--c-ink);} .paso small{display:block;font-size:13px;color:var(--c-muted);line-height:1.45;margin-top:2px;}
.paso .flecha{display:none;}

/* ---------- 14. Testimonios ---------- */
.sec-testi{padding-bottom:4px;}
.testi-grid{gap:14px;}
.testi{flex:0 0 86%;margin:0;display:flex;flex-direction:column;gap:12px;padding:20px;background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-lg);box-shadow:var(--sh-card);}
.testi blockquote{margin:0;font-size:15px;font-style:italic;line-height:1.6;color:var(--c-text);flex:1;}
.testi figcaption{display:flex;align-items:center;gap:12px;} .testi img{width:48px;height:48px;border-radius:50%;object-fit:cover;}
.testi b{display:block;font-size:14.5px;color:var(--c-ink);font-weight:600;} .testi small{font-size:12.5px;color:var(--c-muted);}

/* ---------- 15. Galería ---------- */
.gal{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.gal-it{position:relative;display:block;border-radius:var(--r-md);overflow:hidden;aspect-ratio:1;}
.gal-it img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.gal-it span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);color:#fff;font-size:28px;opacity:0;transition:opacity .25s;}
.gal-it:hover span,.gal-it:focus-visible span{opacity:1;} .gal-it:hover img{transform:scale(1.05);}
.lightbox{position:fixed;inset:0;z-index:150;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.92);}
.lightbox figure{margin:0;max-width:92vw;max-height:84vh;display:flex;flex-direction:column;align-items:center;gap:10px;}
.lightbox img{max-width:92vw;max-height:78vh;border-radius:10px;object-fit:contain;}
.lightbox figcaption{color:#fff;font-size:14px;}
.lb-x,.lb-nav{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:22px;cursor:pointer;}
.lb-x{top:16px;right:16px;} .lb-ant{left:12px;} .lb-sig{right:12px;}
.lb-cont{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:#fff;font-size:13px;opacity:.8;}

/* ---------- 16. Footer ---------- */
.ftr{margin-top:40px;}
.ftr-top{background:var(--c-dark-2);color:var(--c-on-dark);}
.ftr-top-in{display:grid;grid-template-columns:1fr;gap:28px;padding-block:32px;}
.ftr-col h2{color:#fff;font-size:18px;font-weight:600;}
.ftr-col p{font-size:13px;color:var(--c-on-dark-muted);line-height:1.6;margin-top:6px;}
.news-form{position:relative;display:flex;height:50px;margin-top:16px;border-radius:var(--r-pill);background:#fff;overflow:hidden;max-width:420px;}
.ftr-col{min-width:0;}
.news-form input[type=email]{flex:1;min-width:0;width:100%;border:0;outline:0;padding:0 18px;font:inherit;font-size:14px;color:#111;background:transparent;}
.news-form button{border:0;background:var(--c-primary);color:#fff;font-weight:600;font-size:14px;padding:0 20px;cursor:pointer;} .news-form button:hover{background:var(--c-primary-hover);}
.news-form button:disabled{opacity:.7;cursor:wait;}
.news-msg{min-height:20px;font-size:13px;margin-top:8px!important;} .news-msg.ok{color:#6EE7A8!important;} .news-msg.err{color:#FCA5A5!important;}
.ftr-pide{position:relative;display:flex;gap:16px;align-items:center;}
.ftr-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.btn-ghost-dark{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 16px;border:1px solid #3A3A3E;border-radius:10px;background:#0E0E0F;color:#fff;font-size:16px;font-weight:600;line-height:1.1;}
.btn-ghost-dark:hover{border-color:var(--c-primary);} .btn-ghost-dark i{font-size:22px;}
.btn-ghost-dark small{display:block;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--c-on-dark-muted);}
.btn-ghost-dark .bi-whatsapp{color:#25D366;} .btn-ghost-dark .bi-calendar-check{color:var(--c-accent);}
.ftr-plato{display:none;}
.marca-f .marca-txt b{color:#fff;font-size:24px;} .marca-f .marca-txt small{color:var(--c-accent);font-size:10px;} .marca-f img{height:50px;}
.redes{display:flex;gap:10px;margin-top:16px;}
.redes a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:1px solid #3A3A3E;color:#fff;font-size:16px;transition:background .2s,border-color .2s;}
.redes a:hover{background:var(--c-primary);border-color:var(--c-primary);}
.ftr-bot{position:relative;background:var(--c-dark) url("../img/doodles.svg") repeat;background-size:300px;color:var(--c-on-dark-muted);}
.ftr-bot::before{content:"";position:absolute;inset:0;background:rgba(14,14,15,.94);pointer-events:none;}
.ftr-bot .container{position:relative;}
.ftr-links{display:grid;grid-template-columns:1fr;gap:0;padding-top:12px;}
.ftr-grupo{border-bottom:1px solid var(--c-dark-3);}
.ftr-grupo summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:16px 0;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--c-primary);cursor:pointer;}
.ftr-grupo summary::-webkit-details-marker{display:none;}
.ftr-grupo summary::after{content:"\F282";font-family:bootstrap-icons;font-size:12px;color:var(--c-on-dark-muted);transition:transform .2s;}
.ftr-grupo[open] summary::after{transform:rotate(180deg);}
.ftr-grupo ul{padding-bottom:14px;}
.ftr-grupo li{font-size:13px;line-height:2.1;display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;}
.ftr-grupo a:hover{color:#fff;}
.ftr-contacto li{display:grid;grid-template-columns:18px 1fr;column-gap:10px;line-height:1.55;margin-bottom:9px;}
.ftr-contacto li>i{color:var(--c-primary);font-size:15px;margin-top:2px;}
.ftr-contacto .li-estado{display:flex;flex-direction:column;gap:2px;margin-top:4px;}
.ftr-contacto .li-estado small{font-size:12px;line-height:1.3;}
.estado{display:inline-flex;align-items:center;gap:8px;font-weight:600;} .estado i{width:8px;height:8px;border-radius:50%;}
.estado.abierto{color:#4ADE80;} .estado.abierto i{background:#4ADE80;box-shadow:0 0 0 3px rgba(74,222,128,.2);}
.estado.cerrado{color:#F87171;} .estado.cerrado i{background:#F87171;}
.ftr-frase{display:flex;flex-direction:column;align-items:center;padding:26px 0 10px;font-family:var(--f-script);font-size:40px;font-weight:700;line-height:1;color:var(--c-accent);transform:rotate(-4deg);}
.ftr-frase span:last-child{display:flex;align-items:center;gap:8px;margin-left:30px;} .ftr-frase svg{color:var(--c-primary);}
.ftr-copy{border-top:1px solid var(--c-dark-3);padding:18px 0 24px;text-align:center;font-size:12px;color:var(--c-on-dark-muted);}

/* ---------- 17. Flotantes, barra inferior, toasts, carrito ---------- */
.wa-float{position:fixed;right:18px;bottom:calc(98px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#25D366;color:#fff;font-size:27px;box-shadow:0 10px 26px rgba(37,211,102,.4);transition:transform .2s;}
.wa-float:hover{transform:scale(1.07);}
.bnav{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:70;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;height:72px;padding:0 6px 8px;border-radius:22px;background:var(--c-card);box-shadow:0 -6px 24px rgba(0,0,0,.08),0 6px 20px rgba(0,0,0,.08);}
.bnav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:500;color:#4A4A4A;padding-top:8px;}
[data-theme="dark"] .bnav a{color:#B8B8BD;}
.bnav a i{font-size:23px;line-height:1;} .bnav a.on{color:var(--c-primary);}
.bnav-pedir{position:relative;display:flex;flex-direction:column;align-items:center;border:0;background:none;cursor:pointer;padding:0;height:100%;justify-content:flex-end;}
.bnav-c{position:absolute;top:-24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--c-primary);color:#fff;border:5px solid var(--c-card);box-shadow:0 8px 18px rgba(232,93,31,.4);line-height:1;}
.bnav-c i{font-size:22px;} .bnav-c small{font-size:10px;font-weight:600;margin-top:2px;}
.bnav-t{font-size:12px;font-weight:500;color:#4A4A4A;}
.toasts{position:fixed;left:16px;right:16px;bottom:calc(100px + env(safe-area-inset-bottom));z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;}
.toast{display:flex;align-items:center;gap:10px;max-width:420px;padding:12px 16px;border-radius:12px;background:var(--c-dark);color:#fff;font-size:14px;box-shadow:0 12px 30px rgba(0,0,0,.25);animation:toastIn .25s ease-out;pointer-events:auto;}
.toast i{font-size:18px;} .toast.ok i{color:#4ADE80;} .toast.err i{color:#F87171;} .toast.info i{color:var(--c-accent);}
.toast.sale{opacity:0;transform:translateY(8px);transition:.25s;}
@keyframes toastIn{from{opacity:0;transform:translateY(10px);}}
.cart-cuerpo{flex:1;overflow-y:auto;}
.cart-vacio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:60px 28px;}
.cart-vacio-ic{display:flex;align-items:center;justify-content:center;width:96px;height:96px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);font-size:40px;margin-bottom:6px;}
.cart-vacio h3{font-size:19px;} .cart-vacio p{font-size:14px;color:var(--c-muted);margin-bottom:10px;}

/* ---------- 18. Animación de aparición ---------- */
.rev{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease;}
.rev.vis{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){ *{animation:none!important;transition:none!important;scroll-behavior:auto!important;} .rev{opacity:1;transform:none;} }

/* ========================================================================
   ≥ 360 px (móvil) y < 360 (compacto)
   ===================================================================== */
@media (max-width:359px){
  .cchip{width:60px;} .cchip-c{width:56px;height:56px;} .cchip-c img{width:46px;height:46px;}
  .pcard{width:46vw;} .hm-txt h2{font-size:21px;} .marca-txt b{font-size:14px;}
}

/* ========================================================================
   ≥ 768 px — tablet vertical
   ===================================================================== */
@media (min-width:768px){
  :root{--gutter:24px;--header-h:76px;}
  body{background:var(--c-bg);padding-bottom:0;font-size:15px;}
  .solo-esc{display:inline;} .solo-movil{display:none;}
  .topbar{display:block;} .tb-izq,.tb-soporte{display:none;} .topbar-in{justify-content:center;} .tb-der{position:absolute;right:var(--gutter);}
  .topbar .container{position:relative;}
  .hdr{background:var(--c-bg);border-bottom:1px solid var(--c-line);}
  .hdr-in{grid-template-columns:44px auto 1fr auto;}
  .hdr .marca{flex-direction:row;justify-self:start;gap:10px;}
  .hdr .marca .marca-txt{align-items:flex-start;}
  .marca img{height:48px;} .marca-txt b{font-size:22px;font-weight:800;} .marca-txt small{font-size:10px;letter-spacing:2px;}
  .hdr-acc{grid-column:4;gap:8px;} .hdr-solo-esc{display:inline-flex;} .hdr-solo-movil{display:none;}
  .buscar-movil,.hero-m,.cats-m,.pdd-m,.bnav{display:none;}
  .hero{display:block;background:var(--c-bg-soft);overflow:hidden;}
  .hero-in{display:grid;grid-template-columns:55% 45%;align-items:center;min-height:460px;padding-top:40px;padding-bottom:86px;}
  .hero-script{font-family:var(--f-script);font-size:30px;font-weight:700;color:var(--c-ink);line-height:1;}
  .hero h1{font-size:clamp(44px,6.1vw,88px);font-weight:800;line-height:1;letter-spacing:-2px;margin-top:10px;}
  .hero h1 span{display:block;} .hero h1 .hl{color:var(--c-primary);display:flex;align-items:center;gap:14px;}
  .corazon{width:46px;height:42px;color:var(--c-primary);flex-shrink:0;transform:rotate(8deg);}
  .hero-p{font-size:17px;line-height:1.6;color:var(--c-text);max-width:430px;margin-top:20px;}
  .hero-btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px;}
  .hero-social{display:flex;align-items:center;gap:16px;margin-top:28px;}
  .avatares{display:flex;} .avatares img{width:40px;height:40px;border-radius:50%;border:3px solid var(--c-bg-soft);object-fit:cover;margin-left:-10px;} .avatares img:first-child{margin-left:0;}
  .hero-social-t{display:flex;flex-direction:column;gap:2px;} .hero-social-t b{font-size:14px;font-weight:500;color:var(--c-ink);} .hero-social-t .estrellas{font-size:15px;}
  .hero-vis{position:relative;height:100%;min-height:380px;}
  .hero-plato{position:absolute;top:50%;left:6%;transform:translateY(-50%);width:min(560px,52vw);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.18);border:10px solid #fff;}
  .hero-plato img{width:100%;height:100%;object-fit:cover;object-position:100% 50%;transform:translateX(-6%) scale(1.22);transform-origin:57% 49%;}
  .hero-sec{position:absolute;right:-6%;bottom:-6%;width:clamp(150px,17vw,250px);aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:0 22px 44px rgba(0,0,0,.2);border:8px solid #fff;}
  .hero-sec img{width:100%;height:100%;object-fit:cover;}
  .hero-hojas{position:absolute;left:-6%;top:4%;width:160px;color:#9CB77A;opacity:.55;}
  .hero-flot{position:absolute;top:8%;right:0;display:flex;align-items:center;gap:14px;padding:14px 22px 14px 14px;border-radius:20px;background:#fff;box-shadow:var(--sh-float);z-index:3;}
  .hero-flot-ic{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#E9F7EF;color:var(--c-success);font-size:24px;}
  .hero-flot b{display:block;font-size:14px;font-weight:600;color:#111;} .hero-flot strong{display:block;font-size:20px;font-weight:700;color:var(--c-primary);line-height:1.2;}
  .benef{position:relative;z-index:2;margin-top:-52px;}
  .benef-in{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 0;overflow:visible;padding:20px 12px;background:var(--c-card);border-radius:var(--r-lg);box-shadow:var(--sh-float);}
  .benef-it{flex:none;flex-direction:row;align-items:center;gap:14px;padding:6px 18px;background:none;border-radius:0;box-shadow:none;position:relative;}
  .benef-it .ic-circ{width:56px;height:56px;font-size:26px;}
  .sec{padding-top:44px;} .sec-hd h2,.sec-tit-c{font-size:24px;font-weight:600;} .sec-hd{margin-bottom:20px;}
  .sec-cats{display:block;} .cats-grid{grid-template-columns:repeat(3,1fr);}
  .hscroll-m{display:grid;overflow:visible;padding-bottom:0;}
  .pop-grid{grid-template-columns:repeat(3,1fr);gap:20px;}
  .pcard{width:auto;min-width:0;border-radius:var(--r-md);} .pcard-img{height:150px;} .pcard-tit{font-size:15px;} .pcard-rate{font-size:13px;gap:4px;} .pcard-body{padding:14px;}
  .hdr .marca img{height:48px;} .hdr .marca-txt b{font-size:22px;} .hdr .marca-txt small{font-size:10px;letter-spacing:2px;margin-top:3px;}
  main{display:block;} .pcard .btn-heart{display:inline-flex;}
  .pcard .tag{display:none;} .pcard-body{padding:14px;} .pcard-tit{font-size:15px;} .pcard-desc{display:-webkit-box;}
  .precio strong{font-size:18px;} .btn-add{width:32px;height:32px;border-radius:8px;font-size:18px;} .badge-agotado{top:118px;} .cupon{padding:14px 26px;}
  .sec-pdd{display:block;} .pdd-grid{grid-template-columns:1fr;}
  .promo{grid-template-columns:1fr 1fr;align-items:center;padding:28px 30px;min-height:170px;}
  .promo-txt h2{font-size:32px;} .promo-img{position:relative;right:auto;bottom:auto;justify-self:end;width:170px;height:170px;margin:-40px -50px -40px 0;grid-column:2;grid-row:1/3;}
  .promo-cupon{grid-column:1;}
  .pasos{grid-template-columns:1fr 1fr;gap:26px 20px;}
  .paso{flex-direction:row;text-align:left;align-items:center;padding:0;background:none;box-shadow:none;gap:16px;}
  .paso .ic-circ.grande{width:64px;height:64px;font-size:30px;}
  .sec-testi{background:var(--c-bg-soft);margin-top:48px;padding:56px 0;} .sec-testi .sec-tit-c{margin-bottom:28px;}
  .testi-grid{grid-template-columns:repeat(3,1fr);gap:20px;} .testi{flex:none;}
  .gal{grid-template-columns:repeat(3,1fr);grid-auto-rows:170px;gap:14px;} .gal-it{aspect-ratio:auto;}
  .gal-it:nth-child(1),.gal-it:nth-child(5){grid-row:span 2;}
  .ftr{margin-top:56px;}
  .ftr-top-in{grid-template-columns:1fr 1fr;gap:32px;padding-block:44px;}
  .ftr-marca{grid-column:1/-1;}
  .ftr-links{grid-template-columns:repeat(2,1fr);gap:24px 30px;padding-top:34px;}
  .ftr-grupo{border:0;} .ftr-grupo summary{pointer-events:none;padding:0 0 10px;} .ftr-grupo summary::after{display:none;}
  .ftr-frase{grid-column:1/-1;}
  .wa-float{right:24px;bottom:24px;width:58px;height:58px;font-size:28px;}
  .toasts{left:auto;right:24px;top:24px;bottom:auto;align-items:flex-end;}
}

/* ========================================================================
   ≥ 992 px — laptop
   ===================================================================== */
@media (min-width:992px){
  :root{--header-h:84px;}
  .tb-izq,.tb-soporte{display:flex;} .topbar-in{justify-content:space-between;} .tb-der{position:static;}
  .hdr-in{grid-template-columns:auto 1fr auto;gap:24px;}
  .hdr-burger{display:none;} .hdr .marca{grid-column:1;} .hdr-acc{grid-column:3;}
  .hdr-nav{display:block;justify-self:center;} .hdr-nav ul{display:flex;align-items:center;gap:22px;}
  .nav-link{font-size:14px;}
  .marca img,.hdr .marca img{height:52px;} .marca-txt b,.hdr .marca-txt b{font-size:24px;} .marca-txt small,.hdr .marca-txt small{font-size:11px;}
  .hero-in{grid-template-columns:46% 54%;min-height:560px;padding-top:56px;}
  .hero-plato{left:10%;width:min(560px,44vw);}
  .benef-in{grid-template-columns:repeat(5,1fr);padding:22px 8px;min-height:118px;align-items:center;}
  .benef-it{padding:0 16px;} .benef-it+.benef-it::before{content:"";position:absolute;left:0;top:50%;height:44px;margin-top:-22px;width:1px;background:var(--c-line);}
  .benef-it small{display:none;}
  .cats-grid{grid-template-columns:repeat(6,1fr);gap:16px;}
  .pop-grid{grid-template-columns:repeat(4,1fr);} .pop-grid .pcard:nth-child(n+5){display:none;}
  .pdd-grid{grid-template-columns:repeat(3,1fr);}
  .promo{grid-template-columns:170px 1fr auto 170px;gap:24px;padding:0 0 0 24px;height:170px;min-height:0;}
  .promo-bolsa{display:flex;align-items:center;position:relative;z-index:2;}
  .bolsa{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:120px;height:140px;border-radius:18px 18px 22px 22px;background:linear-gradient(160deg,#F57A35,var(--c-primary-dark));transform:rotate(-6deg);box-shadow:0 18px 30px rgba(0,0,0,.4);position:relative;}
  .bolsa::before{content:"";position:absolute;top:-16px;left:50%;width:54px;height:30px;margin-left:-27px;border:5px solid #B8420E;border-bottom:0;border-radius:30px 30px 0 0;}
  .bolsa img{width:78px;height:auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));} .bolsa b{color:#fff;font-size:15px;font-weight:700;}
  .rayas{display:none;position:absolute;right:-12px;top:36px;width:18px;height:40px;border-right:2px solid var(--c-accent);border-top:2px solid transparent;opacity:.7;}
  .rayas::before,.rayas::after{content:"";position:absolute;right:6px;width:12px;height:2px;background:var(--c-accent);} .rayas::before{top:4px;} .rayas::after{bottom:4px;}
  .promo-txt,.promo-cupon{grid-column:auto;} .promo-cupon{align-items:center;}
  .promo-img{grid-column:auto;grid-row:auto;width:190px;height:190px;margin:0 -10px 0 0;}
  .pasos{grid-template-columns:repeat(4,1fr);gap:20px;}
  .paso .flecha{display:block;position:absolute;right:-26px;top:50%;width:48px;margin-top:-5px;color:var(--c-primary);}
  .paso{padding-right:26px;}
  .ftr-top-in{grid-template-columns:1fr 1.25fr 1fr;gap:0;}
  .ftr-col{padding:0 30px;} .ftr-col:first-child{padding-left:0;} .ftr-col:last-child{padding-right:0;}
  .ftr-col+.ftr-col{border-left:1px solid var(--c-dark-3);}
  .ftr-marca{grid-column:auto;}
  .ftr-plato{display:block;flex-shrink:0;width:150px;height:150px;border-radius:50%;overflow:hidden;margin-top:-60px;box-shadow:0 20px 40px rgba(0,0,0,.5),0 0 0 6px rgba(232,93,31,.15);}
  .ftr-plato img{width:100%;height:100%;object-fit:cover;}
  .ftr-links{grid-template-columns:repeat(4,1fr) 1.3fr;align-items:start;}
  .marca-f .marca-txt b{font-size:20px;} .marca-f img{height:44px;}
  .ftr-frase{grid-column:auto;padding:4px 0 0;align-items:flex-end;}
}

/* ========================================================================
   ≥ 1200 px — escritorio (web.jpg)
   ===================================================================== */
@media (min-width:1200px){
  .hdr-nav ul{gap:34px;} .nav-link{font-size:15px;}
  .hdr-acc{gap:14px;}
  .hero-script{font-size:34px;}
  .hero-plato{left:12%;}
  .benef-it small{display:block;}
  .cats-grid{gap:20px;}
  .pop-grid{grid-template-columns:repeat(5,1fr);} .pop-grid .pcard:nth-child(n+5){display:flex;}
  .promo-txt h2{font-size:36px;} .promo-sub{font-size:26px;}
  .marca-f .marca-txt b{font-size:24px;} .marca-f img{height:50px;}
  .paso b{font-size:15px;}
}
@media (min-width:1400px){ .hero-sec{right:-4%;} }
