/* ============================================================
   RESERVA CÁRNICA — styles.css
   Layout y componentes. Requiere brand.css cargado antes:
   todos los colores, tipografías y formas salen de allí.
   ============================================================ */

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--white);color:var(--muted);
  font-family:var(--f-body);font-size:var(--t-body);
  line-height:var(--body-leading);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
h1,h2,h3,h4,p,figure,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* ---------- Base de composición ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.sec{padding-block:var(--sec-y);position:relative;overflow:hidden}
@media (max-width:640px){
  .sec{padding-block:clamp(2.6rem,9vw,3.4rem)}
  .s-head{margin-bottom:1.8rem}
  .prods{gap:1.1rem}
}
.sec--cream{background:var(--cream)}
.sec--tight{padding-block:clamp(2.5rem,5vw,4rem)}

.display{
  font-family:var(--f-display);font-weight:var(--display-weight);
  text-transform:var(--display-case);line-height:var(--display-leading);
  letter-spacing:var(--display-tracking);color:var(--ink);
  text-wrap:balance;margin:0;
}
.tnum{font-variant-numeric:tabular-nums}

/* ---------- Encabezado de sección (componente de marca) ---------- */
.s-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;margin-bottom:clamp(2.2rem,4.5vw,3.5rem)}
.s-head--left{align-items:flex-start;text-align:left}
/* dentro de un contenedor con gap, el margen del encabezado se sumaría dos veces */
.duo__in > .s-head,.combo__l > .s-head{margin-bottom:0}
.s-head__mark{width:56px;height:17px;color:var(--red);margin-bottom:.35rem}
.s-head__eyebrow{
  font-family:var(--f-body);font-weight:700;font-size:var(--t-eyebrow);
  letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;
  color:var(--red);line-height:1.4;
}
.s-head__title{font-size:var(--t-h2)}
.s-head__sub{max-width:62ch;color:var(--muted);margin-top:.4rem}
.s-head--left .s-head__sub{margin-left:0}

/* ---------- Imagen decorativa de fondo ---------- */
/* Antes eran ilustraciones dibujadas en CSS. Ahora se suben desde el panel:
   si no hay imagen, la sección queda limpia. */
.sec__fondo{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-repeat:no-repeat;background-position:center;background-size:cover;
  opacity:.14;
}
.sec > .wrap{position:relative;z-index:1}
@media (max-width:900px){.sec__fondo{display:none}}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:1rem 1.9rem;
  font-family:var(--f-display);font-weight:600;font-size:.86rem;
  letter-spacing:var(--btn-tracking);text-transform:uppercase;
  border:var(--rule-w) solid transparent;border-radius:var(--btn-radius);
  cursor:pointer;transition:background .18s,color .18s,border-color .18s;
}
.btn svg{width:17px;height:17px;flex:none}
.btn--red{background:var(--red);color:#fff;border-color:var(--red)}
.btn--red:hover{background:var(--red-dark);border-color:var(--red-dark)}
.btn--dark{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--dark:hover{background:var(--red);border-color:var(--red)}
.btn--line{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--line:hover{border-color:var(--red);color:var(--red)}
.btn--onshot{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn--onshot:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn--white{background:#fff;color:var(--red);border-color:#fff}
.btn--white:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--sm{padding:.72rem 1.15rem;font-size:.78rem}

/* ============================================================
   HEADER
   ============================================================ */
.hdr{position:sticky;top:0;z-index:60;background:var(--nav);color:var(--on-nav)}
.hdr__in{display:flex;align-items:center;gap:2rem;min-height:82px;padding-block:.7rem}
/* Sin fondo: el logo es un PNG con transparencia sobre la barra oscura */
.logo{display:block;flex:none;line-height:0}
.logo img{height:56px;width:auto;object-fit:contain}
.logo svg{height:56px;width:56px}
.logo svg,.ft__logo svg{background:#fff;padding:.2rem}
/* el sello SVG es solo respaldo: se oculta si el logo real cargó */
.logo img+svg,.ft__logo img+svg{display:none}
.nav{display:flex;gap:2.2rem;margin-right:auto}
.nav a{
  font-family:var(--f-display);font-weight:500;font-size:.94rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--on-nav);
  transition:color .15s;
}
.nav a:hover,.nav a.is-on{color:var(--nav-active)}
.hdr__tel{font-family:var(--f-display);font-size:.94rem;letter-spacing:.05em;color:var(--on-nav);opacity:.8}
.hdr__cart{position:relative;color:var(--on-nav);padding:.4rem;display:grid;place-items:center}
/* display ganaría sobre el atributo hidden: el carrito solo aparece con WooCommerce */
.hdr__cart[hidden]{display:none}
.hdr__cart svg{width:23px;height:23px}
.hdr__count{
  position:absolute;top:-2px;right:-4px;min-width:17px;height:17px;padding:0 4px;
  background:var(--red);color:#fff;border-radius:9px;
  font-family:var(--f-body);font-weight:700;font-size:.62rem;
  display:grid;place-items:center;font-variant-numeric:tabular-nums;
}
/* Botón de menú: solo móvil */
.navbtn{
  display:none;width:44px;height:44px;background:transparent;border:0;cursor:pointer;
  flex-direction:column;justify-content:center;gap:5px;padding:0 10px;
}
.navbtn span{display:block;height:2px;background:var(--on-nav);transition:transform .22s,opacity .18s}
.navbtn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.navbtn[aria-expanded="true"] span:nth-child(2){opacity:0}
.navbtn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (prefers-reduced-motion:reduce){.navbtn span{transition:none}}
.hdr__tel:hover{opacity:1}
@media (max-width:980px){
  .navbtn{display:flex}
  .nav{
    position:absolute;left:0;right:0;top:100%;
    flex-direction:column;gap:0;background:var(--nav);
    border-top:1px solid rgba(255,255,255,.12);
    padding:.5rem var(--gutter) 1rem;
  }
  .nav:not(.is-open){display:none}
  .nav a{padding-block:.95rem;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.08)}
  .hdr__in{position:relative}
  .hdr__tel{margin-left:auto}
}
@media (max-width:620px){
  .hdr__tel,.hdr__cta{display:none}
  .hdr__in{min-height:64px;gap:.75rem}
  .logo img,.logo svg{height:42px}
  .hdr__cart{margin-left:auto}
}

/* ============================================================
   HERO — dos columnas: texto y foto enmarcada
   ============================================================ */
.hero{position:relative;background:var(--shot);color:#fff;isolation:isolate}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover}
.hero__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.86) 45%,rgba(10,10,10,.62) 100%);
}
.hero__in{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.06fr .94fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:center;
  padding-block:clamp(3.5rem,7vw,6rem);
}
@media (max-width:940px){.hero__in{grid-template-columns:1fr;gap:2.5rem}}
.hero__eyebrow{
  font-family:var(--f-body);font-weight:600;
  font-size:clamp(.85rem,1.3vw,1.05rem);
  letter-spacing:.26em;text-transform:uppercase;color:#fff;margin-bottom:1.1rem;
}
.hero h1{font-size:var(--t-h1);color:#fff;margin-bottom:1.1rem}
.hero__promise{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.2;color:#fff;
  padding-left:.95rem;border-left:var(--accent-w) solid var(--red);margin-bottom:1.2rem;
}
.hero__lead{font-size:var(--t-lead);color:rgba(255,255,255,.85);max-width:44ch;margin-bottom:2rem;line-height:1.75}
.hero__cta{display:flex;flex-wrap:wrap;gap:.8rem}

/* Foto del hero con el marco rojo desplazado y la etiqueta de presentación */
.hero__fig{position:relative;padding:0 0 2.4rem 2.4rem}
.hero__fig::before{content:"";position:absolute;left:0;bottom:0;width:76%;height:86%;border:var(--frame-w) solid var(--red);z-index:0}
.hero__shot{position:relative;z-index:1;aspect-ratio:4/5;background:#141010;overflow:hidden}
.hero__shot img{width:100%;height:100%;object-fit:cover}
.hero__chip{
  position:absolute;left:0;bottom:0;z-index:2;background:var(--red);color:#fff;
  padding:.75rem 1.1rem;display:flex;flex-direction:column;gap:.1rem;
}
.hero__chip .k{font-family:var(--f-body);font-weight:700;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;opacity:.85}
.hero__chip .v{font-family:var(--f-display);font-weight:600;font-size:1.5rem;line-height:1;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:940px){.hero__fig{padding:0 0 1.6rem 1.6rem;max-width:26rem}.hero__shot{aspect-ratio:5/4}}
@media (max-width:640px){
  .hero__in{padding-block:1.9rem 2.2rem;gap:1.75rem}
  .hero__eyebrow{margin-bottom:.7rem;letter-spacing:.2em}
  .hero h1{font-size:clamp(2.3rem,11vw,3.1rem);margin-bottom:.8rem}
  .hero__promise{margin-bottom:.85rem}
  .hero__lead{margin-bottom:1.35rem}
  .hero__cta{gap:.6rem}
  .hero__cta .btn{flex:1 1 100%;padding-block:1.05rem}
  .hero__fig{order:2;margin-inline:auto}
}

/* Tira de atributos */
.strip{background:var(--cream);border-bottom:var(--rule-w) solid var(--line)}
.strip ul{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 0}
.strip li{
  display:flex;align-items:center;gap:1.5rem;padding:1.05rem 0;
  font-family:var(--f-display);font-weight:500;font-size:.85rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);
}
.strip li::after{content:"";width:5px;height:5px;background:var(--red);flex:none}
.strip li:last-child::after{display:none}
.strip li+li{padding-left:1.5rem}
@media (max-width:720px){
  /* como lista vertical ocupaba ~290px: se compacta en pastillas */
  .strip ul{gap:.45rem;padding-block:1.1rem}
  .strip li{
    padding:.4rem .7rem;border:var(--rule-w) solid var(--line);
    background:var(--white);font-size:.68rem;letter-spacing:.08em;gap:0;
  }
  .strip li::after{display:none}
  .strip li+li{padding-left:.7rem}
}

/* ============================================================
   CÍRCULOS DE ÍCONO (categorías y canales)
   ============================================================ */
.discs{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(2rem,7vw,6rem)}
.disc{display:flex;flex-direction:column;align-items:center;gap:1.1rem;text-align:center;max-width:15rem}
.disc__c{
  width:clamp(96px,11vw,140px);aspect-ratio:1;border-radius:50%;
  display:grid;place-items:center;background:var(--cream-2);color:var(--red);
  transition:background .22s,color .22s,transform .22s;
}
.disc__c svg{width:46%;height:auto;aspect-ratio:1}
/* Ícono de marca en imagen; el SVG de al lado queda solo como respaldo */
.disc__c .ico{width:52%;height:auto}
.why__c .ico{width:30px;height:auto}
.disc__c .ico+svg,.why__c .ico+svg{display:none}
.disc--on .disc__c,a.disc:hover .disc__c{background:var(--red);color:#fff}
a.disc:hover .disc__c{transform:translateY(-4px)}
@media (prefers-reduced-motion:reduce){.disc__c{transition:none}a.disc:hover .disc__c{transform:none}}
.disc__n{font-family:var(--f-display);font-weight:600;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.disc--on .disc__n{color:var(--red)}
.disc--soon .disc__c{background:var(--cream-2);color:var(--muted-2)}
.disc--soon .disc__n{color:var(--muted-2)}
.disc__p{font-size:var(--t-small);line-height:1.7;color:var(--muted)}
.disc__tag{
  font-family:var(--f-body);font-weight:700;font-size:.68rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted-2);
}
.disc--on .disc__tag{color:var(--red)}

/* Variante compacta para canales */
.discs--sm .disc__c{width:clamp(74px,7vw,92px)}
.cat .disc__c{width:clamp(72px,7vw,88px)}
.discs--sm .disc__n{font-size:1rem}

/* Fichas de categoría: el círculo dentro de una tarjeta con descripción */
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.5rem)}
@media (max-width:820px){.cats{grid-template-columns:1fr;max-width:30rem;margin-inline:auto}}
.cat{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;
  padding:clamp(1.5rem,2.6vw,2.1rem) clamp(1.2rem,2.5vw,1.8rem);
  background:var(--white);border:var(--rule-w) solid var(--line);
  transition:border-color .18s;
}
a.cat:hover{border-color:var(--red)}
.cat__n{font-family:var(--f-display);font-weight:600;font-size:1.35rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);line-height:1}
.cat--on .cat__n{color:var(--red)}
.cat--soon .cat__n{color:var(--muted-2)}
.cat__d{font-size:var(--t-small);line-height:1.7;max-width:32ch}
.cat__cta{
  margin-top:auto;font-family:var(--f-display);font-weight:600;font-size:.82rem;
  letter-spacing:var(--btn-tracking);text-transform:uppercase;color:var(--red);
  padding:.7rem 1.2rem;border:var(--rule-w) solid var(--red);
  transition:background .18s,color .18s;
}
a.cat:hover .cat__cta{background:var(--red);color:#fff}

/* Líneas de producto: una sola fila discreta, no una sección completa */
.lineas{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .75rem;
  margin-top:clamp(1.5rem,3vw,2.2rem);padding-top:1.3rem;
  border-top:var(--rule-w) solid var(--line);
}
.lineas span{
  font-family:var(--f-display);font-weight:500;font-size:.8rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);
  padding:.35rem .75rem;border:var(--rule-w) solid var(--line);
}
.lineas .lineas__on{color:var(--red);border-color:var(--red)}

/* ============================================================
   FOTO CON MARCO ROJO (componente de marca)
   ============================================================ */
.split{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
@media (max-width:920px){.split{grid-template-columns:1fr;gap:2.5rem}}
.framed{position:relative;padding:0 0 2.6rem 2.6rem}
.framed::before{
  content:"";position:absolute;left:0;bottom:0;width:78%;height:88%;
  border:var(--frame-w) solid var(--red);z-index:0;
}
.framed__ph{position:relative;z-index:1;aspect-ratio:3/4;background:var(--cream);overflow:hidden}
.framed__ph img{width:100%;height:100%;object-fit:cover}
@media (max-width:920px){.framed{padding:0 0 1.6rem 1.6rem}}
.framed__dec{position:absolute;right:-9%;bottom:-4%;width:46%;max-width:260px;z-index:2;pointer-events:none}
@media (max-width:920px){.framed__dec{width:38%;right:-4%}}

.split > div > p,
.home__grid > div > p{max-width:58ch}
.attrgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem 1.5rem;margin-block:1.6rem}
@media (max-width:640px){.attrgrid{grid-template-columns:repeat(2,1fr)}}
.attrgrid li{
  font-family:var(--f-display);font-weight:500;font-size:.86rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);line-height:1.45;
}
.microhead{
  font-family:var(--f-display);font-weight:600;font-size:1.05rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-top:1.9rem;
}

/* ============================================================
   PRODUCTOS
   ============================================================ */
.prods{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.5vw,2rem)}
@media (max-width:940px){.prods{grid-template-columns:1fr;max-width:30rem;margin-inline:auto}}
.pcard{display:flex;flex-direction:column;background:var(--white);border:var(--rule-w) solid var(--line);transition:border-color .18s}
.pcard:hover{border-color:var(--red)}
.pcard__media{position:relative;aspect-ratio:4/3;background:var(--white);overflow:hidden}
.pcard__sku{
  position:absolute;top:0;left:0;z-index:2;background:var(--ink);color:#fff;
  padding:.35rem .6rem;font-family:var(--f-body);font-weight:700;
  font-size:.62rem;letter-spacing:.14em;
}
.pcard__media img{width:100%;height:100%;object-fit:cover}
/* foto de pack sobre blanco: se muestra entera, sin recortar */
.pcard.is-packshot .pcard__media{background:#fff}
.pcard.is-packshot .pcard__media img{object-fit:contain;padding:.6rem}
.pcard__w{
  background:var(--red);color:#fff;text-align:center;padding:.85rem 1rem;
  font-family:var(--f-display);font-weight:600;font-size:1rem;
  letter-spacing:.14em;text-transform:uppercase;
}
.pcard__body{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;flex:1}
.pcard__n{font-family:var(--f-display);font-weight:600;font-size:1.3rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:1.25}
.pcard__d{font-size:var(--t-small);line-height:1.75}
.pcard__price{
  display:flex;align-items:baseline;gap:.15rem .6rem;flex-wrap:wrap;margin-top:auto;
  padding-top:.9rem;border-top:var(--rule-w) solid var(--line);
}
.pcard__price b{font-family:var(--f-display);font-weight:600;font-size:1.75rem;color:var(--red);font-variant-numeric:tabular-nums;line-height:1}
.pcard__kg{font-size:.82rem;color:var(--muted-2);font-variant-numeric:tabular-nums}
.pcard__ask{font-size:.9rem;color:var(--muted-2)}
/* precio anterior: ocupa su propia línea, discreto, sobre el precio vigente */
.pcard__was{
  flex:1 0 100%;font-size:.78rem;color:var(--muted-2);
  font-variant-numeric:tabular-nums;text-decoration-thickness:1px;
}
/* etiqueta de descuento, sobre la foto y frente al SKU */
.pcard__off{
  position:absolute;top:0;right:0;z-index:2;background:var(--red);color:#fff;
  padding:.4rem .65rem;font-family:var(--f-display);font-weight:600;
  font-size:.92rem;letter-spacing:.05em;font-variant-numeric:tabular-nums;
}
.pcard__off[hidden]{display:none}

/* Etiquetas de precio */
.pcard__lbl{
  flex:1 0 100%;font-family:var(--f-body);font-weight:700;font-size:.62rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);
}
.pcard__row{flex:1 0 100%;display:flex;align-items:baseline;gap:.5rem}
.pcard__row .pcard__lbl{flex:none}
.pcard__now{flex:1 0 100%;display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;margin-top:.1rem}

/* Agotado */
.pcard__stock{
  position:absolute;inset:auto 0 0 0;z-index:3;background:var(--ink);color:#fff;
  padding:.55rem;text-align:center;font-family:var(--f-display);font-weight:600;
  font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;
}
.pcard__stock[hidden]{display:none}
.pcard.is-out .pcard__media img{filter:grayscale(1);opacity:.5}
.pcard.is-out .pcard__w{background:var(--muted-2)}
.pcard.is-out .pcard__price b{color:var(--muted-2)}
.btn[disabled]{background:var(--cream-2);color:var(--muted-2);border-color:var(--cream-2);cursor:not-allowed}
.btn[disabled]:hover{background:var(--cream-2);color:var(--muted-2);border-color:var(--cream-2)}

/* Nota al pie de la sección de productos */
.pnote{
  margin-top:1.4rem;font-size:.76rem;line-height:1.6;color:var(--muted-2);text-align:center;
}
.pcard__buy{display:flex;gap:.6rem;align-items:stretch}
.pcard__buy .btn{flex:1}
.stepper--sm{border:var(--rule-w) solid var(--line);flex:none}
.stepper--sm button{width:34px;height:100%;min-height:42px;flex:none}
.stepper--sm input{width:40px;height:auto;min-height:42px;font-size:.95rem}

.volnote{
  margin-top:2rem;padding:1.3rem 1.5rem;background:var(--cream);
  display:flex;flex-wrap:wrap;align-items:center;gap:1rem;
  font-size:var(--t-small);
}
.volnote strong{color:var(--ink);font-family:var(--f-display);font-weight:600;letter-spacing:.03em;text-transform:uppercase}
.volnote .btn{margin-left:auto}

/* ============================================================
   ARMA TU PEDIDO — tarjetas con separador "+" y panel rojo
   (réplica del bloque de packs de la web actual)
   ============================================================ */
.combo{position:relative;background:var(--shot);color:#fff;isolation:isolate}
.combo__bg{position:absolute;inset:0;z-index:0}
.combo__bg img{width:100%;height:100%;object-fit:cover}
.combo__bg::after{content:"";position:absolute;inset:0;background:rgba(10,10,10,.78)}
.combo__in{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1fr minmax(290px,380px);align-items:stretch;
  padding-left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));
}
@media (max-width:980px){
  .combo__in{grid-template-columns:1fr;padding-inline:var(--gutter)}
  /* El resumen sube: así se ve el total mientras se eligen los packs,
     en vez de quedar enterrado bajo las tarjetas. */
  .combo__l{order:2;padding-block:0 clamp(2rem,5vw,3rem)}
  .combo__panel{order:1;padding-block:clamp(1.6rem,4vw,2.4rem)}
  .combo__hd{margin-bottom:1.2rem}
}
.combo__l{padding-block:clamp(2.5rem,5vw,4rem);padding-right:clamp(1.5rem,3vw,3rem)}
@media (max-width:980px){.combo__l{padding-right:0}}
.combo__hd{margin-bottom:clamp(1.5rem,3vw,2.2rem)}
.combo__hd .s-head__eyebrow{color:#fff;opacity:.85}
.combo__hd h2{font-size:clamp(1.7rem,3.2vw,2.6rem);color:#fff}
.combo__sub{color:rgba(255,255,255,.82);font-size:var(--t-small);max-width:46ch}

.combo__items{display:flex;align-items:stretch;gap:0;flex-wrap:wrap}
.combo__i{flex:1 1 190px;min-width:0;display:flex;flex-direction:column;gap:.7rem}
.combo__n{
  font-family:var(--f-display);font-weight:600;font-size:clamp(1rem,1.6vw,1.3rem);
  letter-spacing:.05em;text-transform:uppercase;color:#fff;
}
.combo__card{background:#fff;display:flex;flex-direction:column;flex:1}
.combo__ph{position:relative;aspect-ratio:1;background:#fff;overflow:hidden}
.combo__ph img{width:100%;height:100%;object-fit:contain;padding:.5rem}
.combo__w{
  background:var(--red);color:#fff;text-align:center;padding:.7rem .5rem;
  font-family:var(--f-display);font-weight:600;font-size:.92rem;
  letter-spacing:.1em;text-transform:uppercase;
}
.combo__plus{
  flex:0 0 clamp(38px,4vw,56px);align-self:stretch;background:var(--ink);color:#fff;
  display:grid;place-items:center;font-family:var(--f-display);font-weight:400;
  font-size:clamp(1.4rem,2.4vw,2rem);line-height:1;margin-top:2.3rem;
}
@media (max-width:620px){
  /* En columna, cada tarjeta medía casi una pantalla. Pasa a fila:
     foto pequeña a la izquierda, nombre, peso y selector a la derecha. */
  .combo__items{flex-direction:column;gap:.6rem}
  .combo__plus{display:none}
  .combo__i{flex:1 1 auto;gap:0}
  .combo__n{
    background:var(--ink);color:#fff;margin:0;padding:.5rem .8rem;
    font-size:.88rem;letter-spacing:.1em;
  }
  .combo__i.is-on .combo__n{background:var(--red)}
  .combo__card{display:grid;grid-template-columns:78px 1fr;align-items:center}
  .combo__ph{aspect-ratio:1}
  .combo__w{
    grid-column:2;background:transparent;color:var(--ink);text-align:left;
    padding:.6rem .9rem 0;font-size:.9rem;
  }
  .combo__i.is-on .combo__w{background:transparent;color:var(--red)}
  .combo__card .stepper{grid-column:2;border-top:0;justify-self:start;margin:.2rem .6rem .6rem}
  .combo__card .stepper button{flex:0 0 40px}
}

/* Selector de cantidad dentro de cada tarjeta */
.stepper{display:flex;align-items:center;border-top:var(--rule-w) solid var(--line)}
.stepper button{flex:1;height:42px;background:#fff;border:0;cursor:pointer;color:var(--ink-2);font-size:1.2rem;line-height:1;transition:background .15s,color .15s}
.stepper button:hover{background:var(--red);color:#fff}
.stepper input{
  width:52px;height:42px;text-align:center;background:#fff;border:0;
  border-inline:var(--rule-w) solid var(--line);color:var(--ink);
  font-family:var(--f-display);font-weight:600;font-size:1.05rem;
  font-variant-numeric:tabular-nums;-moz-appearance:textfield;
}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.combo__stock{
  position:absolute;top:0;left:0;right:0;z-index:3;background:var(--ink);color:#fff;
  padding:.45rem;text-align:center;font-family:var(--f-display);font-weight:600;
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
}
.combo__stock[hidden]{display:none}
.combo__card{position:relative}
.combo__i.is-out .combo__ph img{filter:grayscale(1);opacity:.45}
.combo__i.is-out .combo__w{background:var(--muted-2)}
.combo__i.is-out .combo__n{color:var(--muted-2)}
.stepper button[disabled],.stepper input[disabled]{color:var(--muted-2);cursor:not-allowed;background:var(--cream)}
.stepper button[disabled]:hover{background:var(--cream);color:var(--muted-2)}
.combo__i.is-on .combo__w{background:var(--red-dark)}
.combo__i.is-on .combo__n{color:var(--red-soft)}

/* Panel rojo del pedido */
.combo__panel{
  position:relative;background:var(--red);color:#fff;overflow:hidden;
  padding:clamp(2rem,3.5vw,3rem) clamp(1.6rem,3vw,2.4rem);
  padding-right:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)));
  display:flex;flex-direction:column;gap:1.1rem;justify-content:center;
}
@media (max-width:980px){.combo__panel{padding-right:clamp(1.6rem,3vw,2.4rem)}}
.combo__panel::before{content:"";position:absolute;inset:0;background:var(--art-topo) repeat;pointer-events:none}
.combo__panel > *{position:relative;z-index:1}
.combo__panel h3{font-family:var(--f-display);font-weight:600;font-size:1.3rem;letter-spacing:.12em;text-transform:uppercase}
.qtot{display:flex;flex-direction:column;gap:.9rem}
@media (max-width:980px){
  .qtot{flex-direction:row;flex-wrap:wrap;gap:1.5rem}
  .qtot > span{flex:1;border-bottom:0;padding-bottom:0}
  .combo__panel .btn{width:100%}
}
.qtot > span{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding-bottom:.7rem;border-bottom:1px solid rgba(255,255,255,.25)}
.qtot .k{font-family:var(--f-body);font-weight:700;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.qtot .v{font-family:var(--f-display);font-weight:600;font-size:1.85rem;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}

.qnote{font-size:.74rem;line-height:1.6;opacity:.82}
.qlist{display:flex;flex-direction:column;gap:.45rem}
.qlist li{display:flex;justify-content:space-between;gap:.8rem;font-size:.82rem;opacity:.92;line-height:1.5}
.qlist li > span:first-child{min-width:0}
.qlist .q{font-variant-numeric:tabular-nums;white-space:nowrap}
.qempty{font-size:.85rem;opacity:.85;line-height:1.6}

/* ============================================================
   DIFERENCIALES — rejilla de seis celdas
   ============================================================ */
.why{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--rule-w);background:var(--line);border:var(--rule-w) solid var(--line)}
@media (max-width:900px){.why{grid-template-columns:repeat(2,1fr)}}
.why__i{
  background:var(--white);padding:clamp(1.6rem,2.8vw,2.2rem);
  display:flex;flex-direction:column;gap:.85rem;
}
.why__c{
  width:60px;height:60px;border-radius:50%;display:grid;place-items:center;
  background:var(--cream-2);color:var(--red);flex:none;
  transition:background .2s,color .2s;
}
.why__c svg{width:28px;height:28px}
.why__i--on .why__c{background:var(--red);color:#fff}
.why__i h3{font-family:var(--f-display);font-weight:600;font-size:1.15rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink)}
.why__i p{font-size:var(--t-small);line-height:1.75;max-width:34ch}
@media (max-width:620px){
  /* a dos columnas los títulos se partían y las tarjetas quedaban muy altas:
     una sola columna con el ícono al lado ocupa menos y se lee mejor */
  .why{grid-template-columns:1fr}
  .why__i{
    display:grid;grid-template-columns:auto 1fr;
    grid-template-areas:"ico titulo" "ico texto";
    column-gap:1rem;row-gap:.2rem;align-items:center;
    padding:1.15rem 1.1rem;
  }
  .why__c{grid-area:ico;width:48px;height:48px;align-self:start}
  .why__c svg{width:23px;height:23px}
  .why__i h3{grid-area:titulo;font-size:1rem}
  .why__i p{grid-area:texto;font-size:.85rem;line-height:1.55;max-width:none}
}

/* ============================================================
   MERMA
   ============================================================ */
.bars{background:var(--white);border:var(--rule-w) solid var(--line);padding:clamp(1.5rem,3vw,2.2rem)}
.bars__t{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;font-family:var(--f-body);font-weight:700;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2)}
.bar+.bar{margin-top:1.6rem}
.bar__n{font-family:var(--f-display);font-weight:600;font-size:.95rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.6rem}
.bar__track{display:flex;height:38px;background:var(--cream)}
.bar__seg{display:flex;align-items:center;padding-inline:.85rem;font-family:var(--f-display);font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden}
.bar__seg--use{background:var(--red);color:#fff}
.bar__seg--waste{background:var(--merma);color:var(--ink-2)}
.bars__key{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.2rem;border-top:var(--rule-w) solid var(--line)}
.bars__key span{display:flex;align-items:center;gap:.5rem;font-family:var(--f-body);font-weight:700;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.bars__key i{width:12px;height:12px;display:block}
.bars__foot{margin-top:1rem;font-size:.76rem;line-height:1.6;color:var(--muted-2)}
.b2bnote{margin-top:1.8rem;padding:1.1rem 1.3rem;background:var(--white);border-left:var(--accent-w) solid var(--red);font-size:var(--t-small);line-height:1.75}
.b2bnote strong{color:var(--ink);font-family:var(--f-display);font-weight:600;letter-spacing:.04em;text-transform:uppercase}

/* ============================================================
   COMPARACIÓN — sin porcentajes ni cifras no verificadas
   ============================================================ */
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:var(--rule-w);background:var(--line);border:var(--rule-w) solid var(--line)}
@media (max-width:520px){.cmp{grid-template-columns:1fr}}
.cmp__c{background:var(--white);padding:clamp(1.3rem,2.4vw,1.8rem);display:flex;flex-direction:column;gap:.9rem}
.cmp__c--on{background:var(--red);color:#fff}
.cmp__t{
  font-family:var(--f-display);font-weight:600;font-size:1rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink);line-height:1.3;
  padding-bottom:.8rem;border-bottom:var(--rule-w) solid var(--line);
}
.cmp__c--on .cmp__t{color:#fff;border-bottom-color:rgba(255,255,255,.3)}
.cmp ul{display:flex;flex-direction:column;gap:.65rem}
.cmp li{position:relative;padding-left:1.1rem;font-size:var(--t-small);line-height:1.55}
.cmp li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;background:var(--muted-2)}
.cmp__c--on li::before{background:#fff}

/* ============================================================
   HOGAR / NEGOCIO — dos paneles al 50%
   ============================================================ */
.duo{display:grid;grid-template-columns:1fr 1fr}
@media (max-width:900px){.duo{grid-template-columns:1fr}}
.duo__p{padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,3vw,3rem);display:flex}
.duo__in{width:100%;max-width:calc(var(--maxw)/2 - var(--gutter));display:flex;flex-direction:column;gap:1.1rem}
.duo__p--home{background:var(--cream);color:var(--muted);justify-content:flex-end}
.duo__p--home .duo__in{margin-right:clamp(0px,2vw,2rem)}
.duo__p--biz{position:relative;background:var(--red);color:#fff;overflow:hidden}
.duo__p--biz::before{content:"";position:absolute;inset:0;background:var(--art-topo) repeat;pointer-events:none}
.duo__p--biz .duo__in{position:relative;z-index:1;margin-left:clamp(0px,2vw,2rem)}
@media (max-width:900px){.duo__in{max-width:none;margin:0 auto!important}}
.duo h2{font-size:clamp(1.8rem,3.2vw,2.7rem)}
.duo__p--biz h2,.duo__p--biz .s-head__title{color:#fff}
.duo__p--biz .s-head__eyebrow{color:#fff;opacity:.85}
.duo__p--biz .s-head__mark{color:#fff}
.duo__p--home p,.duo__p--biz p{max-width:44ch}
.duo__p--biz p{color:rgba(255,255,255,.9)}
.duo .btn{align-self:flex-start}

/* Lista de puntos: marca roja en claro, blanca sobre rojo */
.checks{display:flex;flex-direction:column;gap:.75rem;margin-block:.2rem .6rem}
.checks li{display:flex;gap:.8rem;align-items:flex-start;font-size:var(--t-small);line-height:1.65}
.checks svg{width:19px;height:19px;color:var(--red);flex:none;margin-top:.35rem}
.duo__p--biz .checks svg{color:#fff}

/* ============================================================
   CALIDAD
   ============================================================ */
.qual{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,2.5rem);margin-top:2.5rem}
@media (max-width:780px){.qual{grid-template-columns:1fr}}
.qual li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;padding:1.8rem 1.2rem;background:var(--white);border:var(--rule-w) solid var(--line)}
.qual .disc__c{width:74px}
.qual b{font-family:var(--f-display);font-weight:600;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.qual span{font-size:var(--t-small);line-height:1.7}

/* ============================================================
   PASOS
   ============================================================ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,2.5rem)}
@media (max-width:840px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.steps{grid-template-columns:1fr}}
.step{display:flex;flex-direction:column;gap:.6rem;text-align:center;align-items:center}
.step__n{
  width:60px;height:60px;border-radius:50%;display:grid;place-items:center;
  background:var(--red);color:#fff;
  font-family:var(--f-display);font-weight:600;font-size:1.35rem;letter-spacing:.03em;
  margin-bottom:.3rem;
}
.step h3{font-family:var(--f-display);font-weight:600;font-size:1.1rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.step p{font-size:var(--t-small);line-height:1.7;max-width:24ch}

/* ============================================================
   CTA FINAL
   ============================================================ */
.final{position:relative;background:var(--shot);color:#fff;isolation:isolate;text-align:center}
.final__bg{position:absolute;inset:0;z-index:0}
.final__bg img{width:100%;height:100%;object-fit:cover}
.final__bg::after{content:"";position:absolute;inset:0;background:rgba(12,12,12,.76)}
.final__in{position:relative;z-index:1;padding-block:clamp(3.5rem,8vw,6.5rem);display:flex;flex-direction:column;align-items:center;gap:1.2rem}
.final .s-head__mark{color:#fff}
.final h2{font-size:var(--t-h2);color:#fff}
.final p{color:rgba(255,255,255,.85);max-width:46ch}
.final__sub{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  font-size:clamp(1.1rem,2vw,1.5rem);color:#fff!important;letter-spacing:.04em;
}
.final__cta{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:.6rem}

/* ============================================================
   FOOTER
   ============================================================ */
.ft{background:var(--nav);color:rgba(255,255,255,.72)}
.ft__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:clamp(1.8rem,3vw,3rem);padding-block:clamp(3rem,5vw,4.5rem)}
@media (max-width:880px){.ft__grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.ft__grid{grid-template-columns:1fr}}
.ft h4{font-family:var(--f-display);font-weight:600;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-bottom:1.1rem}
.ft li{margin-bottom:.55rem;font-size:var(--t-small);line-height:1.6}
.ft a:hover{color:#fff}
.ft .soon{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.ft__logo{display:inline-block;margin-bottom:1rem;line-height:0}
.ft__logo img,.ft__logo svg{height:58px;width:auto;object-fit:contain}
.ft__brand p{font-size:var(--t-small);max-width:32ch;line-height:1.75}
.ft__addr{margin-top:1rem;font-size:.82rem;color:rgba(255,255,255,.5);line-height:1.7}
.ft__bar{border-top:1px solid rgba(255,255,255,.12);padding-block:1.3rem;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;font-family:var(--f-display);font-weight:400;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.ft__bar .sep{margin-left:auto}

/* ============================================================
   FLOTANTES
   ============================================================ */
.wafab{
  position:fixed;right:clamp(1rem,2.5vw,1.6rem);bottom:clamp(1rem,2.5vw,1.6rem);z-index:70;
  width:54px;height:54px;background:var(--red);color:#fff;display:grid;place-items:center;
  box-shadow:0 6px 22px rgba(0,0,0,.28);transition:background .2s;
}
.wafab:hover{background:var(--red-dark)}
.wafab svg{width:27px;height:27px}
.mbar{display:none}
.btn--wa-solid{background:#1FA855;color:#fff;border-color:#1FA855}
.btn--wa-solid:hover{background:#178A45;border-color:#178A45}
@media (max-width:640px){
  .wafab{display:none}
  /* el alto de la barra se compensa con padding para que no tape contenido */
  body{padding-bottom:62px}
  .mbar{
    position:fixed;left:0;right:0;bottom:0;z-index:80;
    display:grid;grid-template-columns:1fr 1fr;
    box-shadow:0 -3px 16px rgba(0,0,0,.16);
  }
  body.has-order{padding-bottom:104px}
  .mbar .btn{padding-block:1.15rem;font-size:.88rem}
}

/* ============================================================
   CARRITO — botón flotante y hoja de pedido
   ============================================================ */
.cartfab{
  position:fixed;right:clamp(1rem,2.5vw,1.6rem);bottom:calc(clamp(1rem,2.5vw,1.6rem) + 66px);
  z-index:75;width:54px;height:54px;background:var(--ink);color:#fff;
  display:grid;place-items:center;box-shadow:0 6px 22px rgba(0,0,0,.28);
  border:0;cursor:pointer;transition:background .18s;
}
.cartfab:hover{background:var(--red)}
.cartfab svg{width:25px;height:25px}
.cartfab[hidden]{display:none}
.cartfab__n{
  position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 5px;
  background:var(--red);color:#fff;border-radius:11px;
  font-family:var(--f-body);font-weight:700;font-size:.7rem;
  display:grid;place-items:center;font-variant-numeric:tabular-nums;
  border:2px solid var(--white);
}

.sheet[hidden]{display:none}
.sheet{position:fixed;inset:0;z-index:90;display:grid;place-items:center}
.sheet__ov{position:absolute;inset:0;background:rgba(12,10,10,.6);border:0;cursor:pointer}
.sheet__box{
  position:relative;width:min(30rem,calc(100vw - 2rem));max-height:min(80vh,42rem);
  background:var(--white);display:flex;flex-direction:column;
  box-shadow:0 24px 60px rgba(0,0,0,.35);
}
.sheet__hd{
  display:flex;align-items:center;gap:1rem;padding:1.1rem 1.3rem;
  background:var(--red);color:#fff;
}
.sheet__hd h2{font-family:var(--f-display);font-weight:600;font-size:1.25rem;letter-spacing:.09em;text-transform:uppercase}
.sheet__x{
  margin-left:auto;width:38px;height:38px;background:transparent;border:0;color:#fff;
  cursor:pointer;font-size:1.5rem;line-height:1;display:grid;place-items:center;
}
.sheet__x:hover{background:rgba(255,255,255,.16)}
.sheet__body{overflow-y:auto;-webkit-overflow-scrolling:touch}
.sline{display:grid;grid-template-columns:56px 1fr auto;gap:.9rem;align-items:center;padding:.9rem 1.3rem;border-bottom:var(--rule-w) solid var(--line-2)}
.sline__ph{width:56px;aspect-ratio:1;background:var(--cream);overflow:hidden}
.sline__ph img{width:100%;height:100%;object-fit:contain}
.sline__n{font-family:var(--f-display);font-weight:600;font-size:.98rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:1.2}
.sline__m{font-size:.76rem;color:var(--muted-2);margin-top:.15rem}
.sline .stepper{border:var(--rule-w) solid var(--line)}
.sline .stepper button{width:32px;height:34px}
.sline .stepper input{width:38px;height:34px;font-size:.92rem}
.sheet__empty{padding:2.2rem 1.3rem;text-align:center;font-size:var(--t-small);color:var(--muted)}
.sheet__ft{padding:1.1rem 1.3rem;background:var(--cream);border-top:var(--rule-w) solid var(--line);display:flex;flex-direction:column;gap:.9rem}
.sheet__tot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.sheet__tot .k{font-family:var(--f-body);font-weight:700;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2)}
.sheet__tot .v{font-family:var(--f-display);font-weight:600;font-size:1.6rem;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.sheet__ft .btn{width:100%}
.sheet__note{font-size:.72rem;color:var(--muted-2);line-height:1.5}

@media (max-width:640px){
  .cartfab{display:none}
  /* en móvil la hoja sube desde abajo y ocupa el ancho completo */
  .sheet{place-items:end stretch}
  .sheet__box{width:100%;max-width:none;max-height:86vh}
  .sheet__hd{position:sticky;top:0}
}

/* Resumen del pedido dentro de la barra fija */
.mbar__sum{
  display:none;grid-column:1/-1;width:100%;align-items:center;gap:.75rem;
  padding:.85rem 1rem;background:var(--ink);color:#fff;border:0;cursor:pointer;
  font-family:var(--f-display);font-weight:600;font-size:.9rem;
  letter-spacing:.06em;text-transform:uppercase;text-align:left;
}
.mbar__sum::after{content:"›";margin-left:.3rem;font-size:1.3rem;line-height:1}
.mbar.has-items .mbar__sum{display:flex}
.mbar__sum .n{
  min-width:24px;height:24px;padding:0 6px;background:var(--red);border-radius:12px;
  display:grid;place-items:center;font-size:.74rem;font-variant-numeric:tabular-nums;flex:none;
}
.mbar__sum .t{margin-left:auto;font-variant-numeric:tabular-nums}

/* ---------- Marcador de foto pendiente ---------- */
.ph{
  position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:.5rem;
  text-align:center;padding:1rem;background:var(--cream);
  background-image:repeating-linear-gradient(135deg,rgba(31,31,31,.045) 0 10px,transparent 10px 20px);
}
.ph span{font-family:var(--f-body);font-weight:700;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);line-height:1.7}
.ph svg{width:30px;height:30px;color:var(--muted-2);opacity:.6}
.hero__bg .ph,.biz__bg .ph,.final__bg .ph{background:var(--shot);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 10px,transparent 10px 20px)}
.hero__bg .ph span,.biz__bg .ph span,.final__bg .ph span{color:rgba(255,255,255,.35)}
.hero__bg .ph svg,.biz__bg .ph svg,.final__bg .ph svg{color:rgba(255,255,255,.3)}


/* ============================================================
   B2B HORECA — bloques de imagen y mensaje alternados
   El planteamiento comercial se apoya en fotografía, no en
   rejillas de tarjetas pequeñas.
   ============================================================ */
.feature{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--white)}
.feature--cream{background:var(--cream)}
@media (max-width:900px){.feature{grid-template-columns:1fr}}
.feature__media{position:relative;min-height:clamp(20rem,42vw,34rem);overflow:hidden;background:var(--cream-2)}
.feature__media img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.feature__media{min-height:clamp(15rem,58vw,22rem);order:-1}}
.feature__body{
  display:flex;flex-direction:column;justify-content:center;gap:1.1rem;
  padding:clamp(2.5rem,5vw,4.5rem) clamp(1.5rem,4vw,4rem);
}
.feature__body > *{max-width:40rem}
/* Alterna el lado de la foto para dar ritmo al recorrido */
.feature--flip .feature__media{grid-column:2;grid-row:1}
.feature--flip .feature__body{grid-column:1;grid-row:1}
@media (max-width:900px){
  .feature--flip .feature__media,.feature--flip .feature__body{grid-column:1}
  .feature--flip .feature__media{grid-row:1}
  .feature--flip .feature__body{grid-row:2}
}
.feature h2{font-size:clamp(1.8rem,3.4vw,2.9rem)}
.feature p{max-width:46ch}
.feature__body > .s-head{margin-bottom:0}
.feature .btn{align-self:flex-start}

/* Etiqueta sobre la foto, para nombrar lo que se ve */
.feature__cap{
  position:absolute;left:0;bottom:0;z-index:2;background:var(--red);color:#fff;
  padding:.55rem .95rem;font-family:var(--f-body);font-weight:700;
  font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
}

/* Lista de ventajas dentro de un bloque */
.flist{display:flex;flex-direction:column;gap:.8rem}
.flist li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start}
.flist svg{width:20px;height:20px;color:var(--red);margin-top:.3rem}
.flist b{display:block;font-family:var(--f-display);font-weight:600;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);line-height:1.3}
.flist span{font-size:var(--t-small);line-height:1.6}

/* ============================================================
   BANDA HORECA — a quién atendemos
   ============================================================ */
.horeca{position:relative;background:var(--shot);color:#fff;isolation:isolate}
.horeca__bg{position:absolute;inset:0;z-index:0}
.horeca__bg img{width:100%;height:100%;object-fit:cover}
.horeca__bg::after{content:"";position:absolute;inset:0;background:rgba(12,10,10,.8)}
.horeca__in{
  position:relative;z-index:1;padding-block:clamp(2.5rem,5vw,4rem);
  display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;
}
@media (max-width:860px){.horeca__in{grid-template-columns:1fr;gap:1.5rem}}
.horeca h2{font-size:clamp(1.5rem,2.6vw,2.1rem);color:#fff;max-width:14ch}
.horeca__list{display:flex;flex-wrap:wrap;gap:.6rem}
.horeca__list li{
  font-family:var(--f-display);font-weight:500;font-size:.92rem;
  letter-spacing:.07em;text-transform:uppercase;color:#fff;
  padding:.5rem .95rem;border:1px solid rgba(255,255,255,.35);
}

/* ============================================================
   COMPARACIÓN DE MERMA a lo ancho
   ============================================================ */
.merma2{display:grid;grid-template-columns:1fr 1fr;gap:var(--rule-w);background:var(--line);border:var(--rule-w) solid var(--line)}
@media (max-width:640px){.merma2{grid-template-columns:1fr}}
.merma2__c{background:var(--white);display:flex;flex-direction:column}
.merma2__ph{position:relative;aspect-ratio:16/10;background:var(--cream-2);overflow:hidden}
.merma2__ph img{width:100%;height:100%;object-fit:cover}
.merma2__t{
  padding:.85rem 1.2rem;font-family:var(--f-display);font-weight:600;font-size:1rem;
  letter-spacing:.08em;text-transform:uppercase;background:var(--muted-2);color:#fff;
}
.merma2__c--on .merma2__t{background:var(--red)}
.merma2 ul{padding:1.2rem;display:flex;flex-direction:column;gap:.7rem}
.merma2 li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;font-size:var(--t-small);line-height:1.5;align-items:start}
.merma2 li svg{width:17px;height:17px;margin-top:.22rem;flex:none}
.merma2__c--on li svg{color:var(--red)}
.merma2__c li svg{color:var(--muted-2)}

/* ============================================================
   WORDPRESS — componentes de las plantillas nativas
   ============================================================ */
.screen-reader-text{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
.skip-link:focus{
  position:fixed;top:.6rem;left:.6rem;z-index:200;width:auto;height:auto;margin:0;
  clip:auto;padding:.8rem 1.2rem;background:var(--red);color:#fff;
  font-family:var(--f-display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;
}

/* El menú de WordPress se pinta como <ul> dentro de <nav> */
.nav__list{display:flex;gap:2.2rem;margin:0;padding:0;list-style:none}
.nav__list a{
  font-family:var(--f-display);font-weight:500;font-size:.94rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--on-nav);transition:color .15s;
}
.nav__list a:hover,.nav__list .current-menu-item > a{color:var(--nav-active)}
@media (max-width:980px){
  .nav__list{flex-direction:column;gap:0}
  .nav__list a{display:block;padding-block:.95rem;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.08)}
}
.ft ul{margin:0;padding:0;list-style:none}

/* Contenido del editor de bloques */
.entry{max-width:46rem;margin-inline:auto;font-size:var(--t-lead)}
.entry > * + *{margin-top:1.2rem}
.entry h2,.entry h3,.entry h4{
  font-family:var(--f-display);font-weight:600;text-transform:uppercase;
  letter-spacing:.04em;color:var(--ink);line-height:1.2;margin-top:2.2rem;
}
.entry h2{font-size:clamp(1.5rem,2.6vw,2rem)}
.entry h3{font-size:1.25rem}
.entry a{color:var(--red);text-decoration:underline;text-underline-offset:.2em}
.entry ul,.entry ol{padding-left:1.4rem}
.entry li+li{margin-top:.5rem}
.entry ul{list-style:disc}
.entry ol{list-style:decimal}
.entry blockquote{
  padding-left:1.2rem;border-left:var(--accent-w) solid var(--red);
  font-size:1.05rem;color:var(--ink-2);
}
.entry img,.entry figure{max-width:100%;height:auto}
.entry table{width:100%;border-collapse:collapse}
.entry th,.entry td{padding:.7rem;border:var(--rule-w) solid var(--line);text-align:left}
.entry__media{margin-bottom:2rem}
.entry__media img{width:100%;height:auto}

/* Listados de entradas y resultados */
.lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:clamp(1.2rem,2.5vw,2rem)}
.lcard{display:flex;flex-direction:column;background:var(--white);border:var(--rule-w) solid var(--line);transition:border-color .18s}
.lcard:hover{border-color:var(--red)}
.lcard__media{aspect-ratio:4/3;overflow:hidden}
.lcard__media img{width:100%;height:100%;object-fit:cover}
.lcard__body{padding:1.3rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.lcard__n{font-family:var(--f-display);font-weight:600;font-size:1.2rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ink);line-height:1.25}
.lcard__d{font-size:var(--t-small);line-height:1.7;flex:1}
.lcard .btn{align-self:flex-start}

/* Filtros del catálogo */
.filtros{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin-bottom:clamp(1.8rem,3.5vw,2.6rem);padding-bottom:1.3rem;border-bottom:var(--rule-w) solid var(--line)}
.filtros__t{
  display:block;font-family:var(--f-body);font-weight:700;font-size:.66rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);margin-bottom:.6rem;
}
.filtros ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none}
.filtros a{
  display:block;font-family:var(--f-display);font-weight:500;font-size:.82rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  padding:.4rem .8rem;border:var(--rule-w) solid var(--line);transition:color .15s,border-color .15s;
}
.filtros a:hover,.filtros a.is-on{color:var(--red);border-color:var(--red)}

/* Galería de la ficha de producto */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:var(--rule-w);background:var(--line);border:var(--rule-w) solid var(--line)}
.galeria figure{margin:0;background:var(--white);aspect-ratio:1}
.galeria img{width:100%;height:100%;object-fit:cover}

/* Paginación */
.paginacion{margin-top:clamp(2rem,4vw,3rem)}
.paginacion .nav-links{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.paginacion .page-numbers{
  display:grid;place-items:center;min-width:42px;height:42px;padding:0 .7rem;
  border:var(--rule-w) solid var(--line);font-family:var(--f-display);font-weight:600;
  color:var(--ink-2);font-variant-numeric:tabular-nums;
}
.paginacion .page-numbers:hover{border-color:var(--red);color:var(--red)}
.paginacion .current{background:var(--red);border-color:var(--red);color:#fff}

/* Buscador */
.buscar{display:flex;gap:.5rem;max-width:26rem;margin-inline:auto}
.buscar input{
  flex:1;padding:.8rem 1rem;border:var(--rule-w) solid var(--line);
  background:var(--white);font-family:var(--f-body);font-size:var(--t-body);color:var(--ink);
}
.buscar input:focus{outline:2px solid var(--red);outline-offset:1px}


/* ============================================================
   PÁGINAS DE LÍNEA Y DE HOGAR
   ============================================================ */
/* El hero de una línea o de hogar es más contenido que el de la portada:
   la página ya tiene un titular propio y no compite con la marca. */
.hero--linea .hero__in,
.hero--hogar .hero__in{padding-block:clamp(3rem,6vw,5rem)}

/* Aviso de línea aún no disponible */
.pill-soon{
  display:inline-flex;align-items:center;padding:.95rem 1.45rem;
  border:1px solid rgba(255,255,255,.4);color:#fff;
  font-family:var(--f-display);font-weight:600;font-size:.86rem;
  letter-spacing:var(--btn-tracking);text-transform:uppercase;
}

/* Las fichas de línea admiten cualquier número de columnas sin descuadrarse */
.cats{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
@media (max-width:820px){.cats{grid-template-columns:1fr;max-width:30rem;margin-inline:auto}}
