:root {
  --teal-950: #0E2B2F;
  --near-black: #010A10;
  --lime-500: #A3CA26;
  --lime-600: #8FB520;
  --white: #FFFFFF;
  --ink: #0E2B2F;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', sans-serif;
  color: var(--ink);
  background: var(--teal-950);
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
}
img { max-width: 100%; height: auto; display: block; }
.wrap { max-width: 640px; margin: 0 auto; padding: 0 24px; }

/* Barra de cuenta regresiva */
.countdown-bar {
  display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap;
  background: var(--lime-500);
  color: var(--near-black);
  text-align: center;
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: 14px;
  padding: 12px 16px;
}
.countdown-bar strong { font-family: 'IBM Plex Mono', monospace; font-weight: 600; letter-spacing: .02em; }

/* Reproductor de la VSL (marcador de posición, formato vertical 9:16) */
.vsl-player {
  display: block;
  margin: 0 auto;
  width: 100%;
  max-width: 400px;
  aspect-ratio: 9 / 16;
  background: #000;
}

/* Botón CTA */
.cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  text-align: center;
  background: linear-gradient(180deg, var(--lime-500), var(--lime-600));
  color: var(--near-black);
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none;
  padding: 18px 20px;
  border-radius: 10px;
  box-shadow: 0 10px 24px -8px rgba(163, 202, 38, .5);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.cta:hover { filter: brightness(1.05); transform: translateY(-1px); }
.cta:active { transform: translateY(0); }
.cta:focus-visible { outline: 3px solid var(--teal-950); outline-offset: 3px; }

/* Sección de acceso */
.section-access { background: var(--near-black); padding: 44px 0; }
.access-title {
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: clamp(24px, 6.5vw, 32px);
  line-height: 1.22;
  color: var(--white);
  text-align: center;
  margin-bottom: 28px;
}
.access-title b { color: var(--lime-500); }

/* Secciones genéricas */
section { padding: 52px 0; }
.section-lime { background: var(--lime-500); }
.section-teal { background: var(--teal-950); }

h2 {
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: clamp(22px, 5.5vw, 28px);
  line-height: 1.22;
  color: var(--near-black);
  text-align: center;
  margin-bottom: 26px;
}

.product-shot {
  border-radius: 23px;
  overflow: hidden;
  box-shadow: 0 20px 40px -18px rgba(1, 10, 16, .4);
  margin-bottom: 26px;
}

.lede {
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  color: var(--near-black);
  max-width: 40ch;
  margin: 0 auto 18px;
}

.price-was {
  text-align: center;
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: var(--teal-950);
  opacity: .55;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
  margin-bottom: 32px;
}

/* Caja de oferta */
.offer-box {
  background: var(--teal-950);
  color: var(--white);
  border-radius: 16px;
  padding: 30px 24px;
  text-align: center;
  border: 1px solid rgba(163, 202, 38, .3);
}
.offer-kicker {
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: 19px;
  margin-bottom: 14px;
}
.offer-was { font-size: 14px; color: rgba(255, 255, 255, .55); }
.offer-was strong { text-decoration: line-through; color: rgba(255, 255, 255, .55); font-weight: 500; }
.offer-x {
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .04em;
  color: rgba(255, 255, 255, .85);
  margin-top: 10px;
}
.offer-price-main {
  font-family: 'Baloo 2', sans-serif;
  font-weight: 800;
  font-size: clamp(38px, 10vw, 50px);
  color: var(--lime-500);
  line-height: 1.15;
  margin-bottom: 10px;
}
.offer-or { font-size: 14px; color: rgba(255, 255, 255, .8); margin-bottom: 24px; }
.offer-or strong { color: var(--white); }

/* Garantía */
.guarantee-title {
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: clamp(22px, 5.5vw, 28px);
  line-height: 1.25;
  color: var(--white);
  text-align: center;
  margin-bottom: 20px;
}
.guarantee-title span { color: var(--lime-500); }
.guarantee-text {
  text-align: center;
  font-size: 15px;
  color: rgba(255, 255, 255, .82);
  max-width: 40ch;
  margin: 0 auto 28px;
}
.guarantee-badge { width: 150px; margin: 0 auto 30px; }

footer {
  text-align: center;
  padding: 26px 24px 36px;
  font-size: 12px;
  color: rgba(255, 255, 255, .4);
  background: var(--near-black);
}

/* La oferta se revela según lo configurado en la VSL */
.esconder { display: none; }
