/* ══════════════════════════════════════════════════════════════════
   El Huerto en España · landing
   Editorial premium: papel crema, verde profundo, acento terracota.
   Titulares en serif, texto en sans. Sin fuentes externas, sin CDN:
   la página no hace ni una sola petición fuera.
   ══════════════════════════════════════════════════════════════════ */

:root {
  /* papel y tinta */
  --crema:      #FAF6EC;
  --crema-alt:  #F3ECDD;
  --papel:      #FFFDF8;
  --tinta:      #221F1A;
  --apagado:    #6E6658;
  --filete:     #E3D9C6;

  /* verde profundo: el color de la marca */
  --verde:      #1E3B2B;
  --verde-alt:  #2C543D;
  --verde-claro:#5C7F63;

  /* acento terracota, tomado del rojo de la Z4 del libro */
  --terracota:  #B4552F;
  --terracota-c:#C98B60;

  --ancho:      1180px;
  --ancho-est:  800px;
  --radio:      18px;
  --radio-s:    12px;

  --sombra:     0 1px 2px rgba(34,31,26,.04), 0 12px 32px -8px rgba(34,31,26,.10);
  --sombra-alta:0 2px 6px rgba(34,31,26,.06), 0 28px 60px -16px rgba(34,31,26,.20);

  --serif: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino,
           "Book Antiqua", "Times New Roman", serif;
  --sans:  "Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue",
           Arial, "Noto Sans", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }

body {
  margin: 0;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.68;
  color: var(--tinta);
  background: var(--crema);
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: 400; }
h1 { font-size: clamp(2.35rem, 4.1vw, 3.45rem); line-height: 1.13; letter-spacing: -.02em; }
h2 { font-size: clamp(1.85rem, 3.5vw, 2.85rem); line-height: 1.16; letter-spacing: -.015em; }
h3 { font-size: 1.16rem; line-height: 1.34; font-family: var(--sans); font-weight: 600; }
p  { margin: 0 0 1rem; }
a  { color: var(--verde-alt); }

.envoltorio { width: 100%; max-width: var(--ancho); margin-inline: auto; padding-inline: 28px; }
.envoltorio--estrecho { max-width: var(--ancho-est); }
.centrado { text-align: center; }
.letra-pequena { font-size: .88rem; color: var(--apagado); margin: 1rem 0 0; }

.cejilla {
  font-family: var(--sans); font-size: .78rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--terracota); margin: 0 0 1.4rem;
}

.cabecera-seccion { max-width: 700px; margin-bottom: clamp(2.4rem, 4vw, 3.6rem); }
.cabecera-seccion--centro { max-width: 620px; margin-inline: auto; text-align: center; }
.cabecera-seccion .entradilla { margin: 1.2rem 0 0; max-width: 56ch; }
.entradilla { color: var(--apagado); font-size: 1.06rem; }

/* ── barra de lanzamiento ───────────────────────────────────────── */
.barra-lanzamiento {
  background: var(--verde); color: #F1EDE2; font-size: .89rem;
}
.barra-lanzamiento__fila {
  display: flex; align-items: center; justify-content: center;
  gap: 22px; padding-block: 10px; flex-wrap: wrap;
}
.barra-lanzamiento p { margin: 0; }
.barra-lanzamiento b { color: #fff; font-weight: 600; }
.barra-lanzamiento__cta {
  color: #fff; text-decoration: none; font-weight: 600;
  border-bottom: 1px solid rgba(255,255,255,.42); padding-bottom: 1px;
}
.barra-lanzamiento__cta:hover { border-color: #fff; }

/* ── navegación ─────────────────────────────────────────────────── */
.nav {
  position: sticky; top: 0; z-index: 30;
  background: rgba(250,246,236,.94);
  border-bottom: 1px solid var(--filete);
  backdrop-filter: saturate(150%) blur(10px);
}
.nav__fila {
  display: flex; align-items: center; gap: 28px;
  padding-block: 14px;
}
.nav__marca { text-decoration: none; color: inherit; display: grid; line-height: 1.25; }
.nav__marca-titulo { font-family: var(--serif); font-size: 1.12rem; }
.nav__marca-canal {
  font-size: .7rem; letter-spacing: .13em; text-transform: uppercase;
  color: var(--terracota); font-weight: 700;
}
.nav__enlaces { display: flex; gap: 26px; margin-left: auto; }
.nav__enlaces a {
  color: var(--apagado); text-decoration: none; font-size: .93rem;
  padding: 6px 0; border-bottom: 1.5px solid transparent;
}
.nav__enlaces a:hover { color: var(--verde); border-color: var(--terracota); }

/* ── botones ────────────────────────────────────────────────────── */
.boton {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px; padding: 14px 26px; border-radius: 100px;
  font-family: var(--sans); font-size: .98rem; font-weight: 600;
  text-decoration: none; border: 1.5px solid transparent; cursor: pointer;
  min-height: 44px;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.boton--grande { padding: 17px 34px; font-size: 1.03rem; min-height: 54px; }
.boton--compacto { padding: 11px 20px; font-size: .92rem; white-space: nowrap; }

.boton--principal { background: var(--verde); color: #FCFAF4; }
.boton--principal:hover { background: var(--verde-alt); }

.boton--contorno { background: transparent; color: var(--verde); border-color: var(--verde); }
.boton--contorno:hover { background: var(--verde); color: #FCFAF4; }

.boton--claro { background: #FCFAF4; color: var(--verde); }
.boton--claro:hover { background: #fff; }

/* ── hero ───────────────────────────────────────────────────────── */
.hero { padding: clamp(56px, 8vw, 108px) 0 clamp(48px, 6vw, 84px); }
.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  gap: clamp(40px, 6vw, 88px); align-items: center;
}
.h1__linea { color: var(--verde-alt); }
.h1__linea::before { content: "— "; }
.hero__sub {
  font-size: clamp(1.08rem, 1.5vw, 1.2rem); color: var(--apagado);
  max-width: 44ch; margin-top: 1.8rem;
}
.hero__acciones { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 2.4rem; }
.linea-confianza {
  margin: 1.5rem 0 0; font-size: .87rem; color: var(--apagado);
  letter-spacing: .04em;
}

/* pila de libro: portada grande, tres páginas reales asomando detrás */
.hero__visual { position: relative; }
.pila { position: relative; padding: 4% 0 4% 6%; }
.pila__portada {
  position: relative; z-index: 5; width: 88%;
  border-radius: 3px 9px 9px 3px;
  box-shadow: var(--sombra-alta), -3px 0 0 rgba(34,31,26,.10);
}
.pila__hoja {
  position: absolute; width: 70%; border-radius: 4px;
  border: 1px solid var(--filete); background: #fff;
  box-shadow: 0 2px 6px rgba(34,31,26,.07), 0 20px 44px -14px rgba(34,31,26,.20);
}
.pila__hoja--1 { top: 2%;  right: -2%; transform: rotate(5deg);   z-index: 4; }
.pila__hoja--2 { top: 14%; right: -8%; transform: rotate(10deg);  z-index: 3; opacity: .96; }
.pila__hoja--3 { top: 27%; right: -12%; transform: rotate(15deg); z-index: 2; opacity: .9; }

/* ── cifras ─────────────────────────────────────────────────────── */
.cifras { border-block: 1px solid var(--filete); padding: clamp(38px, 5vw, 60px) 0; }
.cifras__lista {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 24px; margin: 0; text-align: center;
}
.cifras__lista div + div { border-left: 1px solid var(--filete); }
.cifras__lista dt {
  font-family: var(--serif); font-size: clamp(2.6rem, 5.4vw, 3.9rem);
  line-height: 1; color: var(--verde); font-variant-numeric: tabular-nums;
}
.cifras__lista dd {
  margin: .7rem 0 0; font-size: .8rem; color: var(--apagado);
  text-transform: uppercase; letter-spacing: .14em;
}

/* ── secciones ──────────────────────────────────────────────────── */
.seccion { padding: clamp(64px, 8.5vw, 116px) 0; }
.seccion--crema { background: var(--crema-alt); }
.seccion--verde { background: var(--verde); color: #EFEADC; }
.seccion--verde h2 { color: #FCFAF4; }

.rejilla { display: grid; gap: 22px; }
.rejilla--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rejilla--amplia { gap: 26px; }

/* ── tarjetas numeradas (valor y perfil) ────────────────────────── */
.numero {
  display: block; font-family: var(--serif); font-size: 1.5rem;
  color: var(--terracota-c); margin-bottom: 1.1rem; letter-spacing: .04em;
}
.tarjeta-valor, .tarjeta-perfil {
  background: var(--papel); border: 1px solid var(--filete);
  border-radius: var(--radio); padding: clamp(28px, 3.4vw, 40px);
  box-shadow: var(--sombra);
}
.tarjeta-valor h3, .tarjeta-perfil h3 { margin-bottom: .6rem; font-size: 1.24rem; }
.tarjeta-valor p, .tarjeta-perfil p { color: var(--apagado); margin: 0; }
.tarjeta-perfil--ancha { grid-column: 1 / -1; }

/* ── el problema ────────────────────────────────────────────────── */
.problema {
  display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1.16fr);
  gap: clamp(36px, 5vw, 76px); align-items: center;
}
.problema__visual { margin: 0; }
.problema__visual img {
  border: 1px solid var(--filete); border-radius: var(--radio-s);
  box-shadow: var(--sombra-alta); background: #fff;
}
.problema__visual figcaption {
  margin-top: 1rem; font-size: .85rem; color: var(--apagado); text-align: center;
}
.problema__texto h2 { margin-bottom: 2.2rem; }
.problema__lista { list-style: none; margin: 0; padding: 0; counter-reset: p; }
.problema__lista li {
  counter-increment: p; padding: 0 0 1.6rem 3.4rem;
  border-bottom: 1px solid var(--filete); margin-bottom: 1.6rem; position: relative;
}
.problema__lista li:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.problema__lista li::before {
  content: "0" counter(p); position: absolute; left: 0; top: -2px;
  font-family: var(--serif); font-size: 1.1rem; color: var(--terracota-c);
}
.problema__lista h3 { margin-bottom: .35rem; }
.problema__lista p { color: var(--apagado); margin: 0; }

.caja-acento {
  margin-top: clamp(40px, 5vw, 64px);
  background: var(--verde); color: #EFEADC;
  border-radius: var(--radio); padding: clamp(30px, 4vw, 46px);
  border-left: 5px solid var(--terracota);
}
.caja-acento__titulo {
  font-family: var(--serif); font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  color: #FCFAF4; margin-bottom: .5rem;
}
.caja-acento p:last-child { margin: 0; opacity: .88; }

/* ── índice del libro ───────────────────────────────────────────── */
.indice {
  background: var(--papel); border: 1px solid var(--filete);
  border-radius: var(--radio); overflow: hidden; box-shadow: var(--sombra);
}
.parte + .parte { border-top: 1px solid var(--filete); }
.parte > summary {
  display: flex; align-items: center; gap: 18px;
  padding: 22px 30px; cursor: pointer; list-style: none; user-select: none;
  font-size: 1.1rem; font-weight: 600;
}
.parte > summary::-webkit-details-marker { display: none; }
.parte > summary::after {
  content: ""; margin-left: auto; width: 9px; height: 9px;
  border-right: 1.5px solid var(--apagado); border-bottom: 1.5px solid var(--apagado);
  transform: rotate(45deg) translate(-2px, -2px); transition: transform .18s ease;
}
.parte[open] > summary::after { transform: rotate(-135deg) translate(-3px, -3px); }
.parte > summary:hover { background: #FCF9F1; }
.parte__num {
  display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px;
  border-radius: 50%; background: var(--crema-alt); color: var(--verde);
  font-family: var(--serif); font-size: .95rem;
}
.parte ol, .parte ul {
  margin: 0; padding: 0 30px 26px 86px; color: var(--apagado); font-size: .98rem;
}
.parte li { margin-bottom: .6rem; }
.parte li b { color: var(--tinta); font-weight: 600; }
.parte--consulta ul { list-style: none; }
.parte--consulta li::before { content: "· "; color: var(--filete); }

.nota-destacada {
  margin-top: 2.2rem; padding: 24px 28px; background: var(--papel);
  border: 1px solid var(--filete); border-left: 4px solid var(--verde-claro);
  border-radius: 0 var(--radio-s) var(--radio-s) 0;
  color: var(--apagado); font-size: .98rem;
}
.nota-destacada b { color: var(--tinta); }

/* ── galería de páginas reales ──────────────────────────────────── */
.galeria {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 56px); margin-bottom: clamp(42px, 5vw, 64px);
  max-width: 940px; margin-inline: auto;
}
.galeria figure { margin: 0; }
.galeria img {
  border: 1px solid var(--filete); border-radius: var(--radio-s);
  box-shadow: var(--sombra-alta); background: #fff;
  transition: transform .2s ease;
}
.galeria figure:hover img { transform: translateY(-4px); }
.galeria figcaption {
  margin-top: 1.1rem; font-size: .88rem; color: var(--apagado);
  text-align: center; line-height: 1.5;
}

.nota-honesta {
  margin-top: 2.4rem; padding: 22px 26px;
  border: 1px dashed var(--filete); border-radius: var(--radio-s);
  color: var(--apagado); font-size: .96rem; background: var(--papel);
}
.nota-honesta b { color: var(--tinta); }

/* ── tabla comparativa ──────────────────────────────────────────── */
.tabla-envoltura { overflow-x: auto; }
.tabla-comparativa {
  width: 100%; border-collapse: collapse; background: var(--papel);
  border: 1px solid var(--filete); border-radius: var(--radio-s);
  overflow: hidden; min-width: 420px;
}
.tabla-comparativa th, .tabla-comparativa td {
  padding: 17px 22px; text-align: left; border-bottom: 1px solid var(--filete);
}
.tabla-comparativa thead th {
  font-size: .76rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--apagado); font-weight: 700; background: var(--crema);
}
.tabla-comparativa thead th:not(:first-child),
.tabla-comparativa td { text-align: center; }
.tabla-comparativa tbody th { font-weight: 500; }
.tabla-comparativa tr:last-child th, .tabla-comparativa tr:last-child td { border-bottom: 0; }
.tabla-comparativa .si { color: var(--verde); font-size: 1.15rem; font-weight: 700; }
.tabla-comparativa .no { color: var(--filete); font-size: 1.15rem; }
.tabla-comparativa .parcial { color: var(--terracota); font-size: .88rem; }

.frase-cierre {
  margin: 2rem 0 0; font-family: var(--serif);
  font-size: clamp(1.15rem, 2vw, 1.42rem); color: var(--verde); line-height: 1.45;
}

.bloque-honesto {
  margin-top: clamp(36px, 4.5vw, 56px); padding: 28px 32px;
  background: var(--papel); border: 1px solid var(--filete);
  border-left: 4px solid var(--terracota); border-radius: 0 var(--radio-s) var(--radio-s) 0;
}
.bloque-honesto__titulo {
  font-size: .76rem; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: var(--terracota); margin-bottom: .8rem;
}
.bloque-honesto p:last-child { margin: 0; color: var(--apagado); font-size: .98rem; }

/* ── comentarios reales del canal ───────────────────────────────── */
.comentario {
  background: var(--papel); border: 1px solid var(--filete);
  border-radius: var(--radio); padding: 26px 28px;
}
.comentario__cabecera { display: flex; align-items: center; gap: 11px; margin-bottom: .9rem; }
.comentario__avatar {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--crema-alt); flex: 0 0 34px;
}
.comentario__usuario { font-weight: 600; font-size: .93rem; }
.comentario__texto { margin: 0 0 1rem; }
.comentario__fuente { font-size: .82rem; color: var(--apagado); margin: 0; }
.franja-canal { margin-top: 2rem; text-align: center; color: var(--apagado); }

/* ── la oferta ──────────────────────────────────────────────────── */
.oferta {
  display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
  gap: clamp(40px, 6vw, 84px); align-items: center;
}
.oferta__visual { position: relative; padding-bottom: 12%; }
.oferta__libro {
  width: 80%; border-radius: 3px 9px 9px 3px;
  box-shadow: 0 3px 8px rgba(0,0,0,.22), 0 34px 70px -18px rgba(0,0,0,.45);
}
.oferta__bonus {
  position: absolute; right: 0; bottom: 0; width: 42%;
  border: 1px solid rgba(255,255,255,.22); border-radius: 4px;
  box-shadow: 0 3px 8px rgba(0,0,0,.22), 0 22px 44px -14px rgba(0,0,0,.45);
  transform: rotate(-4deg);
}
.oferta__lista { list-style: none; margin: 2rem 0 0; padding: 0; }
.oferta__lista li {
  position: relative; padding: 0 0 .9rem 30px; margin-bottom: .9rem;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.oferta__lista li:last-child { border-bottom: 0; }
.oferta__lista li::before {
  content: "✓"; position: absolute; left: 0; top: 0;
  color: var(--terracota-c); font-weight: 700;
}
.oferta__lista b { color: #FCFAF4; }
.oferta__precio {
  margin: 2.2rem 0 1.6rem; font-size: .92rem; opacity: .8;
  display: flex; align-items: baseline; gap: 12px;
  flex-wrap: wrap;                 /* la nota del IVA baja de línea si no cabe */
}
.oferta__precio span {
  font-family: var(--serif); font-size: clamp(3rem, 5.6vw, 4rem);
  color: #FCFAF4; line-height: 1; opacity: 1;
  white-space: nowrap; flex: 0 0 auto;   /* «19 €» nunca se parte en dos líneas */
}
.oferta__confianza { margin: 1.2rem 0 0; font-size: .87rem; opacity: .72; }

/* ── FAQ ────────────────────────────────────────────────────────── */
.faq {
  background: var(--papel); border: 1px solid var(--filete);
  border-radius: var(--radio); overflow: hidden; box-shadow: var(--sombra);
}
.faq details + details { border-top: 1px solid var(--filete); }
.faq summary {
  padding: 24px 32px; cursor: pointer; list-style: none;
  display: flex; align-items: center; gap: 18px;
  font-size: 1.08rem; font-weight: 600;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: ""; margin-left: auto; width: 9px; height: 9px; flex: 0 0 9px;
  border-right: 1.5px solid var(--apagado); border-bottom: 1.5px solid var(--apagado);
  transform: rotate(45deg) translate(-2px, -2px); transition: transform .18s ease;
}
.faq details[open] summary::after { transform: rotate(-135deg) translate(-3px, -3px); }
.faq summary:hover { background: #FCF9F1; }
.faq p { margin: 0; padding: 0 32px 28px; color: var(--apagado); }
.faq p b { color: var(--tinta); }

/* ── cierre ─────────────────────────────────────────────────────── */
.cierre { padding: clamp(72px, 9vw, 128px) 0; }
.cierre__texto {
  color: var(--apagado); font-size: 1.08rem;
  max-width: 46ch; margin: 1.6rem auto 2.6rem;
}
.cierre__acciones { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* ── pie ────────────────────────────────────────────────────────── */
.pie { padding: 44px 0 56px; border-top: 1px solid var(--filete); background: var(--crema-alt); }
.pie__marca { font-family: var(--serif); font-size: 1.05rem; margin-bottom: .7rem; }
.pie__marca b { font-weight: 400; }
.pie .letra-pequena { max-width: 62ch; margin: 0; }
.pie__legal { margin-top: 1.2rem; font-size: .86rem; }
.pie__legal a { color: var(--apagado); text-decoration: underline; }
.pie__legal a:hover { color: var(--verde); }
.pie__legal span { color: var(--filete); margin-inline: 5px; }

/* aviso mientras el checkout no está conectado */
.nota-espera { color: var(--terracota); font-weight: 500; font-size: .88rem; margin: .9rem 0 0; }
.seccion--verde .nota-espera { color: var(--terracota-c); }

/* ── CTA fija en móvil ──────────────────────────────────────────── */
.cta-fija {
  position: fixed; inset: auto 0 0 0; z-index: 40;
  display: none; align-items: center; justify-content: space-between; gap: 14px;
  padding: 11px 16px; background: rgba(250,246,236,.97);
  border-top: 1px solid var(--filete); box-shadow: 0 -4px 20px rgba(34,31,26,.10);
}
.cta-fija__texto { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.cta-fija__texto b { font-size: .93rem; }
.cta-fija__texto span { font-size: .78rem; color: var(--apagado); }
.cta-fija__texto b, .cta-fija__texto span {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* el atributo hidden manda siempre, por encima de las media queries */
[hidden] { display: none !important; }
/* nada empuja la página a lo ancho: las hojas giradas se recortan */
html, body { overflow-x: clip; }

/* ══════════════ pantallas medianas y pequeñas ══════════════════ */

@media (max-width: 1040px) {
  .nav__enlaces { gap: 20px; }
}

@media (max-width: 900px) {
  .hero__grid { grid-template-columns: minmax(0, 1fr); gap: 48px; }
  .hero__visual { max-width: 440px; margin-inline: auto; width: 100%; }
  .hero__sub { max-width: none; }
  .problema { grid-template-columns: minmax(0, 1fr); }
  .problema__visual { max-width: 400px; margin-inline: auto; }
  .oferta { grid-template-columns: minmax(0, 1fr); gap: 44px; }
  .oferta__visual { max-width: 380px; margin-inline: auto; width: 100%; }
  .cabecera-seccion { max-width: none; }
  .nav__enlaces { display: none; }          /* en móvil, marca + botón */
}

@media (max-width: 760px) {
  .rejilla--2 { grid-template-columns: minmax(0, 1fr); }
  .cifras__lista { grid-template-columns: repeat(2, 1fr); gap: 32px 20px; }
  .cifras__lista div:nth-child(odd) { border-left: 0; }
  .cifras__lista div:nth-child(3) { border-left: 0; }
}

@media (max-width: 640px) {
  body { font-size: 16px; }
  html { scroll-padding-top: 84px; }
  .envoltorio { padding-inline: 20px; }
  .hero { padding-top: 44px; }
  .hero__acciones, .cierre__acciones { flex-direction: column; align-items: stretch; }
  .hero__acciones .boton, .cierre__acciones .boton { width: 100%; }
  .galeria { grid-template-columns: minmax(0, 1fr); max-width: 340px; margin-inline: auto; }
  .parte > summary, .faq summary { padding: 19px 20px; gap: 14px; }
  .parte ol, .parte ul { padding: 0 20px 22px 24px; }
  .faq p { padding: 0 20px 24px; }
  .problema__lista li { padding-left: 0; }
  .problema__lista li::before { position: static; display: block; margin-bottom: .3rem; }
  .barra-lanzamiento__fila { gap: 14px; font-size: .84rem; padding-block: 9px; }
  .nav__fila { gap: 14px; padding-block: 11px; }
  .nav__marca-titulo { font-size: 1rem; }

  .cta-fija { display: flex; }
  body.con-cta-fija { padding-bottom: 78px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* ── ajustes finos de móvil ─────────────────────────────────────── */
@media (max-width: 640px) {
  /* la tabla cabe entera: sin min-width no hace falta scroll interno */
  .tabla-comparativa { min-width: 0; }
  .tabla-comparativa th, .tabla-comparativa td { padding: 14px 12px; font-size: .92rem; }
  .tabla-comparativa thead th { font-size: .68rem; letter-spacing: .08em; }

  /* el enlace de la barra superior también necesita 44 px de alto */
  .barra-lanzamiento__cta {
    display: inline-flex; align-items: center; min-height: 44px; padding-inline: 4px;
  }
  .barra-lanzamiento__fila { padding-block: 4px; }
}
