/* ============================================
   MARKÉS DISTRI — Distribuidora de Alimentos
   Paleta basada en los colores del isologo, en
   orden de predominancia: 1) azul (dominante,
   fondos de header/hero/footer/tarjetas), 2)
   blanco, 3) naranja (acento puntual: badges,
   ribbons, CTA), 4) verde (mínimo: WhatsApp,
   ahorro). El coral/terracota queda como detalle
   residual (mancha del hero, botón "rojo").
   Tipografía Montserrat, botones píldora con
   sombra, tarjetas con hover.
   ============================================ */

:root{
  --terra: #B84A47;           /* coral/terracota del logo — ahora acento puntual (mancha del hero, botón "rojo") */
  --terra-oscuro: #8F3835;    /* variante oscura de terra */
  --amarillo: #CFEDEB;        /* verde-azulado claro (del logo), fondo suave de acento */
  --amarillo-vivo: #D98A2E;   /* naranja del logo, acento puntual para badges/ribbons */
  --dorado-nav: #E6F5F4;      /* texto de nav secundario sobre header coral */
  --gris-topbar: #D9D9D9;     /* ya no se usa para el topbar, se deja de referencia */
  --header-bg: #0C6669;       /* header sólido, azul del logo, ahora color dominante del sitio */
  --azul: #128F93;       /* verde-azulado del logo, alias de compat usado como acento */
  --azul-vivo: #0C6669;  /* azul del logo — ahora color dominante del sitio */
  --azul-oscuro: #094F52; /* variante bien oscura del azul, para topbar y hovers */
  --naranja-claro: #FFC670; /* naranja claro, con buen contraste sobre fondos azules */
  --rojo: #B84A47;       /* alias de compat */
  --rojo-oscuro: #8F3835;
  --verde: #2FBE7A;      /* se mantiene: color real de WhatsApp, ya cercano al verde del logo */
  --verde-oscuro: #23945F;
  --verde-claro: #C7EDD3;  /* verde claro pero notorio, fondo para tarjetas (features) */
  --texto-vivo: #3A2410;      /* texto oscuro para usar sobre el naranja/verde-azulado vivos */
  --fondo: #FAF8F6;
  --fondo-alt: #EEF6F5;
  --tarjeta: #FFFFFF;
  --texto: #2A2321;
  --texto-suave: #6E6360;
  --borde: #E7DFDB;
  --sombra: 0 3px 6px rgba(0,0,0,.16);
  --radio: 20px;
  --radio-chico: 10px;
  --ff-display: 'Montserrat', sans-serif;
  --ff-texto: 'Montserrat', sans-serif;

  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
  --sp-6: 24px; --sp-7: 32px; --sp-8: 40px; --sp-9: 48px; --sp-10: 64px; --sp-11: 84px;

  --fs-xs: .78rem; --fs-sm: .88rem; --fs-base: 1rem; --fs-md: 1.05rem; --fs-lg: 1.2rem; --fs-xl: 1.5rem;
  --lh-ajustado: 1.15;
  --lh-titulo: 1.25;
  --lh-texto: 1.7;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ff-texto);
  font-size:18px;
  line-height:var(--lh-texto);
  color:var(--texto);
  background:var(--fondo);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{
  font-family:var(--ff-display);
  margin:0;
  line-height:var(--lh-ajustado);
  letter-spacing:0;
  font-weight:700;
}
h3,h4{line-height:var(--lh-titulo);}
p{margin:0;}
p:not([class]){line-height:var(--lh-texto);}
.container{
  width:100%;
  max-width:1240px;
  margin:0 auto;
  padding:0 24px;
}
:focus-visible{outline:3px solid var(--azul-vivo);outline-offset:2px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;}
}

/* ---------- Barra superior de contacto (marrón oscuro, integrada al header sólido) ---------- */
.topbar{
  background:var(--azul-oscuro);
  color:var(--dorado-nav);
  font-size:.78rem;
}
.topbar .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:7px;
  padding-bottom:7px;
  gap:16px;
  flex-wrap:wrap;
}
.topbar__item{display:flex;align-items:center;gap:6px;opacity:.92;}
.topbar__item i{color:var(--naranja-claro);}
.topbar__item strong{opacity:1;}
.topbar a:hover{color:#fff;}

/* ---------- Header — marrón sólido sobre 2 filas, igual al video de referencia ---------- */
.header{
  background:var(--header-bg);
  position:sticky;
  top:0;
  z-index:50;
  box-shadow:0 18px 34px -14px rgba(0,0,0,.45);
}
.header .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-5);
  padding-top:14px;
  padding-bottom:14px;
}
.brand{display:flex;align-items:center;gap:12px;}
.brand__logo{width:54px;height:54px;border-radius:50%;flex-shrink:0;background:#fff;object-fit:cover;}
.brand__text{display:flex;flex-direction:column;line-height:1.15;}
.brand__nombre{font-family:var(--ff-display);font-size:1.3rem;color:#fff;font-weight:700;}
.brand__rubro{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;color:var(--naranja-claro);font-weight:600;opacity:.95;}

.nav{
  display:flex;align-items:center;gap:26px;
  background:var(--header-bg);
  border-top:1px solid rgba(255,255,255,.12);
  justify-content:center;
  padding:10px 0;
}
.nav a{
  font-weight:600;
  font-size:.92rem;
  color:var(--dorado-nav);
  padding:6px 2px;
  border-bottom:2px solid transparent;
  transition:color .15s, border-color .15s;
}
.nav a:hover, .nav a.activo{color:#fff;border-color:var(--naranja-claro);}

.header__cta{display:flex;align-items:center;gap:12px;}
.header__cta .btn{min-height:46px;padding:10px 22px;font-size:.95rem;box-shadow:none;}
.btn--amarillo{background:var(--amarillo-vivo);color:var(--texto-vivo);}
.btn--amarillo:hover{background:#fff;color:var(--azul-vivo);}
.btn--outline-blanco{background:transparent;border-color:#fff;color:#fff;}
.btn--outline-blanco:hover{background:#fff;color:var(--azul-vivo);}
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:700;
  font-family:var(--ff-texto);
  font-size:1.1875rem; /* 19px, igual que .btn160 de El Criollo */
  min-height:65px;     /* igual que .btn160 de El Criollo */
  padding:12px 28px;
  border-radius:var(--radio);
  border:2px solid transparent;
  cursor:pointer;
  transition:background .15s ease;
  white-space:nowrap;
  box-shadow:var(--sombra);
}
.btn--rojo{background:var(--terra);color:#fff;}
.btn--rojo:hover{background:var(--terra-oscuro);}
.btn--azul{background:var(--azul-vivo);color:#fff;}
.btn--azul:hover{background:var(--azul);}
.btn--verde{background:var(--verde);color:#06251a;}
.btn--verde:hover{background:var(--verde-oscuro);color:#fff;}
.btn--outline{background:transparent;border-color:var(--azul-vivo);color:var(--azul-vivo);}
.btn--outline:hover{background:rgba(12,102,105,.08);}
.btn--outline-azul{background:#fff;border-color:#fff;color:var(--azul-vivo);}
.btn--outline-azul:hover{background:var(--amarillo);border-color:var(--amarillo);color:var(--azul-vivo);}
.btn--outline-verde{background:#fff;border-color:#fff;color:var(--verde-oscuro);}
.btn--outline-verde:hover{background:var(--verde);border-color:var(--verde);color:#06251a;}
.btn--outline-naranja{background:#fff;border-color:#fff;color:var(--terra);}
.btn--outline-naranja:hover{background:var(--naranja-claro);border-color:var(--naranja-claro);color:var(--texto-vivo);}
.menu-toggle{display:none;background:none;border:0;font-size:1.6rem;color:#fff;cursor:pointer;}

/* ---------- Hero — fondo amarillo vivo con acorde granate, estilo El Criollo ---------- */
.hero{
  position:relative;
  background:var(--azul-vivo);
  color:var(--texto);
  overflow:hidden;
  padding:80px 0 110px;
  box-shadow:inset 0 60px 70px -55px rgba(0,0,0,.4); /* degradé oscuro bajo el header, igual al video */
}
.hero::before{
  content:"";
  position:absolute;
  top:-6%;left:-9%;
  width:60%;height:106%;
  background:var(--terra);
  opacity:.97;
  border-radius:38% 62% 58% 42% / 42% 36% 64% 58%;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.07) 0 26px, transparent 26px 64px),
    radial-gradient(circle at 92% 100%, rgba(0,0,0,.14), transparent 45%);
  pointer-events:none;
}
.hero .container{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.hero__ribbon{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  color:var(--terra);
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.02em;
  padding:8px 16px;
  border-radius:999px;
  margin-bottom:22px;
  box-shadow:var(--sombra);
}
.hero h1{font-family:var(--ff-display);font-weight:800;font-size:clamp(2.1rem,4vw,3.2rem);margin-bottom:18px;letter-spacing:0;color:#fff;}
.hero h1 span{color:#FFC670;}
.hero p.lead{font-size:1.08rem;line-height:var(--lh-texto);color:#DCEEEC;max-width:46ch;margin-bottom:var(--sp-7);}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px;}
.hero__visual{position:relative;}
.hero__badge{
  background:#fff;
  border-radius:var(--radio);
  padding:22px;
  box-shadow:0 40px 70px -20px rgba(0,0,0,.55);
  transform:rotate(-3deg);
  transition:transform .25s ease;
}
.hero__badge:hover{transform:rotate(0deg);}
.hero__badge-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.hero__badge-grid img{
  aspect-ratio:1/1;
  object-fit:contain;
  background:var(--fondo);
  border-radius:var(--radio-chico);
  padding:8px;
  overflow:hidden;
  transition:transform .3s ease;
}
.hero__badge-grid img:hover{transform:scale(1.05);}
.hero__badge-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:14px;
  color:var(--terra);
}
.hero__badge-foot strong{font-family:var(--ff-display);font-size:1.05rem;}
.hero__badge-foot span{font-size:.75rem;color:var(--texto-suave);}
.hero__visual-cta{
  position:absolute;
  left:50%;bottom:-26px;
  transform:translateX(-50%) rotate(-3deg);
  background:var(--terra);
  color:#fff;
  font-family:var(--ff-display);
  font-weight:700;
  font-size:.92rem;
  padding:14px 30px;
  border-radius:999px;
  white-space:nowrap;
  box-shadow:0 18px 30px -10px rgba(0,0,0,.5);
  z-index:2;
}
@media (max-width:420px){
  .hero__badge-foot{flex-direction:column;align-items:flex-start;gap:2px;}
}

/* ---------- Secciones genéricas ---------- */
.section{padding:var(--sp-11) 0;}
.section--alt{background:var(--fondo-alt);}
.section__head{max-width:640px;margin:0 auto var(--sp-9);text-align:center;}
.eyebrow{
  display:inline-block;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--azul-vivo);
  margin-bottom:10px;
}
.section__head h2{font-family:var(--ff-display);font-weight:700;font-size:clamp(1.7rem,3vw,2.35rem);color:var(--azul-vivo);margin-bottom:14px;letter-spacing:0;}
.section__head p{color:var(--texto-suave);font-size:1.02rem;line-height:var(--lh-texto);}

/* ---------- Categorías (tarjeta blanca, sombra suave, hover amarillo) ---------- */
.cats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--sp-5);
}
.cat-card{
  background:var(--tarjeta);
  border-radius:var(--radio-chico);
  padding:var(--sp-5);
  text-align:left;
  box-shadow:var(--sombra);
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  height:158px; /* igual a los 157px de altura de .tarjeta en El Criollo */
  box-sizing:border-box;
}
.cat-card:hover{background:var(--amarillo);}
.cat-card__reposo{width:100%;display:flex;align-items:center;gap:18px;position:relative;}
.cat-card__hover{display:none;width:100%;text-align:center;flex-direction:column;align-items:center;justify-content:center;gap:14px;height:100%;}
.cat-card:hover .cat-card__reposo{display:none;}
.cat-card:hover .cat-card__hover{display:flex;}
.cat-card__texto{display:flex;flex-direction:column;gap:6px;min-width:0;}
.cat-card h3{font-family:var(--ff-display);font-weight:700;font-size:1rem;color:var(--azul-vivo);margin:0;text-align:left;}
.cat-card__hover p{font-size:1rem;color:var(--azul-oscuro);line-height:var(--lh-texto);margin:0;}
.cat-card__count{font-size:.78rem;font-weight:700;color:var(--azul-vivo);display:inline-flex;align-items:center;gap:6px;}
.cat-card__count::before{content:"\2192";}
.cat-card__ver{font-size:.82rem;font-weight:700;color:var(--azul-oscuro);}

.cat-card__foto{
  width:88px;height:88px;
  flex:0 0 88px;
  aspect-ratio:1/1;
  border-radius:var(--radio-chico);
  overflow:hidden;
  margin-bottom:0;
  background:var(--fondo-alt);
  display:flex;align-items:center;justify-content:center;
}
.cat-card__foto img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease;}
.cat-card:hover .cat-card__foto img{transform:scale(1.05);}
.cat-card__reposo .cat-card__icono{
  position:absolute;
  left:56px;top:56px;
  width:36px;height:36px;
  margin:0;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.95rem;
  color:#fff;
  background:var(--azul-vivo);
  box-shadow:0 6px 12px -4px rgba(0,0,0,.35);
  border:3px solid #fff;
}
.cat-card[data-cat="limpieza"] .cat-card__icono{background:var(--verde-oscuro);}
.cat-card[data-cat="bebidas-y-jugos"] .cat-card__icono{background:var(--amarillo-vivo);}
.cat-card[data-cat="fideos-y-pastas"] .cat-card__icono{background:var(--terra);}
.cat-card[data-cat="galletitas-y-golosinas"] .cat-card__icono{background:var(--naranja-claro);color:var(--texto-vivo);}

/* ---------- Marcas que trabajamos ---------- */
.marcas-strip{
  background:var(--azul-vivo);
  padding:var(--sp-7) 0;
  overflow:hidden;
}
.marcas-strip__head{
  display:flex;
  justify-content:center;
  margin-bottom:var(--sp-5);
}
.marcas-strip__label{
  color:var(--amarillo);
  font-weight:700;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.marcas-carrusel{
  position:relative;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0, #000 64px, #000 calc(100% - 64px), transparent 100%);
}
.marcas-carrusel__track{
  display:flex;
  align-items:stretch;
  gap:18px;
  width:max-content;
  animation:marcas-scroll 34s linear infinite;
}
.marcas-carrusel:hover .marcas-carrusel__track{animation-play-state:paused;}
.marca-card{
  flex:0 0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#fff;
  border-radius:var(--radio-chico);
  padding:18px 26px;
  min-width:132px;
  box-shadow:0 8px 18px -10px rgba(0,0,0,.35);
  transition:transform .2s ease;
}
.marca-card:hover{transform:translateY(-3px);}
/* ---------- Logos de marca en carrusel ---------- */
.marca-card__logo {
  width: 72px;
  height: 56px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}
.marca-card__logo--transparent {
  /* logos PNG con fondo transparente */
  background: transparent;
}
.marca-card__logo--prod {
  /* imagen de producto como referencia visual de marca */
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
}

/* ---------- Logos de marca en carrusel ---------- */
.marca-card__logo {
  width: 72px;
  height: 56px;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}
.marca-card__logo--transparent {
  /* logos PNG con fondo transparente: se muestran tal cual */
  background: transparent;
}
.marca-card__logo--prod {
  /* imágenes de producto: bordes redondeados, recortadas como cuadrado */
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
}
.marca-card--mas{background:transparent;box-shadow:none;border:2px dashed rgba(255,255,255,.4);}
.marca-card--mas span{color:#fff;opacity:.85;font-size:.85rem;}
@keyframes marcas-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .marcas-carrusel__track{animation:none;}
}

/* ---------- Para quién trabajamos ---------- */
.segmentos{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.segmento-chip{
  display:flex;
  align-items:center;
  gap:14px;
  background:var(--tarjeta);
  border:none;
  box-shadow:var(--sombra);
  border-radius:var(--radio-chico);
  padding:var(--sp-4) var(--sp-5);
  font-weight:600;
  font-size:.92rem;
  color:var(--texto);
}
.segmento-chip i{
  width:38px;height:38px;
  border-radius:50%;
  background:var(--fondo-alt);
  color:var(--azul-vivo);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}

/* ---------- Features ("por qué elegirnos") ---------- */
.features{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:var(--sp-5);
}
.feature{
  background:var(--verde-claro);
  border:none;
  box-shadow:var(--sombra);
  border-radius:var(--radio-chico);
  padding:var(--sp-7) var(--sp-6);
  min-height:168px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.feature:hover{background:var(--azul-vivo);}
.feature__reposo{width:100%;}
.feature__hover{display:none;width:100%;}
.feature:hover .feature__reposo{display:none;}
.feature:hover .feature__hover{display:flex;align-items:center;}
.feature__num{
  font-family:var(--ff-display);
  font-weight:700;
  font-size:.85rem;
  color:var(--azul-vivo);
  margin-bottom:12px;
}
.feature h3{font-family:var(--ff-display);font-weight:700;font-size:1.05rem;color:var(--azul-vivo);margin-bottom:0;}
.feature__hover p{font-size:1rem;color:#fff;line-height:var(--lh-texto);margin:0;}

/* ---------- Destacados (productos) ---------- */
.productos{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--sp-6);
}
.producto-card{
  background:var(--tarjeta);
  border-radius:var(--radio-chico);
  border:none;
  overflow:hidden;
  box-shadow:var(--sombra);
}
.producto-card__img{
  height:230px; /* igual a la altura de imagen que usa El Criollo en sus tarjetas (#home_blog figure) */
  background:var(--fondo-alt);
  display:flex;align-items:center;justify-content:center;
  padding:var(--sp-5);
}
.producto-card__img img{max-height:100%;object-fit:contain;transition:transform .3s ease;}
.producto-card:hover .producto-card__img img{transform:scale(1.05);}
.producto-card__body{padding:var(--sp-4) var(--sp-5) var(--sp-5);}
.producto-card__cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--azul-vivo);font-weight:700;}
.producto-card__nombre{
  font-size:.92rem;font-weight:700;color:var(--texto);margin:6px 0 8px;line-height:1.3;
  min-height:2.6em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.producto-card__precio{font-family:var(--ff-display);font-weight:700;font-size:1.15rem;color:var(--azul-vivo);white-space:nowrap;}
.producto-card__marca{font-size:.76rem;color:var(--texto-suave);}
.producto-card__carrito{margin-top:12px;}

.ver-todo{text-align:center;margin-top:42px;}

/* ---------- Sucursales ---------- */
.sucursales{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-6);
}
.sucursal{
  background:var(--azul-vivo);
  color:#fff;
  border-radius:var(--radio-chico);
  padding:var(--sp-7);
  position:relative;
  overflow:hidden;
}
.sucursal::after{
  content:"";
  position:absolute;
  right:-40px;bottom:-40px;
  width:160px;height:160px;
  border-radius:50%;
  background:rgba(255,255,255,.06);
}
.sucursal__tag{
  display:inline-block;
  background:var(--amarillo);
  color:var(--azul-vivo);
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
  padding:5px 12px;
  border-radius:999px;
  margin-bottom:16px;
}
.sucursal--azul{background:var(--azul-oscuro);}
.sucursal--azul .sucursal__tag{background:var(--naranja-claro);color:var(--texto-vivo);}
.sucursal--azul .sucursal__linea i{color:var(--naranja-claro);}
.sucursal h3{font-family:var(--ff-display);font-size:1.3rem;margin-bottom:14px;}
.sucursal__linea{
  display:flex;
  gap:10px;
  font-size:.92rem;
  color:var(--amarillo);
  margin-bottom:8px;
}
.sucursal__linea i{width:18px;flex-shrink:0;color:var(--amarillo);}

/* ---------- CTA WhatsApp franja ---------- */
.cta-franja{
  background:var(--azul-vivo);
  color:#fff;
  padding:var(--sp-10) 0;
  text-align:center;
}
.cta-franja h2{font-family:var(--ff-display);font-weight:700;font-size:clamp(1.5rem,3vw,2rem);margin-bottom:14px;color:#fff;}
.cta-franja p{margin-bottom:26px;font-size:1.02rem;color:var(--amarillo);}

/* ---------- Newsletter — franja amarilla superpuesta, estilo "pieAmarillo" de El Criollo ---------- */
.newsletter{
  background:transparent;
  padding:0 0 var(--sp-10);
  margin-top:-120px;
  position:relative;
  z-index:2;
}
.newsletter .container{
  background:var(--amarillo);
  border-radius:var(--radio-chico);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--sp-5);
  flex-wrap:wrap;
  padding:var(--sp-7) var(--sp-8);
}
.newsletter h3{font-family:var(--ff-display);color:var(--azul-vivo);font-size:1.15rem;margin-bottom:4px;}
.newsletter p{color:var(--azul-oscuro);font-size:.88rem;line-height:var(--lh-texto);}
.newsletter form{display:flex;gap:10px;flex-wrap:wrap;}
.newsletter form{flex:1;min-width:0;}
.newsletter input{
  padding:12px 16px;
  border-radius:999px;
  border:1px solid rgba(12,102,105,.25);
  font-family:var(--ff-texto);
  flex:1;
  min-width:180px;
}

/* ---------- Footer (rojo/terra, acento del isologo) ---------- */
.footer{background:var(--terra);color:#fff;padding:var(--sp-10) 0 var(--sp-6);}
.footer .container{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:36px;
  margin-bottom:44px;
}
.footer__brand{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.footer__brand img{width:48px;height:48px;border-radius:50%;background:#fff;}
.footer__brand strong{font-family:var(--ff-display);font-size:1.15rem;color:#fff;}
.footer p{font-size:.88rem;line-height:1.6;color:rgba(255,255,255,.82);}
.footer h4{color:#fff;font-size:.92rem;margin-bottom:16px;text-transform:uppercase;letter-spacing:.05em;}
.footer ul li{margin-bottom:10px;font-size:.88rem;}
.footer ul li a{color:rgba(255,255,255,.88);}
.footer ul li a:hover{color:var(--naranja-claro);}
.footer__contacto li{display:flex;gap:10px;align-items:flex-start;}
.footer__contacto i{color:var(--naranja-claro);margin-top:3px;}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.22);
  padding-top:22px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  font-size:.8rem;
  color:rgba(255,255,255,.75);
}
.footer__social{display:flex;gap:12px;}
.footer__social a{
  width:36px;height:36px;
  border-radius:50%;
  background:rgba(255,255,255,.15);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s, color .15s;
}
.footer__social a:hover{background:var(--naranja-claro);color:var(--texto-vivo);}

/* ---------- WhatsApp flotante ---------- */
.wa-flot{
  position:fixed;
  right:20px;bottom:20px;
  width:60px;height:60px;
  border-radius:50%;
  background:var(--verde);
  color:#06251a;
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;
  box-shadow:0 14px 30px -8px rgba(47,190,122,.7);
  z-index:60;
  animation:pulso 2.4s infinite;
}
@keyframes pulso{
  0%{box-shadow:0 0 0 0 rgba(47,190,122,.55);}
  70%{box-shadow:0 0 0 16px rgba(47,190,122,0);}
  100%{box-shadow:0 0 0 0 rgba(47,190,122,0);}
}
/* ---------- Carrito de pedido ---------- */
.carrito-agregar{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;
  background:var(--azul-vivo);
  color:#fff;
  border:none;
  border-radius:999px;
  padding:9px 14px;
  font-family:var(--ff-texto);
  font-weight:700;
  font-size:.85rem;
  cursor:pointer;
  transition:background .15s;
}
.carrito-agregar:hover{background:var(--azul-oscuro);}
.carrito-stepper{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--fondo-alt);
  border-radius:999px;
  padding:4px;
}
.carrito-stepper button{
  width:30px;height:30px;
  border:none;border-radius:50%;
  background:var(--azul-vivo);color:#fff;
  font-size:1rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  transition:background .15s;
}
.carrito-stepper button:hover{background:var(--azul-oscuro);}
.carrito-stepper span{font-weight:700;color:var(--azul-vivo);font-family:var(--ff-display);min-width:24px;text-align:center;}

.carrito-flot{
  position:fixed;
  right:20px;bottom:156px;
  width:60px;height:60px;
  border-radius:50%;
  border:none;
  background:var(--amarillo-vivo);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;
  box-shadow:0 14px 30px -8px rgba(217,138,46,.7);
  z-index:60;
  cursor:pointer;
}
.carrito-flot:hover{background:var(--terra);}
.carrito-flot__badge{
  position:absolute;
  top:-4px;right:-4px;
  min-width:22px;height:22px;
  border-radius:50%;
  background:var(--terra);
  color:#fff;
  font-size:.72rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  padding:0 5px;
  border:2px solid var(--fondo);
}
.carrito-flot__badge--vacio{opacity:.55;}
@media (max-width:480px){
  .carrito-flot{right:16px;bottom:144px;width:50px;height:50px;font-size:1.25rem;}
}

body.carrito-bloqueo-scroll{overflow:hidden;}

.carrito-panel{
  position:fixed;inset:0;
  z-index:90;
  visibility:hidden;
  pointer-events:none;
}
.carrito-panel.abierto{visibility:visible;pointer-events:auto;}
.carrito-panel__overlay{
  position:absolute;inset:0;
  background:rgba(42,27,27,.55);
  opacity:0;
  transition:opacity .2s ease;
}
.carrito-panel.abierto .carrito-panel__overlay{opacity:1;}
.carrito-panel__caja{
  position:absolute;top:0;right:0;bottom:0;
  width:min(420px,100%);
  background:var(--fondo);
  box-shadow:-20px 0 40px -10px rgba(0,0,0,.35);
  display:flex;flex-direction:column;
  transform:translateX(100%);
  transition:transform .25s ease;
}
.carrito-panel.abierto .carrito-panel__caja{transform:translateX(0);}
.carrito-panel__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:var(--sp-5) var(--sp-5) var(--sp-4);
  background:var(--azul-vivo);
  color:#fff;
}
.carrito-panel__head h3{font-family:var(--ff-display);font-size:1.1rem;font-weight:700;margin:0;display:flex;align-items:center;gap:10px;}
.carrito-panel__cerrar{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:4px;}
.carrito-panel__lista{
  flex:1;overflow-y:auto;
  padding:var(--sp-4) var(--sp-5);
  display:flex;flex-direction:column;gap:14px;
}
.carrito-item{
  display:grid;
  grid-template-columns:52px 1fr auto auto;
  align-items:center;
  gap:10px;
  background:var(--tarjeta);
  border-radius:var(--radio-chico);
  padding:8px;
  box-shadow:var(--sombra);
}
.carrito-item img{width:52px;height:52px;object-fit:contain;background:var(--fondo-alt);border-radius:8px;padding:4px;}
.carrito-item__info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.carrito-item__nombre{font-size:.82rem;font-weight:700;color:var(--texto);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.carrito-item__precio{font-size:.74rem;color:var(--texto-suave);}
.carrito-stepper--panel{padding:2px;}
.carrito-stepper--panel button{width:24px;height:24px;font-size:.85rem;}
.carrito-item__quitar{background:none;border:none;color:var(--texto-suave);font-size:.95rem;cursor:pointer;padding:4px;}
.carrito-item__quitar:hover{color:var(--azul-vivo);}
.carrito-panel__vacio-msg{
  display:none;
  text-align:center;
  color:var(--texto-suave);
  font-size:.9rem;
  padding:0 var(--sp-5) var(--sp-5);
}
.carrito-panel__footer{
  padding:var(--sp-4) var(--sp-5) var(--sp-5);
  border-top:1px solid var(--borde);
  display:flex;flex-direction:column;gap:12px;
}
.carrito-panel__total{
  display:flex;align-items:center;justify-content:space-between;
  font-size:.95rem;color:var(--texto);
}
.carrito-panel__total strong{font-family:var(--ff-display);font-size:1.3rem;color:var(--azul-vivo);}
.carrito-panel__confirmar{width:100%;justify-content:center;}
.carrito-panel__confirmar--desactivado{opacity:.5;pointer-events:none;}
.carrito-panel__vaciar{
  background:none;border:none;
  color:var(--texto-suave);
  font-size:.82rem;
  text-decoration:underline;
  cursor:pointer;
  align-self:center;
}
.carrito-panel__vaciar:hover{color:var(--azul-vivo);}

/* ---------- Página interna genérica (catálogo / contacto) ---------- */
.page-hero{
  background:linear-gradient(120deg,var(--azul-vivo) 0%, var(--azul-oscuro) 100%);
  color:#fff;
  padding:var(--sp-9) 0 var(--sp-8);
  text-align:center;
}
.page-hero .eyebrow{color:var(--amarillo);}
.page-hero h1{font-family:var(--ff-display);font-weight:700;font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:10px;}
.page-hero p{color:var(--amarillo);font-size:1.02rem;line-height:var(--lh-texto);max-width:52ch;margin:0 auto;}

/* Catálogo */
.catalogo-toolbar{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  margin-bottom:32px;
}
.buscador{
  flex:1;
  min-width:0;
  position:relative;
}
.buscador input{
  width:100%;
  padding:13px 18px 13px 44px;
  border-radius:999px;
  border:1px solid var(--borde);
  font-size:.94rem;
  font-family:var(--ff-texto);
  background:#fff;
}
.buscador input:focus{border-color:var(--azul-vivo);}
.buscador i{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--texto-suave);}
.filtros{display:flex;gap:8px;flex-wrap:wrap;}
.filtro-chip{
  padding:10px 18px;
  border-radius:999px;
  border:1px solid var(--borde);
  background:#fff;
  font-size:.84rem;
  font-weight:600;
  cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
}
.filtro-chip.activo, .filtro-chip:hover{background:var(--azul-vivo);border-color:var(--azul-vivo);color:#fff;}
.catalogo-info{font-size:.85rem;color:var(--texto-suave);margin-bottom:18px;}
.catalogo-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:var(--sp-6);
}
.catalogo-vacio{
  text-align:center;
  padding:var(--sp-10) var(--sp-5);
  color:var(--texto-suave);
}
.catalogo-vacio i{font-size:2.4rem;color:var(--borde);margin-bottom:14px;display:block;}

.catalogo-paginacion{
  display:flex;align-items:center;justify-content:center;
  gap:8px;flex-wrap:wrap;
  margin-top:var(--sp-7);
}
.paginacion__num, .paginacion__flecha{
  min-width:38px;height:38px;
  padding:0 6px;
  border:1px solid var(--borde);
  border-radius:999px;
  background:var(--tarjeta);
  color:var(--azul-vivo);
  font-family:var(--ff-texto);
  font-weight:700;
  font-size:.88rem;
  cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
}
.paginacion__num:hover, .paginacion__flecha:hover:not(:disabled){background:var(--azul-vivo);border-color:var(--azul-vivo);color:#fff;}
.paginacion__num.activo{background:var(--azul-vivo);border-color:var(--azul-vivo);color:#fff;}
.paginacion__flecha:disabled{opacity:.4;cursor:not-allowed;}
.paginacion__puntos{color:var(--texto-suave);padding:0 4px;}

/* Pedido rápido */
.pedido-repetir-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  background:var(--fondo-alt);
  border:1px solid var(--borde);
  border-radius:var(--radio);
  padding:18px 24px;
  margin-bottom:28px;
}
.pedido-repetir-banner__texto{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:600;
  color:var(--texto);
  font-size:.95rem;
}
.pedido-repetir-banner__texto i{color:var(--azul-vivo);font-size:1.1rem;}
.pedido-repetir-banner .btn{min-height:44px;padding:10px 20px;font-size:.9rem;box-shadow:none;}

.pedido-lista{display:flex;flex-direction:column;gap:12px;}
.pedido-rubro{
  background:var(--tarjeta);
  border:1px solid var(--borde);
  border-radius:var(--radio-chico);
  overflow:hidden;
}
.pedido-rubro summary{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 20px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.pedido-rubro summary::-webkit-details-marker{display:none;}
.pedido-rubro__nombre{font-family:var(--ff-display);font-weight:700;color:var(--azul-vivo);font-size:1rem;}
.pedido-rubro__count{
  font-size:.78rem;
  color:var(--texto-suave);
  background:var(--fondo-alt);
  border-radius:999px;
  padding:3px 12px;
  margin-right:auto;
}
.pedido-rubro__flecha{color:var(--texto-suave);transition:transform .2s;}
.pedido-rubro[open] .pedido-rubro__flecha{transform:rotate(180deg);}
.pedido-rubro__filas{border-top:1px solid var(--borde);}

.pedido-fila{
  display:grid;
  grid-template-columns:48px 1fr auto auto;
  align-items:center;
  gap:14px;
  padding:12px 20px;
  border-bottom:1px solid var(--borde);
}
.pedido-fila:last-child{border-bottom:none;}
.pedido-fila__img{
  width:48px;height:48px;
  object-fit:contain;
  background:var(--fondo-alt);
  border-radius:8px;
  padding:4px;
}
.pedido-fila__info{display:flex;flex-direction:column;gap:2px;min-width:0;}
.pedido-fila__nombre{font-size:.88rem;font-weight:600;color:var(--texto);line-height:1.25;}
.pedido-fila__marca{font-size:.74rem;color:var(--texto-suave);}
.pedido-fila__precio{font-weight:700;color:var(--azul-vivo);font-size:.9rem;white-space:nowrap;}

/* Contacto */
.contacto-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:var(--sp-9);
  align-items:stretch;
}
.contacto-col{
  display:flex;
  flex-direction:column;
  gap:var(--sp-6);
}
.contacto-logo-panel{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:16px;
  text-align:center;
  background:linear-gradient(150deg,var(--azul-vivo) 0%, var(--azul-oscuro) 100%);
  border-radius:var(--radio-chico);
  box-shadow:var(--sombra);
  padding:36px 28px;
  min-height:220px;
  position:relative;
  overflow:hidden;
}
.contacto-logo-panel::after{
  content:"";
  position:absolute;inset:0;
  background:repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 26px, transparent 26px 64px);
  pointer-events:none;
}
.contacto-logo-panel__img-wrap{
  position:relative;
  width:clamp(150px,32%,230px);
  aspect-ratio:1/1;
  border-radius:50%;
  background:#fff;
  padding:4%;
  box-shadow:0 22px 40px -14px rgba(0,0,0,.55);
}
.contacto-logo-panel__img-wrap img{
  width:100%;height:100%;
  object-fit:contain;
  border-radius:50%;
}
.contacto-logo-panel h4{
  position:relative;
  font-family:var(--ff-display);
  color:#fff;
  font-size:1.25rem;
  font-weight:800;
}
.contacto-logo-panel p{
  position:relative;
  color:var(--amarillo);
  font-size:.9rem;
  max-width:30ch;
  line-height:var(--lh-texto);
}
.contacto-card{
  padding:32px;
  background:var(--tarjeta);
  border:none;
  border-radius:var(--radio-chico);
  box-shadow:var(--sombra);
}
.contacto-card h3{font-family:var(--ff-display);color:var(--azul-vivo);font-size:1.2rem;margin-bottom:18px;}
.campo{margin-bottom:18px;}
.campo label{display:block;font-size:.84rem;font-weight:700;color:var(--texto);margin-bottom:6px;}
.campo input, .campo textarea, .campo select{
  width:100%;
  padding:12px 14px;
  border-radius:var(--radio-chico);
  border:1px solid var(--borde);
  font-family:var(--ff-texto);
  font-size:.94rem;
  background:var(--fondo);
}
.campo textarea{min-height:120px;resize:vertical;}
.campo input:focus, .campo textarea:focus, .campo select:focus{border-color:var(--azul-vivo);background:#fff;}
.mapa{
  border-radius:var(--radio-chico);
  overflow:hidden;
  border:1px solid var(--borde);
  height:260px;
}
.mapa iframe{width:100%;height:100%;border:0;}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .features{grid-template-columns:repeat(3,1fr);}
  .segmentos{grid-template-columns:repeat(2,1fr);}
  .productos, .catalogo-grid{grid-template-columns:repeat(3,1fr);}
  .footer .container{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .hero .container{grid-template-columns:1fr;}
  .hero__visual{order:-1;}
  .hero::before{display:none;} /* la mancha orgánica no cubre de forma confiable el texto en una sola columna: se reemplaza por el mismo color sólido en .hero__contenido */
  .hero__contenido{
    background:var(--terra);
    padding:var(--sp-6) var(--sp-5);
    border-radius:var(--radio);
    box-shadow:0 14px 30px -12px rgba(0,0,0,.35);
  }
  .contacto-grid{grid-template-columns:1fr;}
  .newsletter .container{padding:var(--sp-6);}
  .newsletter{margin-top:-70px;}
}
@media (max-width:760px){
  .nav{
    position:absolute;
    top:100%;left:0;right:0;
    background:var(--header-bg);
    border-top:none;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:10px 24px 20px;
    border-bottom:1px solid rgba(255,255,255,.15);
    transform:translateY(-12px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .2s ease, opacity .2s ease, visibility 0s linear .2s;
    z-index:49;
  }
  .nav.abierto{
    transform:translateY(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:transform .2s ease, opacity .2s ease, visibility 0s linear 0s;
  }
  .btn{min-height:52px;font-size:.875rem;padding:10px 20px;} /* igual al btn160 mobile de El Criollo */
  .nav a{width:100%;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.15);}
  .menu-toggle{display:block;}
  .header__cta .btn--amarillo{display:none;}
  .header__cta .btn span{display:none;}
  .topbar .container{justify-content:center;text-align:center;}
  .cats{grid-template-columns:repeat(2,1fr);}
  .features{grid-template-columns:1fr;}
  .segmentos{grid-template-columns:1fr;}
  .productos, .catalogo-grid{grid-template-columns:repeat(2,1fr);}
  .sucursales{grid-template-columns:1fr;}
  .footer .container{grid-template-columns:1fr;}
  .newsletter .container{flex-direction:column;text-align:center;}
  .marca-card{padding:12px 18px;min-width:110px;}
  .marca-card__mono{width:34px;height:34px;font-size:.95rem;}
  .section{padding:56px 0;}
  .carrito-stepper:not(.carrito-stepper--panel) button{width:36px;height:36px;}
  .carrito-agregar{min-height:40px;}
  .catalogo-toolbar{justify-content:flex-start;}
  .filtros{width:100%;}
  .pedido-repetir-banner{flex-direction:column;align-items:flex-start;}
  .pedido-repetir-banner .btn{width:100%;justify-content:center;}
}
@media (max-width:480px){
  .cats{grid-template-columns:1fr;}
  .cat-card{height:auto;min-height:130px;}
  .productos, .catalogo-grid{grid-template-columns:1fr 1fr;}
  .hero__badge-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:400px){
  .header .container{gap:10px;}
  .brand{gap:8px;}
  .brand__logo{width:42px;height:42px;}
  .brand__nombre{font-size:1.05rem;}
  .brand__rubro{font-size:.6rem;}
  .header__cta{gap:8px;}
  .header__cta .btn{padding:10px 14px;min-height:44px;}
  .topbar{font-size:.7rem;}
  .topbar__item{gap:4px;}
  .container{padding:0 16px;}
  .newsletter .container{padding:var(--sp-5);}
  .carrito-item{grid-template-columns:44px 1fr auto;}
  .carrito-item__quitar{grid-column:1 / -1;justify-self:end;}
  .pedido-fila{grid-template-columns:40px 1fr auto;row-gap:8px;}
  .pedido-fila__img{width:40px;height:40px;}
  .pedido-fila__precio{grid-column:2;justify-self:start;}
  .pedido-fila__carrito{grid-column:1 / -1;justify-self:stretch;}
  .pedido-fila__carrito [data-carrito-widget]{display:flex;justify-content:center;}
}

/* ============================================
   OFERTAS — banner, destacadas, grilla y contadores
   ============================================ */

/* ---------- Banner principal ---------- */
.ofertas-hero{
  position:relative;
  background:linear-gradient(120deg,var(--azul-vivo) 0%, var(--azul-oscuro) 100%);
  color:#fff;
  padding:var(--sp-10) 0 var(--sp-9);
  text-align:center;
  overflow:hidden;
}
.ofertas-hero::after{
  content:"";
  position:absolute;inset:0;
  background:repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 26px, transparent 26px 64px);
  pointer-events:none;
}
.ofertas-hero .container{position:relative;}
.ofertas-hero .eyebrow{color:var(--naranja-claro);}
.ofertas-hero h1{font-family:var(--ff-display);font-weight:800;font-size:clamp(2rem,3.6vw,2.8rem);margin:10px 0 12px;}
.ofertas-hero h1 span{color:var(--naranja-claro);}
.ofertas-hero p{color:var(--amarillo);font-size:1.02rem;line-height:var(--lh-texto);max-width:56ch;margin:0 auto 28px;}
.ofertas-live{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-size:.8rem;font-weight:600;
  padding:8px 16px;border-radius:999px;
  margin-bottom:26px;
}
.ofertas-live--claro{
  background:#fff;
  border:1px solid var(--borde);
  color:var(--azul-oscuro);
  box-shadow:var(--sombra);
}
.ofertas-live__punto{
  width:8px;height:8px;border-radius:50%;
  background:#3EE07A;
  box-shadow:0 0 0 0 rgba(62,224,122,.6);
  animation:ofertas-pulso 1.8s infinite;
}
@keyframes ofertas-pulso{
  0%{box-shadow:0 0 0 0 rgba(62,224,122,.55);}
  70%{box-shadow:0 0 0 9px rgba(62,224,122,0);}
  100%{box-shadow:0 0 0 0 rgba(62,224,122,0);}
}
.ofertas-countdown{
  display:inline-flex;gap:10px;flex-wrap:wrap;justify-content:center;
}
.ofertas-countdown__item{
  background:#fff;
  color:var(--azul-vivo);
  border-radius:var(--radio-chico);
  padding:12px 18px;
  min-width:74px;
  box-shadow:0 12px 26px -10px rgba(0,0,0,.4);
}
.ofertas-countdown__item strong{display:block;font-family:var(--ff-display);font-size:1.5rem;line-height:1;}
.ofertas-countdown__item span{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--texto-suave);}

/* ---------- Destacadas (top 3) ---------- */
.destacadas-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--sp-6);
}
.destacada-card{
  position:relative;
  background:var(--tarjeta);
  border-radius:var(--radio);
  overflow:hidden;
  box-shadow:var(--sombra);
  display:flex;flex-direction:column;
  transition:transform .2s ease;
}
.destacada-card:hover{transform:translateY(-4px);}
.destacada-card__ribbon{
  position:absolute;top:16px;left:16px;z-index:2;
  background:var(--amarillo-vivo);
  color:var(--texto-vivo);
  font-family:var(--ff-display);
  font-weight:800;
  font-size:1.05rem;
  padding:8px 14px;
  border-radius:999px;
  box-shadow:0 8px 18px -6px rgba(0,0,0,.4);
}
.destacada-card__img{
  height:220px;
  background:var(--fondo-alt);
  display:flex;align-items:center;justify-content:center;
  padding:var(--sp-6);
}
.destacada-card__img img{max-height:100%;object-fit:contain;transition:transform .3s ease;}
.destacada-card:hover .destacada-card__img img{transform:scale(1.06);}
.destacada-card__body{padding:var(--sp-5) var(--sp-6) var(--sp-6);display:flex;flex-direction:column;gap:8px;flex:1;}
.destacada-card__cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--azul-vivo);font-weight:700;}
.destacada-card__nombre{font-size:1.02rem;font-weight:700;color:var(--texto);line-height:1.3;min-height:2.6em;}
.destacada-card__precios{display:flex;align-items:baseline;gap:10px;margin-top:auto;}
.destacada-card__anterior{font-size:.92rem;color:var(--texto-suave);text-decoration:line-through;}
.destacada-card__actual{font-family:var(--ff-display);font-weight:800;font-size:1.5rem;color:var(--azul-vivo);}
.destacada-card__vence{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.76rem;font-weight:700;color:var(--azul-oscuro);
  background:var(--amarillo);
  padding:5px 10px;border-radius:999px;width:fit-content;
}
.destacada-card__carrito{margin-top:10px;}

/* ---------- Toolbar de ofertas (filtro + orden) ---------- */
.ofertas-toolbar{
  display:flex;gap:14px;flex-wrap:wrap;
  align-items:center;justify-content:space-between;
  margin-bottom:32px;
}
.ofertas-toolbar .filtros{display:flex;gap:8px;flex-wrap:wrap;}
.ofertas-orden{
  display:flex;align-items:center;gap:8px;
  font-size:.84rem;color:var(--texto-suave);
}
.ofertas-orden select{
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--borde);
  background:#fff;
  font-family:var(--ff-texto);
  font-weight:600;
  font-size:.84rem;
  color:var(--texto);
  cursor:pointer;
}
.ofertas-orden select:focus{border-color:var(--azul-vivo);}

/* ---------- Tarjeta de oferta (grilla) ---------- */
.oferta-card{
  position:relative;
  background:var(--tarjeta);
  border-radius:var(--radio-chico);
  overflow:hidden;
  box-shadow:var(--sombra);
}
.oferta-card__ribbon{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--azul-vivo);
  color:#fff;
  font-family:var(--ff-display);
  font-weight:800;
  font-size:.82rem;
  padding:5px 11px;
  border-radius:999px;
  box-shadow:0 6px 14px -4px rgba(0,0,0,.4);
}
.oferta-card__vence{
  position:absolute;top:12px;right:12px;z-index:2;
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(255,255,255,.94);
  color:var(--azul-oscuro);
  font-size:.68rem;font-weight:700;
  padding:5px 9px;border-radius:999px;
  box-shadow:0 6px 14px -4px rgba(0,0,0,.3);
}
.oferta-card__img{
  height:230px;
  background:var(--fondo-alt);
  display:flex;align-items:center;justify-content:center;
  padding:var(--sp-5);
}
.oferta-card__img img{max-height:100%;object-fit:contain;transition:transform .3s ease;}
.oferta-card:hover .oferta-card__img img{transform:scale(1.05);}
.oferta-card__body{padding:var(--sp-4) var(--sp-5) var(--sp-5);}
.oferta-card__cat{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--azul-vivo);font-weight:700;}
.oferta-card__nombre{
  font-size:.92rem;font-weight:700;color:var(--texto);margin:6px 0 8px;line-height:1.3;
  min-height:2.6em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.oferta-card__precios{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.oferta-card__anterior{font-size:.8rem;color:var(--texto-suave);text-decoration:line-through;}
.oferta-card__actual{font-family:var(--ff-display);font-weight:700;font-size:1.15rem;color:var(--azul-vivo);}
.oferta-card__ahorro{font-size:.72rem;color:var(--verde-oscuro);font-weight:700;width:100%;}
.oferta-card__carrito{margin-top:12px;}

.ofertas-info{font-size:.85rem;color:var(--texto-suave);margin-bottom:18px;}

@media (max-width:1080px){
  .destacadas-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:760px){
  .ofertas-countdown__item{min-width:60px;padding:10px 12px;}
  .ofertas-countdown__item strong{font-size:1.2rem;}
  .ofertas-toolbar{align-items:stretch;}
  .ofertas-orden{justify-content:space-between;}
  .ofertas-orden select{flex:1;}
}
@media (max-width:640px){
  .destacadas-grid{grid-template-columns:1fr;}
}
@media (max-width:420px){
  [data-ofertas-grid]{grid-template-columns:1fr;}
  .oferta-card__ribbon{font-size:.76rem;padding:4px 9px;}
  .oferta-card__vence{font-size:.62rem;padding:4px 7px;}
  .ofertas-hero{padding:var(--sp-9) 0 var(--sp-7);}
}
