/* public/afiliados/inc/estilos.css — CSS inline (se emite en <style> del head).
   Mobile-first, sin recursos externos ni JS.
   Tema "gangas agresivo": marco tranquilo (ink/lavanda/blanco) + capa de acción
   caliente (naranja/rojo/verde). Regla: un solo naranja dominante por viewport;
   verde = dinero/ahorro, naranja = acción, rojo = descuento/escasez. */
:root{
  --bg:#F7EFE5; --surface:#FFFDF9; --ink:#321D2B; --ink-soft:#66505B;
  --dark:#321D2B; --dark-text:#FFF7F0; --dark-mut:#C8AAB7;
  --brand:#7B2947; --brand-deep:#5A1935;
  --cta:#A52F50; --cta-hover:#86233F; --cta-bright:#D64A70;
  --search:#E9C9A6; --search-text:#321D2B;
  --save:#24704A; --save-deep:#185438; --save-bg:#E5F2E9;
  --alert:#A52F50; --alert-bright:#D64A70; --stock:#7B2947;
  --strike:#816B76; --line:#E7D5D0; --rating:#C8873D;
  --radius:14px; --radius-s:10px; --radius-xs:8px; --radius-xl:20px;
  --sombra:0 2px 10px rgba(26,31,43,.08);
  --sombra-hover:0 10px 28px rgba(26,31,43,.16);
  --sombra-cta:0 6px 16px rgba(208,62,12,.32);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.55;font-size:16px}
a{color:var(--brand-deep);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
h1{font-size:clamp(1.55rem,4vw + .5rem,2.4rem);line-height:1.12;margin:.25em 0 .5em;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
h2{font-size:clamp(1.2rem,2vw + .5rem,1.55rem);margin:1.5em 0 .6em;font-weight:800;line-height:1.2;color:var(--ink)}
h3{font-size:1rem;color:var(--ink)}

/* ── Barra de confianza superior (banda oscura) ─────────────────────────── */
.strip-confianza{background:var(--dark);color:var(--dark-text);font-size:.78rem;font-weight:600;
  display:flex;justify-content:center;gap:18px;padding:7px 12px;
  text-align:center;flex-wrap:wrap}
.strip-confianza span{display:inline-flex;align-items:center;gap:6px}
/* Segunda etiqueta de la banda: el sello de envío discreto se distingue en tono
   suave (--dark-mut es el token de texto secundario sobre banda oscura) */
.strip-confianza span + span{color:var(--dark-mut);font-weight:700}
@media(min-width:640px){.strip-confianza{gap:32px}}

/* ── Barra de garantías (4 sellos) ──────────────────────────────────────── */
.barra-confianza{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.barra-confianza__item{display:flex;gap:10px;align-items:flex-start;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.barra-confianza__item span{font-size:1.4rem;line-height:1.2}
.barra-confianza__item strong{display:block;font-size:.92rem;color:var(--ink)}
.barra-confianza__item small{color:var(--ink-soft);font-size:.76rem}
@media(min-width:768px){.barra-confianza{grid-template-columns:repeat(4,1fr)}}

/* ── Header sticky blanco: logo + buscador + menú de categorías ─────────── */
.top{position:sticky;top:0;z-index:30;background:var(--surface);
  box-shadow:var(--sombra);border-bottom:1px solid var(--line)}
.top__fila{display:flex;align-items:center;gap:12px;padding:10px 16px;
  max-width:1280px;margin:0 auto}
.top .logo{color:var(--brand-deep);font-weight:800;font-size:1.12rem;
  white-space:nowrap;letter-spacing:-.01em;line-height:1.1}
.top .logo small{display:block;font-size:.58rem;color:var(--ink-soft);
  font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.top .logo:hover{text-decoration:none;opacity:.9}
.barra-busqueda{flex:1;display:flex;max-width:560px;margin-left:auto;min-width:0}
.barra-busqueda input{flex:1;min-width:0;border:2px solid var(--line);border-right:0;
  border-radius:10px 0 0 10px;padding:10px 14px;font-size:.95rem;color:var(--ink);
  background:var(--surface);appearance:none;-webkit-appearance:none}
.barra-busqueda input::placeholder{color:var(--strike)}
.barra-busqueda input:focus{outline:none;border-color:var(--brand)}
.barra-busqueda button{background:var(--search);color:var(--search-text);border:none;
  border-radius:0 10px 10px 0;padding:0 20px;font-weight:800;font-size:.95rem;
  cursor:pointer;white-space:nowrap}
.barra-busqueda button:hover{filter:brightness(.94)}
@media(max-width:560px){.top__fila{flex-wrap:wrap;padding:10px 12px}.top .logo{flex:1 1 100%;font-size:1rem}.barra-busqueda{order:2;flex:1 1 100%;max-width:none;margin-left:0}.barra-busqueda button{padding:0 14px}}
.top__nav{display:flex;gap:6px;overflow-x:auto;padding:0 16px 9px;
  max-width:1280px;margin:0 auto;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.top__nav a{flex:0 0 auto;padding:6px 13px;border-radius:99px;font-size:.8rem;
  font-weight:600;color:var(--ink-soft);background:#F6F4FC;border:1px solid var(--line)}
.top__nav a:hover{color:var(--brand-deep);border-color:var(--brand);text-decoration:none}
main{padding:16px;max-width:1280px;margin:0 auto}
.age-gate{position:fixed;inset:0;z-index:100;background:rgba(20,16,31,.78);display:grid;place-items:center;padding:18px}.age-gate--document{position:static;min-height:100vh}.age-gate__panel{max-width:480px;background:var(--surface);border-radius:var(--radius-xl);padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.3);text-align:center}.age-gate__panel h1,.age-gate__panel h2{margin-top:0}.age-gate__visual{display:block;width:100%;max-height:150px;object-fit:cover;border-radius:var(--radius);margin-bottom:16px}.age-gate__eyebrow{color:var(--alert);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.age-gate__exit{display:inline-block;margin-top:14px;color:var(--ink-soft);font-size:.9rem}

/* ── Hero "gangas" (marco claro + urgencia) ─────────────────────────────── */
.hero-gangas{background:linear-gradient(135deg,#F1EDFA 0%,var(--surface) 72%);
  border:1px solid var(--line);border-radius:var(--radius-xl);
  padding:26px 20px;margin:0 0 18px;display:grid;gap:18px}
.hero-gangas__kicker{color:var(--brand-deep);font-weight:800;font-size:.8rem;
  letter-spacing:.06em;text-transform:uppercase;margin:0 0 8px}
.hero-gangas h1{margin:0 0 10px}
.hero-gangas h1 span{color:var(--alert)}
.hero-gangas__sub{color:var(--ink-soft);margin:.3em 0 0;max-width:46ch}.hero-gangas__visual{width:100%;max-height:260px;object-fit:cover;border-radius:var(--radius-xl);filter:saturate(.85)}
.hero-gangas__sello{display:inline-flex;align-items:center;gap:8px;margin-top:14px;
  background:var(--alert);color:#fff;padding:7px 14px;border-radius:99px;
  font-weight:800;font-size:.88rem;box-shadow:0 4px 14px rgba(196,58,58,.3)}
.hero-gangas__ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
/* ── Banner promo "Busca tu chollo ahora" (imagen rotativa + eslogan HTML) ── */
.hero-banner{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--dark);min-height:340px;grid-column:1 / -1}
.hero-banner__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.hero-banner__overlay{position:relative;z-index:1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:clamp(14px,3vw,44px);min-height:340px;padding:clamp(20px,4vw,48px);color:var(--dark-text);background:linear-gradient(90deg,rgba(50,29,43,.86) 0%,rgba(50,29,43,.4) 52%,rgba(50,29,43,0) 100%)}
.hero-banner__content{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;max-width:50%}
.hero-banner__kicker{color:var(--cta-bright);font-weight:800;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;margin:0}
.hero-banner__slogan{font-size:clamp(1.5rem,3.6vw,2.4rem);line-height:1.12;font-weight:800;color:#FFF7F0;margin:0;max-width:20ch;letter-spacing:-.01em}
.hero-banner__ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;justify-content:flex-start}
.hero-banner .hero-gangas__sello{margin-top:0}
.hero-banner__oferta{flex:0 0 auto;max-width:400px;width:100%}
.hero-banner__oferta .hero-card{box-shadow:0 14px 34px rgba(0,0,0,.35)}
@media(max-width:820px){
  .hero-banner__overlay{flex-direction:column;justify-content:flex-end;align-items:stretch;min-height:520px;background:linear-gradient(0deg,rgba(50,29,43,.94) 0%,rgba(50,29,43,.5) 60%,rgba(50,29,43,.1) 100%)}
  .hero-banner__content{align-items:flex-start;text-align:left;max-width:none}
  .hero-banner__ctas{justify-content:flex-start}
  .hero-banner__oferta{max-width:none}
}
.hero-card{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-xl);padding:16px;box-shadow:var(--sombra-hover);
  position:relative;display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center}
.hero-card__info{display:flex;flex-direction:column;gap:6px;min-width:0}
.hero-card__badge{position:absolute;top:-10px;left:14px;background:var(--alert);
  color:#fff;font-weight:800;font-size:.78rem;padding:4px 11px;border-radius:99px;
  box-shadow:var(--sombra-cta)}
.hero-card img{width:96px;height:96px;object-fit:cover;border-radius:12px;background:#eee}
.hero-card__titulo{margin:0 0 4px;font-size:.9rem;font-weight:700;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero-card__precio del{color:var(--strike);font-size:.82rem;margin-right:6px}
.hero-card__precio strong{color:var(--save);font-size:1.5rem;font-weight:800;
  font-variant-numeric:tabular-nums;display:inline-block}
.hero-card .chip-ahorro{margin-top:6px}
.hero-card .btn-comprar{margin-top:10px}

/* ── Marquee: banda oscura con gangas en movimiento (100% CSS) ──────────── */
.marquee-seccion{margin:20px 0}
.marquee__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.marquee__head h2{margin:0}
.marquee__badge{font-size:.72rem;font-weight:800;color:var(--dark-text);
  background:var(--dark);padding:4px 12px;border-radius:99px;letter-spacing:.03em;
  display:inline-flex;align-items:center;gap:6px}
.marquee__badge::before{content:"";width:7px;height:7px;border-radius:50%;
  background:var(--cta-bright);animation:latido 1.4s ease-in-out infinite}
@keyframes latido{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}
.marquee{overflow:hidden;background:var(--dark);border-radius:var(--radius-xl);
  padding:16px 0;position:relative}
.marquee::before,.marquee::after{content:"";position:absolute;top:0;bottom:0;
  width:44px;z-index:2;pointer-events:none}
.marquee::before{left:0;background:linear-gradient(90deg,var(--dark),rgba(30,36,48,0))}
.marquee::after{right:0;background:linear-gradient(-90deg,var(--dark),rgba(30,36,48,0))}
.marquee__track{display:flex;width:max-content;will-change:transform;
  animation:marquee-desplaza 32s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes marquee-desplaza{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee__pista{display:flex;gap:12px;margin:0;padding:0 6px;list-style:none;flex:0 0 auto}
.marquee__pista li{flex:0 0 auto}
@media(prefers-reduced-motion:reduce){
  .marquee__track{animation:none;width:auto;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .marquee__pista li{scroll-snap-align:start}
}
/* Tarjeta compacta del marquee (fila densa) */
.ganga-row{display:flex;gap:10px;align-items:center;background:var(--surface);
  border-radius:var(--radius);padding:10px 12px;width:300px;color:var(--ink);
  box-shadow:var(--sombra)}
.ganga-row:hover{text-decoration:none;box-shadow:var(--sombra-hover);transform:translateY(-1px)}
.ganga-row img{width:64px;height:64px;object-fit:cover;border-radius:9px;background:#eee;flex:0 0 auto}
.ganga-row__info{display:flex;flex-direction:column;gap:2px;min-width:0}
.ganga-row__badge{display:inline-block;background:var(--alert);color:#fff;
  border-radius:99px;padding:1px 8px;font-size:.66rem;font-weight:800;
  width:fit-content;box-shadow:0 2px 6px rgba(196,58,58,.35)}
.ganga-row__titulo{font-size:.8rem;font-weight:600;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ganga-row__precio strong{color:var(--save);font-size:1.05rem;font-weight:800;
  font-variant-numeric:tabular-nums}
.ganga-row__precio del{color:var(--strike);font-size:.78rem;margin-left:6px}

/* ── Quick-filtros (chips de búsqueda rápida) ───────────────────────────── */
.quickfiltros{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0 4px}
.quickfiltro{display:inline-flex;align-items:center;gap:6px;background:var(--surface);
  border:1px solid var(--line);border-radius:99px;padding:8px 15px;font-weight:700;
  font-size:.84rem;color:var(--ink-soft)}
.quickfiltro:hover{border-color:var(--alert);color:var(--alert);text-decoration:none}

/* ── Tabs sin JS (radio hack) ───────────────────────────────────────────── */
.tabs{position:relative;margin:22px 0}
.tabs__labels{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.tabs__labels button{cursor:pointer;padding:9px 18px;border-radius:99px;
  border:1px solid var(--line);background:var(--surface);font-weight:700;
  font-size:.9rem;color:var(--ink-soft);user-select:none}
.tabs__labels button:hover,.tabs__labels button[aria-selected="true"]{border-color:var(--brand);color:#fff;background:var(--brand-deep)}
.tabs__panels{position:relative}
.tabs__panel{display:block}.tabs__panel[hidden]{display:none}

/* ── Cabecera de sección ────────────────────────────────────────────────── */
.seccion__head{margin:24px 0 12px}
.seccion__head h2{margin:0 0 2px}
.seccion__sub{color:var(--ink-soft);font-size:.88rem;margin:0}

/* ── Bloque de chollos por sección (página de categoría) ────────────────── */
.seccion-chollos{margin:0 0 26px}
.seccion-chollos__titulo{margin:22px 0 10px;font-size:1.15rem;color:var(--ink)}

/* ── Grid ───────────────────────────────────────────────────────────────── */
.grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.grid--gangas{grid-template-columns:repeat(4,1fr)}}

/* ── Tarjeta de ganga (el corazón de la conversión) ─────────────────────── */
.tarjeta{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--sombra);display:flex;flex-direction:column;overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease}
.tarjeta:hover{box-shadow:var(--sombra-hover);transform:translateY(-2px)}
.tarjeta__img{position:relative;display:block;background:#eee}
.tarjeta__img img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.tarjeta__badge{position:absolute;top:10px;left:10px;background:var(--alert);color:#fff;
  font-weight:800;font-size:.82rem;padding:5px 11px;border-radius:99px;
  box-shadow:0 4px 10px rgba(196,58,58,.4);letter-spacing:.01em}
.tarjeta__stock{position:absolute;top:10px;right:10px;background:var(--stock);color:#fff;
  font-weight:700;font-size:.72rem;padding:4px 9px;border-radius:99px}
.tarjeta__body{display:flex;flex-direction:column;gap:7px;padding:13px;height:100%}
.tarjeta__topline{display:flex;align-items:center;justify-content:space-between;gap:8px}
.tarjeta__cat{color:var(--ink-soft);font-size:.72rem;text-transform:uppercase;
  letter-spacing:.06em;font-weight:700}
.chip-proveedor{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;
  font-weight:700;color:var(--ink-soft);background:#F6F4FC;border:1px solid var(--line);
  border-radius:99px;padding:2px 9px;white-space:nowrap}
.chip-proveedor__punto{width:7px;height:7px;border-radius:50%;background:var(--strike)}
.chip-proveedor--amazon .chip-proveedor__punto{background:#FF9900}
.chip-proveedor--lovehoney .chip-proveedor__punto{background:#E91E63}
.chip-proveedor--lovense .chip-proveedor__punto{background:#2962FF}
.chip-proveedor--bigbuy .chip-proveedor__punto{background:#009BDE}
.chip-proveedor--lovecherry .chip-proveedor__punto{background:#C2185B}
.tarjeta__titulo{margin:0;font-size:1rem;font-weight:600;line-height:1.3}
.tarjeta__titulo a{color:var(--ink)}
.tarjeta__titulo a:hover{color:var(--brand-deep)}
.tarjeta__rating{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ink-soft)}
.tarjeta__nota{font-weight:700;color:var(--ink)}
.tarjeta__precio{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.tarjeta__final{font-size:1.5rem;font-weight:800;color:var(--save);
  font-variant-numeric:tabular-nums;line-height:1.1}
.tarjeta__old{color:var(--strike);text-decoration:line-through;font-size:.9rem;
  font-variant-numeric:tabular-nums}
.tarjeta__ahorro{width:100%;margin-top:2px}
.chip-ahorro{display:inline-flex;align-items:center;gap:6px;background:var(--save-bg);
  color:var(--save-deep);border-radius:99px;padding:4px 11px;font-weight:800;
  font-size:.8rem;width:fit-content}
.tarjeta__ficha{width:100%;margin-top:2px;font-size:.92rem}
.tarjeta__trust{font-size:.72rem;color:var(--ink-soft);text-align:center}

/* ── Botones ────────────────────────────────────────────────────────────── */
.btn{display:inline-block;background:var(--cta);color:#fff;border:none;border-radius:10px;
  padding:11px 16px;font-weight:800;font-size:.95rem;text-align:center;cursor:pointer;
  text-decoration:none;line-height:1.2}
.btn:hover{background:var(--cta-hover);text-decoration:none;color:#fff}
.btn-sec{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.btn-sec:hover{background:#F6F4FC;color:var(--ink);border-color:var(--brand)}
.btn-comprar{background:var(--cta);color:#fff;border-radius:var(--radius-s);
  padding:13px 16px;font-weight:800;font-size:1rem;text-align:center;cursor:pointer;
  text-decoration:none;box-shadow:var(--sombra-cta);min-height:48px;display:flex;
  align-items:center;justify-content:center;border:none;width:100%}
.btn-comprar:hover{background:var(--cta-hover);text-decoration:none;color:#fff}
.btn-comprar:active{transform:translateY(1px)}
.btn-comprar--auto{width:auto;display:inline-flex;padding:13px 24px}
.card-ctas{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}
.card-ctas .btn{flex:1;padding:9px 10px;font-size:.88rem}
.badge{display:inline-block;background:var(--save);color:#fff;font-size:.72rem;font-weight:700;
  padding:2px 8px;border-radius:99px;vertical-align:middle}
.precio-old{color:var(--strike);text-decoration:line-through;font-weight:400;font-size:.85em;margin:0 6px}
.precio-ref-micro{display:block;font-size:.72rem;color:var(--ink-soft);line-height:1.35}
.precio-ref-micro a{color:var(--brand-deep);font-weight:600}
.estrellas{color:var(--rating);letter-spacing:.06em;font-size:.95rem}

/* ── Comparativa de precios (anclaje: paga hoy vs precio habitual) ──────── */
.comparativa{margin:22px 0}
.comparativa__resumen{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;
  align-items:center;background:var(--dark);color:var(--dark-text);
  border-radius:var(--radius-xl);padding:20px;margin-bottom:14px;text-align:center}
.comparativa__resumen .etiqueta{display:block;font-size:.68rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--dark-mut);font-weight:800;margin-bottom:4px}
.comparativa__resumen .num-verde{font-size:2rem;font-weight:800;color:#4ADE80;
  font-variant-numeric:tabular-nums;line-height:1}
.comparativa__resumen .num-gris{font-size:1.4rem;font-weight:700;color:#C9CDD6;
  text-decoration:line-through;text-decoration-thickness:2px;
  font-variant-numeric:tabular-nums}
.comparativa__resumen .vs{color:var(--dark-mut);font-weight:800;font-size:1.1rem}
.comparativa__resumen .chip-ahorro{justify-self:center;margin-top:6px;font-size:.9rem}
.comparativa__resumen .bloque{display:flex;flex-direction:column;align-items:center;gap:2px}
.comparativa__ganancia{text-align:center;margin:-6px 0 14px}
.comparativa__ganancia .chip-ahorro{font-size:.95rem;padding:8px 18px}
.comparativa__panel{display:grid;gap:10px}
.compara-fila{display:grid;grid-template-columns:64px 1fr;gap:12px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);padding:12px;align-items:center}
.compara-fila__img{width:64px;height:64px;object-fit:cover;border-radius:9px;background:#eee}
.compara-fila__titulo{margin:0 0 6px;font-size:.9rem;font-weight:700;line-height:1.3}
.compara-fila__titulo a{color:var(--ink)}
.compara-fila__precios{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.compara-fila__ahora{font-size:.8rem;color:var(--ink-soft)}
.compara-fila__ahora strong{color:var(--save);font-size:1.15rem;font-weight:800;
  font-variant-numeric:tabular-nums}
.compara-fila__habitual{font-size:.8rem;color:var(--strike)}
.compara-fila__habitual del{text-decoration-thickness:1.5px}
.compara-fila .btn-comprar{grid-column:1 / -1;margin-top:4px}
@media(min-width:640px){
  .compara-fila{grid-template-columns:64px 1fr auto;align-items:center}
  .compara-fila .btn-comprar{grid-column:auto;width:auto;padding:11px 18px;margin-top:0}
}
.comparativa .aviso-afiliado{margin-top:10px}

/* ── Scroll infinito (Todos los chollos / categoría) ─────────────────────── */
.todos-chollos{margin:26px 0}
.chollos-sentinela{height:2px}
.chollos-estado{text-align:center;color:var(--ink-soft);font-size:.84rem;
  padding:14px 0 4px;margin:0}
.chollos-estado:empty{padding:0}

/* ── Prueba social ──────────────────────────────────────────────────────── */
.social{display:grid;gap:12px;margin:18px 0}
.social__nota{display:flex;align-items:center;gap:14px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.social__num{font-size:2.6rem;font-weight:800;line-height:1;color:var(--ink)}
.social__count{color:var(--ink-soft);font-size:.82rem;margin:.2em 0 0}
.social__resenas{display:grid;gap:10px}
.social__resenas .resena{margin-bottom:0}
@media(min-width:768px){.social{grid-template-columns:1fr 1fr}}

/* ── "Por qué comprar aquí" ─────────────────────────────────────────────── */
.porque .list-pros{list-style:none;padding:0;display:grid;gap:10px;margin:0}
.porque .list-pros li{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius-s);padding:12px 14px 12px 40px;position:relative;margin:0}
.porque .list-pros li::before{content:"✓";position:absolute;left:14px;top:12px;color:var(--save);font-weight:800}

/* ── Categorías (chips) ─────────────────────────────────────────────────── */
.chips{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;
  -webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap}
.chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;background:var(--surface);
  border:1px solid var(--line);border-radius:99px;padding:10px 16px;font-weight:600;color:var(--ink)}
.chip:hover{border-color:var(--brand-deep);color:var(--brand-deep);text-decoration:none}
@media(min-width:768px){.chips{flex-wrap:wrap;overflow:visible}}

/* ── FAQ ────────────────────────────────────────────────────────────────── */
.faq{max-width:720px}
.faq__item{border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface);
  margin-bottom:10px;overflow:hidden}
.faq__item summary{cursor:pointer;padding:14px 16px;font-weight:600;position:relative;
  padding-right:40px;list-style:none;color:var(--ink)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);
  font-size:1.4rem;color:var(--brand-deep)}
.faq__item[open] summary::after{content:"–"}
.faq__item p{margin:0;padding:0 16px 14px;color:var(--ink-soft)}

/* ── Breadcrumb / meta ──────────────────────────────────────────────────── */
.breadcrumb{font-size:.84rem;color:var(--ink-soft);margin:0 0 12px}
.breadcrumb a{color:var(--ink-soft)}
.breadcrumb a:hover{color:var(--brand-deep)}
.meta{color:var(--ink-soft);font-size:.85rem}

/* ── Ficha de producto ──────────────────────────────────────────────────── */
.ficha{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:768px){.ficha{grid-template-columns:1fr 1fr;align-items:start}}
.ficha-img img{border-radius:var(--radius);background:#eee;width:100%;aspect-ratio:1/1;object-fit:cover}
.ficha-gallery{display:grid;gap:10px}.ficha-gallery-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ficha-img{position:relative}.ficha-thumbs{display:flex;gap:8px;overflow-x:auto}.ficha-thumb{border:1px solid var(--line);background:var(--surface);padding:3px;border-radius:8px;cursor:pointer;flex:0 0 64px}.ficha-thumb[aria-current="true"]{border-color:var(--brand);box-shadow:0 0 0 2px rgba(165,47,80,.2)}.ficha-thumb img{display:block;width:56px;height:56px;object-fit:cover;border-radius:5px}
.ficha-info h1{margin:0 0 .3em}
.precio-big{font-size:1.9rem;font-weight:800;color:var(--save);font-variant-numeric:tabular-nums}
.precio-line{color:var(--ink-soft);font-size:.95rem}
.ctas{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.ctas .btn{flex:1;min-width:180px}
.aviso-afiliado{font-size:.78rem;color:var(--ink-soft);margin-top:6px}

/* ── Tablas (comparador + specs) ────────────────────────────────────────── */
.tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden}
th,td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;
  font-size:.9rem;vertical-align:top}
th{background:#F1EDFA;font-size:.76rem;text-transform:uppercase;letter-spacing:.03em}
tr:last-child th,tr:last-child td{border-bottom:none}
dl.specs{display:grid;grid-template-columns:1fr;gap:0;margin:0}
@media(min-width:640px){dl.specs{grid-template-columns:1fr 1fr}}
dl.specs div{padding:9px 10px;border-bottom:1px solid var(--line);border-radius:6px}
dl.specs dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft)}
dl.specs dd{margin:2px 0 0;font-weight:600;font-size:.92rem;overflow-wrap:break-word}
.listas{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:640px){.listas{grid-template-columns:1fr 1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.list-pros li::marker{content:"✔ ";color:var(--save)}
.list-contras li::marker{content:"✘ ";color:var(--alert)}
.perfil{background:linear-gradient(135deg,#E7F5EE,#F2FBF6);border:1px solid #CBE7D8;
  border-radius:var(--radius);padding:14px}
.resena{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;
  background:var(--surface)}
.resena .autor{font-weight:700;font-size:.92rem;color:var(--ink)}
.resena .fecha{color:var(--ink-soft);font-size:.78rem}
.resena .texto{margin:.4em 0 0}
.comparador th{min-width:150px;text-align:center}
.comparador td:first-child{font-weight:600;color:var(--ink-soft);min-width:140px}
.comparador th img{border-radius:8px;background:#eee;width:100%;max-width:150px;aspect-ratio:1/1;object-fit:cover}
.comparador .btn{margin-top:8px}
.comparador .precio{color:var(--save);font-size:1.05rem}
.empty{padding:26px;text-align:center;color:var(--ink-soft);background:var(--surface);
  border:1px dashed var(--line);border-radius:var(--radius)}

/* ── Footer (banda oscura) ──────────────────────────────────────────────── */
footer{background:var(--dark);color:#C9CDD6;padding:22px 16px;text-align:center;
  font-size:.84rem;margin-top:28px}
footer p{margin:.35em 0}
footer a{color:#E8EAF0}
footer a:hover{color:#fff}
.footer-aviso{max-width:640px;margin:0 auto .9em;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-s);
  padding:12px 14px;text-align:left;font-size:.84rem;color:#E8EAF0}
.legal{font-size:.74rem;opacity:.75}

/* ── Accesibilidad ──────────────────────────────────────────────────────── */
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}
.strip-confianza :focus-visible,
.marquee :focus-visible,
footer :focus-visible{outline-color:#4ADE80}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ── Carrito (Fase D3) ──────────────────────────────────────────────────── */
.top__carrito{font-weight:700;color:var(--cta);white-space:nowrap}
.top__carrito-n{display:inline-grid;place-items:center;min-width:1.35em;height:1.35em;
  padding:0 .25em;border-radius:999px;background:var(--cta);color:#fff;
  font-size:.72rem;vertical-align:super;margin-left:.15em}
.form-carrito{display:inline-flex;align-items:stretch;gap:8px;flex-wrap:wrap}
.form-carrito--ficha{width:100%;max-width:360px}
.carrito-qty{width:76px;padding:10px 8px;border:1px solid var(--line);border-radius:var(--radius-s);
  background:var(--surface);color:var(--ink);font-size:1rem}
.btn-carrito{width:auto;display:inline-flex;padding:11px 16px}
.carrito{display:flex;flex-direction:column;gap:14px}
.carrito__linea{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.carrito__img{display:block}
.carrito__img img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-xs);
  background:#eee;display:block}
.carrito__info{min-width:0}
.carrito__titulo{margin:0 0 .15em;font-size:.95rem}
.carrito__titulo a{color:var(--ink)}
.carrito__precio-u{color:var(--ink-soft);font-size:.82rem}
.carrito__qty{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.carrito__qty .btn{padding:9px 12px;font-size:.85rem}
.carrito__subtotal{font-weight:800;white-space:nowrap}
.carrito__remove{margin:0}
.btn-eliminar{background:none;border:none;color:var(--alert);cursor:pointer;
  font-size:.82rem;text-decoration:underline;padding:4px 0}
.btn-eliminar:hover{color:var(--alert-bright)}
.envio-progreso{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--radius);padding:14px 16px}
.envio-progreso__bar{height:10px;border-radius:999px;background:var(--line);overflow:hidden}
.envio-progreso__bar span{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--save),var(--save-deep));transition:width .3s}
.envio-progreso__texto{margin:.55em 0 0;color:var(--ink-soft);font-size:.9rem}
.envio-progreso__texto strong{color:var(--save-deep)}
.carrito__totales{display:flex;flex-direction:column;gap:6px;margin:0;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.carrito__totales div{display:flex;justify-content:space-between;gap:12px}
.carrito__totales dt{color:var(--ink-soft)}
.carrito__totales dd{margin:0;font-weight:700}
.carrito__total{border-top:1px solid var(--line);padding-top:8px;font-size:1.05rem}
.carrito__total dt{color:var(--ink)}
.carrito__total dd{font-weight:800;color:var(--brand-deep)}
.carrito__vaciar{margin:2px 0 0;text-align:right}
@media(min-width:720px){.carrito__linea{grid-template-columns:64px 1fr auto auto auto;gap:16px}}
