@charset "UTF-8";
@import "./tokens.css";

/* === RESET ============================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-md);
  line-height: 1.6;
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, svg, picture, video { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; border: 0; background: none; color: inherit; }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--brand-dark); }
h1,h2,h3,h4 {
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.025em;
  margin: 0 0 var(--sp-4);
  color: var(--ink-strong);
}
h1 { font-size: var(--fs-3xl); }
h2 { font-size: var(--fs-2xl); }
h3 { font-size: var(--fs-xl); }
h4 { font-size: var(--fs-lg); }
p  { margin: 0 0 var(--sp-4); }
strong { font-weight: 700; }
em.brand { font-style: normal; color: var(--brand-dark); font-weight: 800; }

:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; border-radius: 4px; }

/* === LAYOUT ============================================== */
.container { width: min(100% - 2rem, var(--container)); margin-inline: auto; }
.container--narrow { max-width: var(--container-narrow); margin-inline: auto; }
.section { padding: var(--sp-8) 0; }
.section--sm { padding: var(--sp-7) 0; }

.eyebrow {
  display: inline-block;
  font-size: var(--fs-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--brand-dark);
  margin-bottom: var(--sp-3);
}
.section-head { text-align: center; margin-bottom: var(--sp-7); }
.section-head h2 { font-size: clamp(1.875rem, 1.4rem + 2.4vw, 2.75rem); }
.section-head p { color: var(--ink-muted); max-width: 60ch; margin-inline: auto; font-size: var(--fs-md); }
.divider-dot {
  width: 56px; height: 3px;
  background: var(--brand);
  border-radius: 9999px;
  margin: var(--sp-4) auto 0;
}

/* === BUTTON PILL CON GLOW (réplica del CTA del sitio) === */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-2);
  background: var(--brand);
  color: #fff;
  padding: 18px 36px;
  font-weight: 700;
  font-size: var(--fs-md);
  letter-spacing: 0.02em;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-glow);
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
  text-decoration: none;
  text-transform: uppercase;
  font-family: var(--font-display);
  line-height: 1;
  border: 0;
  cursor: pointer;
}
.btn:hover {
  background: var(--brand-dark);
  box-shadow: var(--shadow-glow-strong);
  transform: translateY(-1px);
  color: #fff;
}
.btn:active { transform: translateY(0); }
.btn--lg { padding: 22px 44px; font-size: var(--fs-lg); }
@media (max-width: 480px) {
  .btn { padding: 16px 22px; font-size: 14px; }
  .btn--lg { padding: 18px 24px; font-size: 15px; }
}
.btn--ghost {
  background: transparent;
  color: var(--brand-dark);
  box-shadow: inset 0 0 0 2px var(--brand);
}
.btn--ghost:hover { background: var(--brand); color: #fff; }
.btn--white {
  background: #fff;
  color: var(--ink-strong);
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
  text-transform: none;
}

/* === HEADER ============================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: saturate(160%) blur(8px);
  border-bottom: 1px solid var(--paper-line);
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--sp-3) 0;
  gap: var(--sp-4);
}
.brand {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  font-weight: 800;
  font-size: var(--fs-md);
  text-decoration: none;
  color: var(--ink-strong);
  letter-spacing: -0.02em;
}
.brand-mark {
  width: 38px; height: 38px;
  display: grid; place-items: center;
  background: var(--ink-strong);
  color: #fff;
  border-radius: var(--radius-sm);
  font-weight: 800;
  font-size: 14px;
}
.brand-logo {
  width: 36px; height: 36px;
  background: var(--ink-strong);
  border-radius: var(--radius-sm);
  padding: 6px;
  object-fit: contain;
}
.brand small { display: block; font-weight: 500; color: var(--ink-muted); font-size: 12px; letter-spacing: normal; }
.header-cta { display: none; padding: 12px 20px; font-size: var(--fs-sm); }
@media (min-width: 768px) { .header-cta { display: inline-flex; } }

.header-actions { display: flex; align-items: center; gap: var(--sp-3); }

/* Currency switcher pill */
.currency-switcher {
  display: inline-flex;
  background: var(--paper-soft);
  border: 1px solid var(--paper-line);
  border-radius: var(--radius-pill);
  padding: 3px;
  gap: 2px;
}
.currency-switcher__btn {
  background: transparent;
  border: 0;
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 700;
  color: var(--ink-muted);
  cursor: pointer;
  transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
  letter-spacing: 0.04em;
  min-width: 44px;
}
.currency-switcher__btn.is-active {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 2px 6px rgba(86, 178, 33, 0.3);
}
.currency-switcher__btn:hover:not(.is-active) { color: var(--ink-strong); background: rgba(15, 23, 42, 0.04); }

/* Trust badges */
.trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-top: var(--sp-4);
}
.trust-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 1px solid var(--paper-line);
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-strong);
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.trust-badge__icon { font-size: 14px; }

/* Transition section "no eres tú" */
.transition-section {
  padding: var(--sp-7) 0;
  background: #fff;
  text-align: center;
}
.transition-section h2 {
  font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
  max-width: 760px;
  margin: 0 auto;
}
.transition-section .green { color: var(--brand); }

/* Mito section (comparativa) */
.mito-section {
  padding: var(--sp-8) 0;
  background: var(--paper-soft);
}
.mito-grid {
  display: grid;
  gap: var(--sp-4);
  grid-template-columns: 1fr;
  margin-bottom: var(--sp-6);
  max-width: 940px;
  margin-inline: auto;
}
@media (min-width: 768px) { .mito-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-5); } }

.mito-card {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: var(--sp-5) var(--sp-5) var(--sp-6);
  border: 1px solid var(--paper-line);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  position: relative;
}
.mito-card--bad { border-top: 4px solid var(--coral); }
.mito-card--good { border-top: 4px solid var(--brand); }
.mito-card__tag {
  display: inline-block;
  font-size: var(--fs-sm);
  font-weight: 800;
  letter-spacing: -0.01em;
}
.mito-card--bad .mito-card__tag { color: var(--coral); }
.mito-card--good .mito-card__tag { color: var(--brand-dark); }
.mito-card__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.mito-card__list li {
  padding: 8px 0 8px 24px;
  font-size: var(--fs-sm);
  border-bottom: 1px dashed var(--paper-line);
  position: relative;
}
.mito-card__list li:last-child { border-bottom: 0; }
.mito-card--bad .mito-card__list li::before {
  content: "\00d7";
  position: absolute;
  left: 0;
  color: var(--coral);
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
}
.mito-card--good .mito-card__list li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: var(--brand);
  font-weight: 800;
}
.mito-card__cost {
  background: var(--paper-soft);
  border-radius: var(--radius);
  padding: 14px 16px;
  margin-top: auto;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 6px 14px;
}
.mito-card__cost-label {
  grid-column: 1;
  grid-row: 1;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ink-muted);
}
.mito-card__cost-bars {
  grid-column: 2;
  grid-row: 1 / span 2;
  font-size: clamp(2rem, 1.5rem + 1.5vw, 2.5rem);
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  line-height: 1;
}
.mito-card--bad .mito-card__cost-bars { color: var(--coral); }
.mito-card--good .mito-card__cost-bars { color: var(--brand); }
.mito-card__cost-tag {
  grid-column: 1;
  grid-row: 2;
  font-size: var(--fs-sm);
  font-weight: 700;
}
.mito-card--bad .mito-card__cost-tag { color: var(--coral); }
.mito-card--good .mito-card__cost-tag { color: var(--brand-dark); }
.mito-card__effect { font-size: 13px; color: var(--ink-muted); line-height: 1.5; margin: 0; }
.mito-card__effect strong { color: var(--ink-strong); font-weight: 700; }

.mito-quote {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: var(--sp-5);
  background: var(--brand-soft);
  border-left: 4px solid var(--brand);
  border-radius: var(--radius);
}
.mito-quote p { font-size: var(--fs-lg); font-weight: 600; color: var(--ink-strong); margin: 0 0 8px; line-height: 1.4; }
.mito-quote cite { font-size: var(--fs-sm); color: var(--ink-muted); font-style: normal; }
.mito-disclaimer { font-size: 12px; color: var(--ink-subtle); text-align: center; margin-top: var(--sp-4); }

/* Calculadora */
.calc-section {
  padding: var(--sp-8) 0;
  background: linear-gradient(180deg, #fff 0%, var(--brand-soft) 100%);
}
.calc {
  max-width: 720px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--paper-line);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
  box-shadow: var(--shadow-card);
}
/* === Choices (5 opciones tipo radio-card) === */
.calc__choices {
  border: 0;
  padding: 0;
  margin: 0 0 var(--sp-5);
  display: grid;
  gap: 10px;
}
.calc__legend {
  font-weight: 700;
  color: var(--ink-strong);
  margin-bottom: var(--sp-3);
  padding: 0;
  font-size: var(--fs-md);
}
.calc__choice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border: 2px solid var(--paper-line);
  border-radius: var(--radius);
  cursor: pointer;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.calc__choice:hover { border-color: rgba(86, 178, 33, 0.45); background: #fbfdfa; }
.calc__choice input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 22px; height: 22px;
  border: 2px solid var(--paper-line);
  border-radius: 50%;
  margin: 2px 0 0 0;
  cursor: pointer;
  flex-shrink: 0;
  position: relative;
  transition: border-color var(--t-fast) var(--ease);
  background: #fff;
}
.calc__choice input[type="radio"]:checked {
  border-color: var(--brand);
  border-width: 6px;
}
.calc__choice:has(input:checked) {
  border-color: var(--brand);
  background: var(--brand-soft);
  box-shadow: 0 2px 12px rgba(86, 178, 33, 0.10);
}
.calc__choice-body { display: flex; flex-direction: column; gap: 3px; }
.calc__choice-text {
  font-size: var(--fs-md);
  font-weight: 700;
  color: var(--ink-strong);
  line-height: 1.3;
}
.calc__choice-detail {
  font-size: 13px;
  color: var(--ink-muted);
  line-height: 1.45;
}
.calc__choice:has(input:checked) .calc__choice-text { color: var(--brand-dark); }

.calc__results {
  display: grid;
  gap: var(--sp-3);
  grid-template-columns: 1fr;
  margin-bottom: var(--sp-4);
}
@media (min-width: 600px) { .calc__results { grid-template-columns: repeat(3, 1fr); } }
.calc__result {
  text-align: center;
  padding: var(--sp-5) var(--sp-4);
  background: var(--paper-soft);
  border-radius: var(--radius);
  border: 1px solid var(--paper-line);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.calc__result-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-muted);
}
.calc__result-value {
  display: block;
  font-size: clamp(1.125rem, 0.9rem + 1vw, 1.625rem);
  font-weight: 800;
  color: var(--ink-strong);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  margin-top: 2px;
}
.calc__result-foot {
  display: block;
  font-size: 11px;
  color: var(--ink-subtle);
  margin-top: 4px;
}
.calc__result--gasto .calc__result-value { color: var(--coral); }
.calc__result--curso { background: #fff; border-color: var(--brand); }
.calc__result--curso .calc__result-value { color: var(--ink-strong); }
.calc__result--ahorro { background: var(--brand); border-color: var(--brand); }
.calc__result--ahorro .calc__result-label,
.calc__result--ahorro .calc__result-foot { color: rgba(255, 255, 255, 0.92); }
.calc__result--ahorro .calc__result-value { color: #fff; font-size: clamp(1.375rem, 1.05rem + 1.2vw, 1.875rem); }

.calc__quote { font-size: var(--fs-sm); color: var(--ink-muted); padding: var(--sp-3); background: var(--paper-soft); border-left: 3px solid var(--brand); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; margin-bottom: var(--sp-4); }
.calc__quote em { color: var(--ink-strong); font-weight: 600; }
.calc__quote span { display: block; font-size: 11px; color: var(--ink-subtle); margin-top: 4px; }
.calc__disclaimer { font-size: 11px; color: var(--ink-subtle); text-align: center; margin: var(--sp-3) 0 0; }

/* === HERO (split layout — texto a la izq, foto a la der) === */
.hero {
  position: relative;
  background:
    radial-gradient(1200px 400px at 80% 20%, rgba(86, 178, 33, 0.10), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, var(--paper-soft) 100%);
  padding: var(--sp-8) 0 var(--sp-7);
  overflow: hidden;
}
.hero__grid {
  display: grid;
  gap: var(--sp-5);
  grid-template-columns: 1fr;
  align-items: center;
}
/* Mobile: el video del Dr. aparece PRIMERO (cara visible en el primer fold) */
@media (max-width: 919px) {
  .hero__visual { order: -1; }
  .hero__visual { aspect-ratio: 16 / 10; max-width: 100%; }
}
@media (min-width: 920px) {
  .hero__grid { grid-template-columns: 1.1fr 1fr; gap: var(--sp-7); }
}

.hero__copy { max-width: 640px; }

.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid var(--paper-line);
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--ink-strong);
  margin-bottom: var(--sp-4);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
}
.hero__badge-dot {
  width: 8px; height: 8px;
  background: var(--brand);
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(86, 178, 33, 0.18);
}

.hero h1 {
  font-size: clamp(2rem, 1.5rem + 3vw, 3.75rem);
  letter-spacing: -0.03em;
  color: var(--ink-strong);
  margin-bottom: var(--sp-4);
  line-height: 1.05;
}
.hero h1 .accent { color: var(--brand); display: inline-block; }

.hero__sub {
  font-size: var(--fs-lg);
  color: var(--ink-muted);
  max-width: 540px;
  margin: 0 0 var(--sp-5);
  font-weight: 500;
}
.hero__sub strong { color: var(--ink-strong); }

.hero__cta-row { display: flex; flex-wrap: wrap; gap: var(--sp-3); }

.hero__trust {
  list-style: none;
  padding: 0;
  margin: var(--sp-6) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--ink-muted);
}
.hero__trust li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.hero__trust li::before {
  content: "";
  width: 16px; height: 16px;
  background: var(--brand);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8l3 3 7-7' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 8l3 3 7-7' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  flex-shrink: 0;
}

.hero__visual {
  position: relative;
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18), 0 6px 12px rgba(15, 23, 42, 0.08);
  isolation: isolate;
  background: var(--paper-soft);
  aspect-ratio: 16 / 10;
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
}
.hero__visual lite-youtube {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: 0;
}
@media (min-width: 920px) { .hero__visual { aspect-ratio: 16 / 10; max-width: none; } }
.hero__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.hero__caption {
  position: absolute;
  left: 16px; bottom: 16px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  border-radius: var(--radius-pill);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ink-strong);
  z-index: 2;
  max-width: calc(100% - 32px);
}
.hero__caption-rule {
  display: inline-grid;
  place-items: center;
  width: 36px; height: 36px;
  background: var(--brand);
  color: #fff;
  border-radius: 50%;
  font-weight: 800;
  font-size: 13px;
  flex-shrink: 0;
}

/* === SECCIÓN VIDEO + "no eres tú" ======================= */
.video-section {
  padding: var(--sp-8) 0;
}
.video-wrap {
  max-width: 720px;
  margin: 0 auto var(--sp-6);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-pop);
  background: #000;
}
.video-wrap lite-youtube { aspect-ratio: 16 / 9; }

.video-section h2 {
  text-align: center;
  font-size: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);
  max-width: 760px;
  margin: 0 auto;
}
.video-section h2 .green { color: var(--brand); }

/* === PAIN POINTS (sección oscura "improvisando?") ======= */
.dark-section {
  background: var(--dark);
  color: #e2e8f0;
  padding: var(--sp-8) 0;
}
.dark-section h2 {
  color: #fff;
  text-align: center;
  font-size: clamp(1.875rem, 1.4rem + 2vw, 2.75rem);
}
.dark-section h2 .coral { color: var(--coral); }
.dark-section .divider-dot { background: var(--coral); }

.pain-list {
  display: grid;
  gap: var(--sp-3);
  max-width: 800px;
  margin: var(--sp-6) auto 0;
}
.pain-item {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  padding: var(--sp-4) var(--sp-5);
  background: var(--dark-card);
  border: 1px solid var(--dark-line);
  border-radius: var(--radius);
  font-size: var(--fs-md);
}
.pain-item__icon {
  width: 32px; height: 32px;
  flex-shrink: 0;
  display: grid; place-items: center;
  background: var(--coral-soft);
  color: var(--coral);
  border-radius: 50%;
  font-weight: 800;
}

.midcta {
  margin: var(--sp-7) auto 0;
  max-width: 720px;
  text-align: center;
  background: rgba(86, 178, 33, 0.06);
  border: 1px solid rgba(86, 178, 33, 0.25);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
}
.midcta p { color: #e2e8f0; font-size: var(--fs-lg); margin-bottom: var(--sp-5); }
.midcta strong { color: var(--brand); font-size: 1.2em; }

/* === SECCIÓN VERDE CLARA — "qué aprenderás" ============= */
.learn-section {
  padding: var(--sp-8) 0;
  background: linear-gradient(180deg, var(--brand-soft) 0%, #f6fdf8 100%);
  position: relative;
  overflow: hidden;
}
.learn-section::before {
  content: "";
  position: absolute;
  top: -120px; left: -120px;
  width: 360px; height: 360px;
  background: radial-gradient(circle, rgba(86,178,33,0.10) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.learn-section h2 {
  color: var(--brand-dark);
  text-align: center;
}
.learn-section .section-head p { color: var(--ink); font-size: var(--fs-md); }

/* === GRID DE MÓDULOS (reemplaza el carrusel) ============ */
.modules-grid {
  display: grid;
  gap: var(--sp-4);
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .modules-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .modules-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1240px){ .modules-grid { grid-template-columns: repeat(4, 1fr); } }

.module-card {
  background: #fff;
  border: 1px solid var(--paper-line);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.module-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-card);
  border-color: rgba(86, 178, 33, 0.4);
}
.module-card__thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--paper-soft);
  overflow: hidden;
}
.module-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--t-mid) var(--ease);
}
.module-card:hover .module-card__thumb img { transform: scale(1.04); }
.module-card__num {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  display: inline-grid;
  place-items: center;
  width: 36px; height: 36px;
  background: rgba(255, 255, 255, 0.95);
  color: var(--brand-dark);
  font-weight: 800;
  font-size: 14px;
  border-radius: var(--radius-sm);
  backdrop-filter: blur(4px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.module-card h3,
.module-card p { padding-inline: var(--sp-5); }
.module-card h3 { font-size: var(--fs-lg); margin: var(--sp-4) 0 var(--sp-2); color: var(--ink-strong); }
.module-card p { font-size: var(--fs-sm); color: var(--ink-muted); margin: 0 0 var(--sp-5); }
.module-card.is-feature {
  border-color: var(--brand);
  box-shadow: 0 0 0 2px var(--brand), 0 12px 32px rgba(86, 178, 33, 0.18);
}
.module-card.is-feature .module-card__num {
  background: var(--brand);
  color: #fff;
}
.module-card.is-feature .module-card__thumb::after {
  content: "M\C9TODO CENTRAL";
  position: absolute;
  top: 12px; right: 12px;
  z-index: 2;
  background: var(--brand);
  color: #fff;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

/* === REGLA 3+1 — sección destacada (NUEVA, antes era #11) */
.regla {
  padding: var(--sp-8) 0;
  background: #fff;
}
.regla__hero {
  text-align: center;
  max-width: 760px;
  margin: 0 auto var(--sp-7);
}
.regla__hero .badge {
  display: inline-block;
  padding: 6px 14px;
  background: var(--brand);
  color: #fff;
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  font-weight: 700;
  margin-bottom: var(--sp-4);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.regla__hero h2 { font-size: clamp(2rem, 1.6rem + 2vw, 3rem); }
.regla__hero h2 .num { color: var(--brand); }
.regla__hero p { color: var(--ink-muted); font-size: var(--fs-md); }

.regla-grid {
  display: grid;
  gap: var(--sp-4);
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .regla-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .regla-grid { grid-template-columns: repeat(4, 1fr); } }

.regla-card {
  background: #fff;
  border: 1px solid var(--paper-line);
  border-radius: var(--radius);
  padding: var(--sp-5);
  text-align: center;
  position: relative;
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.regla-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-card); }
.regla-card__num {
  width: 56px; height: 56px;
  margin: 0 auto var(--sp-3);
  display: grid; place-items: center;
  background: var(--brand-soft);
  color: var(--brand-dark);
  border-radius: 50%;
  font-weight: 800;
  font-size: var(--fs-xl);
}
.regla-card h3 {
  font-size: var(--fs-lg);
  margin-bottom: var(--sp-2);
  color: var(--ink-strong);
}
.regla-card p { font-size: var(--fs-sm); color: var(--ink-muted); margin-bottom: var(--sp-3); }
.regla-card__ex {
  background: var(--paper-soft);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  font-size: 13px;
  color: var(--ink);
  line-height: 1.45;
}

/* === RECETAS POR CATEGORÍA (4 cards con foto) ============ */
.recetas-cat-section {
  padding: var(--sp-8) 0;
  background: #fff;
  border-top: 1px solid var(--paper-line);
}
.cat-grid {
  display: grid;
  gap: var(--sp-4);
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .cat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px){ .cat-grid { grid-template-columns: repeat(4, 1fr); } }

.cat-card {
  background: #fff;
  border: 1px solid var(--paper-line);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: transform var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.cat-card:hover { transform: translateY(-3px); border-color: rgba(86, 178, 33, 0.4); }
.cat-card__thumb {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--paper-soft);
}
.cat-card__thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform var(--t-mid) var(--ease);
}
.cat-card:hover .cat-card__thumb img { transform: scale(1.05); }
.cat-card h3 {
  padding: var(--sp-4) var(--sp-4) var(--sp-3);
  font-size: var(--fs-lg);
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cat-card__count {
  font-size: 12px;
  font-weight: 700;
  color: var(--brand-dark);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: var(--brand-soft);
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  align-self: flex-start;
}
.cat-card__list {
  list-style: none;
  padding: 0 var(--sp-4) var(--sp-5);
  margin: 0;
  display: grid;
  gap: 8px;
  font-size: var(--fs-sm);
  color: var(--ink);
}
.cat-card__list li {
  padding-left: 18px;
  position: relative;
}
.cat-card__list li::before {
  content: "";
  position: absolute;
  left: 0; top: 8px;
  width: 8px; height: 8px;
  background: var(--brand);
  border-radius: 50%;
}

/* === BANNERS DE SECCIÓN ================================== */
.bonos-banner,
.recetas-banner {
  max-width: 720px;
  margin: 0 auto var(--sp-5);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}
.bonos-banner img,
.recetas-banner img {
  width: 100%;
  height: auto;
  display: block;
}

/* === DOC PHOTO con badge de credenciales ================= */
.doc-photo {
  position: relative;
}
.doc-photo__badge {
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: 110px;
  height: auto;
  background: #fff;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  z-index: 2;
}
@media (max-width: 640px) {
  .doc-photo__badge {
    width: 80px;
    bottom: -6px;
    right: -6px;
  }
}

/* === BULLETS DE LO QUE INCLUYE =========================== */
.includes-section {
  padding: var(--sp-8) 0;
  background: var(--paper-soft);
}
.includes-grid {
  display: grid;
  gap: var(--sp-7);
  grid-template-columns: 1fr;
  align-items: center;
}
@media (min-width: 920px) { .includes-grid { grid-template-columns: 1fr 1fr; } }
.includes-list { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--sp-3); }
.includes-list li {
  display: flex;
  gap: var(--sp-3);
  align-items: flex-start;
  padding: var(--sp-3) 0;
  border-bottom: 1px solid var(--paper-line);
}
.includes-list li::before {
  content: "";
  width: 12px; height: 12px;
  background: var(--brand);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 8px;
}
.includes-list li:last-child { border-bottom: 0; }

.includes-card {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
  box-shadow: var(--shadow-card);
  border: 1px solid var(--paper-line);
}
.includes-card h3 { color: var(--brand-dark); }
.includes-card h3::after {
  content: "\2022";
  color: var(--brand);
  margin-left: 6px;
}

/* === TEST 3+1 ISLA INTERACTIVA (NUEVO, alineado a brand) */
.test-section {
  padding: var(--sp-8) 0;
  background: #fff;
}
.test {
  max-width: 760px;
  margin: 0 auto;
  background: var(--paper-soft);
  border: 1px solid var(--paper-line);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
  box-shadow: var(--shadow-card);
}
.test .eyebrow { color: var(--brand-dark); }
.test h2 { font-size: var(--fs-2xl); margin-bottom: var(--sp-3); }
.test__sub { color: var(--ink-muted); margin-bottom: var(--sp-5); font-size: var(--fs-md); }
.test__field { display: flex; flex-direction: column; gap: 6px; margin-bottom: var(--sp-4); }
.test__field label { font-weight: 700; font-size: var(--fs-sm); color: var(--ink-strong); }
.test__field select {
  appearance: none;
  -webkit-appearance: none;
  background: #fff;
  border: 1px solid var(--paper-line);
  border-radius: var(--radius);
  padding: 14px 16px;
  font: inherit;
  font-weight: 500;
  color: var(--ink);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'><path d='M2 5l5 5 5-5' fill='none' stroke='%2356b221' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 44px;
  transition: border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.test__field select:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(86, 178, 33, 0.15);
}
.test__error {
  font-size: var(--fs-sm);
  color: var(--coral);
  font-weight: 600;
  margin: var(--sp-2) 0 0;
  min-height: 1.2em;
}
.test__result {
  display: none;
  margin-top: var(--sp-5);
  padding: var(--sp-5);
  border-radius: var(--radius);
  background: #fff;
  border: 1px solid var(--paper-line);
}
.test__result.is-visible { display: block; }
.test__result h3 { margin-bottom: var(--sp-3); }
.test__score {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
  background: var(--brand);
  color: #fff;
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  font-weight: 800;
  font-size: var(--fs-md);
  margin-bottom: var(--sp-3);
}
.test__feedback { list-style: none; padding: 0; margin: var(--sp-3) 0 var(--sp-4); display: grid; gap: 8px; }
.test__feedback li {
  padding: 12px 14px;
  background: var(--paper-soft);
  border-left: 3px solid var(--coral);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-size: var(--fs-sm);
}

/* === BONOS =============================================== */
.bonos-section {
  padding: var(--sp-8) 0;
  background: var(--paper-soft);
}
.bonos-grid {
  display: grid;
  gap: var(--sp-5);
  grid-template-columns: 1fr;
  max-width: 940px;
  margin-inline: auto;
}
@media (min-width: 768px) { .bonos-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) { .bonos-grid--two { grid-template-columns: repeat(2, 1fr); } }

.bono-card {
  background: #fff;
  border-radius: var(--radius-lg);
  border: 1px solid var(--paper-line);
  box-shadow: var(--shadow-card);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.bono-card > *:not(.bono-card__thumb) { padding-inline: var(--sp-5); }
.bono-card > .bono-card__tag { margin-top: var(--sp-4); }
.bono-card > h3 { margin-bottom: var(--sp-2); }
.bono-card > p { margin-bottom: var(--sp-4); flex: 1; }
.bono-card__thumb {
  aspect-ratio: 16 / 9;
  background: var(--paper-soft);
  overflow: hidden;
}
.bono-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bono-card__tag {
  align-self: flex-start;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
  color: #fff;
  padding: 4px 12px;
  border-radius: var(--radius-pill);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.bono-card h3 { font-size: var(--fs-lg); margin: 0; color: var(--ink-strong); }
.bono-card p { color: var(--ink-muted); font-size: var(--fs-sm); margin: 0; }
.bono-card__price {
  margin-top: auto;
  padding-top: var(--sp-3);
  border-top: 1px dashed var(--paper-line);
  font-size: var(--fs-sm);
  color: var(--ink-muted);
}
.bono-card__price s { color: var(--ink-subtle); }
.bono-card__price strong { color: var(--brand-dark); }

/* === TESTIMONIOS ========================================= */
.testimonios { padding: var(--sp-8) 0; }
.testimonios-grid {
  display: grid;
  gap: var(--sp-4);
  grid-template-columns: 1fr;
}
@media (min-width: 700px) { .testimonios-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px){ .testimonios-grid { grid-template-columns: repeat(3, 1fr); } }

.testi {
  background: #fff;
  border: 1px solid var(--paper-line);
  border-radius: var(--radius);
  padding: var(--sp-5);
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  box-shadow: var(--shadow-card);
}
.testi__head { display: flex; align-items: center; gap: var(--sp-3); }
.testi__avatar {
  width: 44px; height: 44px;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
  color: #fff;
  border-radius: 50%;
  font-weight: 700;
  font-size: var(--fs-md);
}
.testi__user { font-weight: 700; font-size: var(--fs-sm); color: var(--ink-strong); }
.testi__when { font-size: 12px; color: var(--ink-subtle); }
.testi blockquote { margin: 0; font-size: var(--fs-md); color: var(--ink); line-height: 1.55; }
.testi__source {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-subtle);
  margin-top: auto;
}

/* === DR. ROSERO ========================================== */
.doc-section { padding: var(--sp-8) 0; background: var(--paper-soft); }
.doc-grid {
  display: grid;
  gap: var(--sp-6);
  grid-template-columns: 1fr;
  align-items: center;
}
@media (min-width: 920px) { .doc-grid { grid-template-columns: 320px 1fr; } }
.doc-photo {
  width: 100%;
  max-width: 320px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff;
  border: 4px solid var(--brand);
  overflow: hidden;
  margin: 0 auto;
  box-shadow: var(--shadow-pop);
  display: grid;
  place-items: center;
}
.doc-photo > img.doc-photo__main { width: 100%; height: 100%; object-fit: cover; }
.doc-photo > img:not(.doc-photo__badge):not(.doc-photo__main) { width: 100%; height: 100%; object-fit: cover; }
.doc-credentials { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-4); }
.doc-credentials span {
  background: var(--brand-soft);
  color: var(--brand-dark);
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  font-size: var(--fs-sm);
  font-weight: 700;
}

/* === OFERTA / PRECIO ===================================== */
.oferta {
  padding: var(--sp-8) 0;
  background: linear-gradient(180deg, var(--paper-soft) 0%, #fff 100%);
}
.oferta__card {
  max-width: 560px;
  margin: 0 auto;
  background: #fff;
  border: 2px solid var(--brand);
  border-radius: var(--radius-lg);
  padding: var(--sp-7) var(--sp-6);
  text-align: center;
  box-shadow: var(--shadow-glow);
  position: relative;
}
.oferta__card::before {
  content: "M\C1S POPULAR";
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--brand);
  color: #fff;
  padding: 6px 18px;
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
}
.oferta__card h3 { font-size: var(--fs-xl); margin-bottom: var(--sp-2); }
.oferta__price {
  font-size: clamp(3rem, 2rem + 4vw, 4.5rem);
  font-weight: 800;
  color: var(--brand-dark);
  line-height: 1;
  margin: var(--sp-4) 0 var(--sp-2);
  letter-spacing: -0.04em;
}
.oferta__price small { font-size: var(--fs-md); color: var(--ink-muted); font-weight: 500; display: block; margin-top: 6px; }
.oferta__price-note {
  margin: 0 0 var(--sp-3);
  padding: 10px 14px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  text-align: center;
}
.oferta__price-note small { color: var(--ink-muted); font-size: var(--fs-xs); line-height: 1.5; }
.oferta__price-note strong { color: var(--ink-strong); font-weight: 700; }
.oferta__cuotas {
  font-size: var(--fs-sm);
  color: var(--ink-muted);
  margin-bottom: var(--sp-3);
}
.oferta__cuotas strong { color: var(--ink-strong); font-weight: 700; }
.oferta__includes {
  list-style: none;
  padding: 0;
  margin: var(--sp-5) 0;
  display: grid;
  gap: 10px;
  text-align: left;
}
.oferta__includes li {
  padding-left: 28px;
  position: relative;
  font-size: var(--fs-sm);
  color: var(--ink);
}
.oferta__includes li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px; height: 20px;
  background: var(--brand);
  color: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
}
.oferta__guarantee {
  margin-top: var(--sp-4);
  background: var(--brand-soft);
  border: 1px solid rgba(86, 178, 33, 0.25);
  border-radius: var(--radius);
  padding: var(--sp-3) var(--sp-4);
  font-size: var(--fs-sm);
  color: var(--ink-strong);
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  text-align: left;
  line-height: 1.45;
}
.oferta__guarantee strong { color: var(--brand-dark); font-weight: 800; }
.oferta__guarantee-seal {
  width: 64px; height: 64px;
  flex-shrink: 0;
  object-fit: contain;
}

/* === FAQ ================================================= */
.faq-section { padding: var(--sp-8) 0; background: #fff; }
.faq-list { max-width: 760px; margin: 0 auto; display: grid; gap: var(--sp-3); }
.faq {
  background: var(--paper-soft);
  border: 1px solid var(--paper-line);
  border-radius: var(--radius);
  overflow: hidden;
}
.faq summary {
  padding: var(--sp-4) var(--sp-5);
  font-weight: 700;
  font-size: var(--fs-md);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-3);
  color: var(--ink-strong);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "";
  width: 20px; height: 20px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><path d='M5 7l5 6 5-6' fill='none' stroke='%2356b221' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  transition: transform var(--t-mid) var(--ease);
  flex-shrink: 0;
}
.faq[open] summary::after { transform: rotate(180deg); }
.faq__body {
  padding: 0 var(--sp-5) var(--sp-5);
  color: var(--ink-muted);
  font-size: var(--fs-sm);
  line-height: 1.6;
}

/* === STICKY CTA (verde marca con glow, 1 sola línea) ====== */
.sticky-cta {
  position: fixed;
  left: 12px; right: 12px; bottom: 12px;
  z-index: 60;
  display: none;
  background: var(--brand);
  color: #fff;
  padding: 12px 16px;
  border-radius: var(--radius-pill);
  text-decoration: none;
  font-weight: 700;
  font-size: 13px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  box-shadow: var(--shadow-glow-strong);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
  overflow: hidden;
}
.sticky-cta.is-visible { display: flex; }
.sticky-cta:hover { background: var(--brand-dark); color: #fff; }
#sticky-cta-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 1 auto;
  min-width: 0;
}
.sticky-cta__price {
  background: rgba(255, 255, 255, 0.2);
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: 11px;
  font-weight: 800;
  flex-shrink: 0;
  white-space: nowrap;
}
@media (min-width: 600px) {
  .sticky-cta { padding: 14px 20px; font-size: var(--fs-sm); }
  .sticky-cta__price { font-size: 12px; padding: 5px 11px; }
}
@media (min-width: 920px) {
  .sticky-cta {
    left: auto;
    right: 24px;
    bottom: 24px;
    max-width: 380px;
  }
}

/* === FOOTER =============================================== */
.site-footer {
  background: #000;
  color: #fff;
  padding: var(--sp-7) 0 var(--sp-5);
  text-align: center;
}
.site-footer__brand { display: inline-flex; align-items: center; gap: var(--sp-3); margin-bottom: var(--sp-3); }
.site-footer__brand-mark {
  width: 40px; height: 40px;
  display: grid; place-items: center;
  background: var(--brand);
  border-radius: var(--radius-sm);
  font-weight: 800;
  color: #fff;
}
.site-footer__logo {
  width: 48px; height: 48px;
  background: var(--brand);
  border-radius: var(--radius-sm);
  padding: 6px;
  object-fit: contain;
}
.site-footer h4 { color: #fff; margin: 0 0 4px; font-size: var(--fs-lg); }
.site-footer p { color: #94a3b8; margin: 0; font-size: var(--fs-sm); }
.site-footer__bar {
  margin-top: var(--sp-5);
  padding-top: var(--sp-4);
  border-top: 1px solid #1e293b;
  font-size: 12px;
  color: #64748b;
}

/* === LITE-YOUTUBE ======================================== */
lite-youtube {
  background-color: #000;
  position: relative;
  display: block;
  contain: content;
  background-position: center center;
  background-size: cover;
  cursor: pointer;
  width: 100%;
  aspect-ratio: 16 / 9;
}
lite-youtube > .lty-playbtn {
  display: block;
  width: 68px;
  height: 48px;
  position: absolute;
  cursor: pointer;
  transform: translate3d(-50%, -50%, 0);
  top: 50%;
  left: 50%;
  background: rgba(255, 0, 0, 0.92);
  border-radius: 14px;
  z-index: 1;
  border: 0;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4);
  transition: background var(--t-fast) var(--ease);
}
lite-youtube:hover > .lty-playbtn { background: rgb(255, 0, 0); }
lite-youtube > .lty-playbtn::before {
  content: '';
  border-style: solid;
  border-width: 11px 0 11px 19px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-40%, -50%);
}

/* === UTILS ============================================== */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* =========================================================
   MOBILE COMPACT — Reducción de espacios para que la página
   no se sienta "interminable" en pantallas <640px.
   ========================================================= */
@media (max-width: 640px) {
  /* Padding general de secciones: 4.5rem → 2.5rem */
  .hero               { padding: var(--sp-5) 0 var(--sp-6); }
  .transition-section { padding: var(--sp-5) 0; }
  .dark-section       { padding: var(--sp-6) 0; }
  .learn-section      { padding: var(--sp-6) 0; }
  .regla              { padding: var(--sp-6) 0; }
  .mito-section       { padding: var(--sp-6) 0; }
  .recetas-cat-section{ padding: var(--sp-6) 0; }
  .includes-section   { padding: var(--sp-6) 0; }
  .calc-section       { padding: var(--sp-6) 0; }
  .test-section       { padding: var(--sp-6) 0; }
  .bonos-section      { padding: var(--sp-6) 0; }
  .testimonios        { padding: var(--sp-6) 0; }
  .doc-section        { padding: var(--sp-6) 0; }
  .oferta             { padding: var(--sp-6) 0 var(--sp-7); }
  .faq-section        { padding: var(--sp-6) 0; }

  /* Section heads: menos margen abajo */
  .section-head { margin-bottom: var(--sp-5); }
  .regla__hero  { margin-bottom: var(--sp-5); }

  /* Hero: badge y trust con menos margen */
  .hero__badge { margin-bottom: var(--sp-3); padding: 6px 12px; font-size: 12px; }
  .hero__sub   { margin-bottom: var(--sp-4); font-size: 1rem; }
  .hero__trust { margin-top: var(--sp-4); gap: var(--sp-3); }
  .trust-badges { margin-top: var(--sp-3); }

  /* Mito cards: más compactas */
  .mito-card { padding: var(--sp-4) var(--sp-4) var(--sp-5); gap: var(--sp-2); }
  .mito-card__list li { padding: 6px 0 6px 22px; font-size: 13px; }
  .mito-card__cost { padding: 10px 12px; }
  .mito-card__cost-bars { font-size: 1.75rem; }
  .mito-card__effect { font-size: 12px; line-height: 1.45; }
  .mito-quote { padding: var(--sp-4); }
  .mito-quote p { font-size: var(--fs-md); }

  /* Module cards: más compactas */
  .module-card h3 { font-size: 16px; margin: var(--sp-3) 0 6px; }
  .module-card p  { font-size: 13px; line-height: 1.45; padding-bottom: var(--sp-4); }
  .modules-grid   { gap: var(--sp-3); }

  /* Cat cards (recetas categoría) más compactas */
  .cat-card h3 { padding: var(--sp-3) var(--sp-4) var(--sp-2); font-size: var(--fs-md); }
  .cat-card__list { padding: 0 var(--sp-4) var(--sp-4); font-size: 13px; gap: 6px; }
  .cat-grid { gap: var(--sp-3); }

  /* Test: container más compacto */
  .test { padding: var(--sp-5) var(--sp-4); }
  .test__sub { font-size: var(--fs-sm); margin-bottom: var(--sp-4); }
  .test__field { margin-bottom: var(--sp-3); gap: 4px; }
  .test__field label { font-size: 13px; }
  .test__field select { padding: 12px 14px; font-size: 14px; }

  /* Calc */
  .calc { padding: var(--sp-4); }
  .calc__choice { padding: 12px 14px; gap: 10px; }
  .calc__choice-text { font-size: 14px; }
  .calc__choice-detail { font-size: 12px; }
  .calc__result { padding: var(--sp-4) var(--sp-3); }
  .calc__result-label { font-size: 12px; }

  /* Bonos cards más compactas */
  .bono-card > h3 { font-size: var(--fs-md); margin: var(--sp-3) 0 var(--sp-2); }
  .bono-card > p { font-size: 13px; line-height: 1.5; margin-bottom: var(--sp-3); }
  .bonos-banner { margin-bottom: var(--sp-4); }

  /* Testimonios */
  .testi { padding: var(--sp-4); gap: var(--sp-2); }
  .testi blockquote { font-size: 14px; line-height: 1.5; }
  .testimonios-grid { gap: var(--sp-3); }

  /* FAQ */
  .faq summary { padding: var(--sp-3) var(--sp-4); font-size: 14px; }
  .faq__body { padding: 0 var(--sp-4) var(--sp-4); font-size: 13px; }
  .faq-list { gap: var(--sp-2); }

  /* Oferta */
  .oferta__card { padding: var(--sp-5) var(--sp-4); }
  .oferta__includes li { font-size: 13px; }

  /* Pain points */
  .pain-list { gap: var(--sp-2); }
  .pain-item { padding: var(--sp-3) var(--sp-4); font-size: 14px; gap: var(--sp-3); }
  .midcta { padding: var(--sp-4); margin-top: var(--sp-5); }
  .midcta p { font-size: 1rem; }

  /* Regla 3+1 cards */
  .regla-card { padding: var(--sp-4); }
  .regla-card__num { width: 44px; height: 44px; font-size: 1.25rem; margin-bottom: var(--sp-2); }
  .regla-card h3 { font-size: var(--fs-md); }
  .regla-card p { font-size: 13px; }
  .regla-card__ex { font-size: 12px; padding: 8px 10px; }

  /* Includes card */
  .includes-card { padding: var(--sp-4); }
  .includes-list li { padding: 8px 0; }

  /* H2 más compactos en mobile */
  .section-head h2 { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2rem); }
}

/* === TEST EXTENDED (página /test-3-1/) ================== */
.test-extended-page .hero { padding: var(--sp-7) 0 var(--sp-5); min-height: auto; }
.test-extended { padding: var(--sp-6); }
.test-extended .test-step {
  background: var(--paper-soft);
  border: 1px solid var(--paper-line);
  border-radius: var(--radius-lg);
  padding: var(--sp-5);
  margin-bottom: var(--sp-5);
}
.test-step__num {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--brand-dark);
  margin-bottom: var(--sp-2);
}
.test-step h3 { font-size: var(--fs-lg); margin: 0 0 var(--sp-2); }
.test-step__hint { font-size: 13px; color: var(--ink-muted); margin: 0 0 var(--sp-4); }
.test-options { display: grid; gap: 8px; }
.test-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #fff;
  border: 2px solid var(--paper-line);
  border-radius: var(--radius);
  cursor: pointer;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.test-option:hover { border-color: rgba(86, 178, 33, 0.45); background: #fbfdfa; }
.test-option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px; height: 20px;
  border: 2px solid var(--paper-line);
  border-radius: 50%;
  flex-shrink: 0;
  cursor: pointer;
  margin: 0;
}
.test-option input[type="radio"]:checked { border-color: var(--brand); border-width: 6px; }
.test-option:has(input:checked) {
  border-color: var(--brand);
  background: var(--brand-soft);
}
.test-option--neg:has(input:checked) {
  border-color: var(--coral);
  background: var(--coral-soft);
}
.test-option--neg input[type="radio"]:checked { border-color: var(--coral); }
.test-option span { font-size: 14px; color: var(--ink); }

.test-fields { display: grid; gap: var(--sp-3); }
.test-field { display: flex; flex-direction: column; gap: 6px; }
.test-field span { font-size: 13px; font-weight: 600; color: var(--ink); }
.test-field input[type="text"],
.test-field input[type="email"] {
  background: #fff;
  border: 2px solid var(--paper-line);
  border-radius: var(--radius);
  padding: 12px 14px;
  font: inherit;
  font-size: 15px;
  color: var(--ink);
  transition: border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.test-field input:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(86, 178, 33, 0.15);
}

.test__email-confirm {
  background: var(--brand-soft);
  border: 1px solid rgba(86, 178, 33, 0.3);
  border-radius: var(--radius);
  padding: 12px 16px;
  font-size: 14px;
  color: var(--brand-dark);
  margin-top: var(--sp-3);
}

.test__extras {
  margin-top: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--brand-soft);
  border-radius: var(--radius);
}

@media (max-width: 640px) {
  .test-extended { padding: var(--sp-4); }
  .test-extended .test-step { padding: var(--sp-4); margin-bottom: var(--sp-4); }
}
