/* Versión blanca de la presentación: blanco, crema y mucho aire.
   Se carga última y pisa a marca.css, motor.css y presentacion.css. Todo el cambio de look vive acá. */

/* ── Paleta ───────────────────────────────────────────────────────────────────── */
:root {
  --bg: #ffffff;
  --bg-soft: #fdfaf3;
  --bg-raised: #f7f2e6;
  --bg-hover: #f7f2e6;
  --panel: #ffffff;
  --text: #1d1c17;
  --muted: #65635a;
  --faint: #807b6d;
  --accent: #0a7d57;
  --accent-hover: #086949;
  --good: #16b07c;
  --warn: #e39a2d;
  --hot: #e4705f;
  --border: #f0eadc;
  --border-strong: #e3dbc8;

  /* Lo que le da alegría: pasteles frescos para fondos y sus tintas para íconos */
  --menta: #e3f7ee;
  --sol: #fff4d1;
  --sol-tinta: #a86f06;
  --cielo: #e4f1fe;
  --cielo-tinta: #2470c2;
  --durazno: #ffebe1;
  --durazno-tinta: #c9562f;

  --s1: #16a877;
  --s2: #4a9bea;
  --s3: #f59a5b;

  --mt-ink: #2f7fd1;
  --mt-ink-soft: rgb(47 127 209 / .08);
  --mt-green-soft: #e3f7ee;

  --sombra: 0 1px 2px rgb(90 75 40 / .04), 0 20px 44px -28px rgb(90 75 40 / .2);
  --sombra-alta: 0 2px 4px rgb(90 75 40 / .04), 0 40px 80px -36px rgb(90 75 40 / .3);
}

body { background: var(--bg); }
h1, h2 { font-weight: 500; }
::selection { background: var(--sol); }

/* ── Aire: márgenes, separaciones y anchos ────────────────────────────────────── */
.wrap { max-width: clamp(1280px, 72vw, 1560px); padding: 0 clamp(24px, 6vw, 96px); }
.dm-slide { padding: calc(var(--bar-h) + 40px) 0 88px; }
.dm-head { margin-bottom: clamp(36px, 6vh, 72px); }
.dm-head h2 { margin-top: 20px; }
.dm-lead { margin-top: 36px; line-height: 1.4; }

/* ── Ritmo de fondos: blanco y crema, y los de apertura y cierre con luz ───────── */
.dm-slide:nth-of-type(odd), .dm-slide:nth-of-type(even) { background: var(--bg); color: var(--text); }
.dm-motor.dm-slide, .dm-wa.dm-slide,
.dm-slide:nth-of-type(7), .dm-slide:nth-of-type(9) { background: var(--bg-soft); }

.dm-cover.dm-slide, .dm-bridge.dm-slide, .dm-close.dm-slide {
  background:
    radial-gradient(52% 58% at 88% 6%, rgb(255 216 107 / .42), transparent 72%),
    radial-gradient(46% 54% at 60% 104%, rgb(84 222 165 / .24), transparent 72%),
    radial-gradient(40% 46% at 2% 88%, rgb(120 186 250 / .18), transparent 72%),
    #fffdf9;
}
.dm-bridge.dm-slide {
  background:
    radial-gradient(50% 58% at 8% 8%, rgb(84 222 165 / .28), transparent 72%),
    radial-gradient(48% 56% at 96% 92%, rgb(255 190 150 / .32), transparent 72%),
    #fffdf9;
}

/* Lo que antes colgaba de .dark */
.dm-cover h1 { max-width: 16ch; text-wrap: balance; }
.dm-bridge h1, .dm-close h1 { max-width: 16ch; margin-top: 28px; text-wrap: balance; }
.dm-close h1 { max-width: 18ch; }

/* ── Piezas comunes ───────────────────────────────────────────────────────────── */
.ms-tag { padding: 7px 16px 7px 13px; border-radius: 999px; font-size: 16px; color: var(--accent); background: var(--menta); }
.ms-tag .ui-dot { width: 8px; height: 8px; }
.dm-field, .dm-hyp, .dm-src, .dm-plan, .dm-res-side, .dm-mod { border-color: var(--border); box-shadow: var(--sombra); }
.dm-hint { margin-top: 80px; color: var(--muted); }
kbd { background: var(--panel); box-shadow: 0 1px 0 var(--border-strong); }

/* Barra y puntos */
.dm-act { border-color: var(--border-strong); }
.dm-dots button[aria-current="true"] { background: var(--good); }

/* ── 1 · Motor ────────────────────────────────────────────────────────────────── */
.dm-motor .dm-head { margin-bottom: 28px; }
.mt.ui { border-color: var(--border); box-shadow: var(--sombra-alta); border-radius: 24px; }
.mt-total { font-weight: 500; }
.mt-opp { box-shadow: 0 1px 2px rgb(90 75 40 / .05); }
.dm-motor .mt { zoom: 1; }
.dm-panel label[hidden] { display: none; }

/* ── 2 · Módulos: cada uno con su color ───────────────────────────────────────── */
.dm-mods-grid { gap: 24px; }
.dm-mod { padding: 32px 34px 36px; border-radius: 24px; gap: 12px; }
.dm-mod b { font-size: 24px; font-weight: 500; }
.dm-mod-ic { width: 52px; height: 52px; margin-bottom: 10px; border-radius: 16px; background: var(--menta); color: var(--accent); }
.dm-mod:nth-child(4n+2) .dm-mod-ic { background: var(--sol); color: var(--sol-tinta); }
.dm-mod:nth-child(4n+3) .dm-mod-ic { background: var(--cielo); color: var(--cielo-tinta); }
.dm-mod:nth-child(4n) .dm-mod-ic { background: var(--durazno); color: var(--durazno-tinta); }

/* ── 3 · WhatsApp ─────────────────────────────────────────────────────────────── */
.dm-points { margin-top: 48px; gap: 26px; }
.dm-points svg { color: var(--good); }
.dm-phone { border-color: var(--border); background: var(--panel); box-shadow: var(--sombra-alta), 0 0 0 8px #fff, 0 0 0 9px var(--border); }
.dm-phone-top { background: var(--panel); }
.dm-phone .wa { background: var(--bg-soft); }
.dm-phone .wa-in { border-color: transparent; box-shadow: 0 1px 3px rgb(90 75 40 / .09); }
.wa-out { background: #dcf6e8; border-color: transparent; }
.dm-phone .ui-btn { background: var(--panel); }
.dm-phone .ui-btn.solid { background: var(--accent); border-color: var(--accent); }
.dm-av { background: var(--good); }

/* ── 5 y 6 · Tu negocio e hipótesis ───────────────────────────────────────────── */
.dm-fields, .dm-hyps { gap: 24px; }
.dm-field { padding: 28px 32px; border-radius: 24px; }
.dm-field:focus-within { border-color: var(--good); box-shadow: 0 0 0 5px var(--menta); }
.dm-field-v { font-weight: 500; }
.dm-hyp { padding: 30px 32px 26px; border-radius: 24px; }
.dm-hyp-top b { font-weight: 500; }
.dm-today { margin-top: 36px; }
.dm-hyp input[type=range]::-webkit-slider-runnable-track { background: linear-gradient(90deg, var(--fill) var(--p), var(--bg-raised) var(--p)); }
.dm-hyp input[type=range]::-moz-range-track { background: linear-gradient(90deg, var(--fill) var(--p), var(--bg-raised) var(--p)); }

/* ── 7 · Resultado ────────────────────────────────────────────────────────────── */
/* El número entra entero al lado de la tarjeta, también en pesos */
.dm-res-big { font-weight: 500; font-size: clamp(64px, 6.9vw, 116px); }
.dm-for { margin-left: -4px; }
.dm-res-side { border-radius: 24px; }
.dm-res-side .good { background: var(--menta); }
.dm-sources { gap: 24px; }
.dm-src { padding: 24px 26px; border-radius: 22px; }
.dm-src-v { font-weight: 500; }

/* ── 8 y 9 · Plan y oferta ────────────────────────────────────────────────────── */
.dm-plans, .dm-offer { gap: 24px; }
.dm-plan { padding: 36px 38px; border-radius: 28px; }
.dm-plan.rec { border: 1.5px solid var(--good); box-shadow: 0 0 0 5px var(--menta), var(--sombra-alta); }
.dm-plan:not(.rec) { opacity: 1; }
.dm-plan-price { font-weight: 500; }
.rec .dm-badge { background: var(--accent); }
.dm-gift { background: var(--menta); }
.dm-offer .dm-plan:not(.rec) { background: var(--bg-soft); box-shadow: none; }
.dm-offer-arrow { color: var(--good); }

/* ── 10 · Empecemos ───────────────────────────────────────────────────────────── */
.dm-steps { margin-top: 64px; gap: 24px; }
.dm-steps li { padding: 24px 8px 0 0; border-top-color: var(--border-strong); }
.dm-steps li:last-child { border-color: var(--good); }
.dm-steps b { font-weight: 500; }
.dm-ctas { margin-top: 56px; }
.btn-primary { box-shadow: 0 16px 32px -14px rgb(10 125 87 / .55); }

/* ── Panel del presentador ────────────────────────────────────────────────────── */
.dm-panel { box-shadow: var(--sombra-alta); }
.dm-panel::backdrop { background: rgb(90 80 55 / .22); }
.dm-panel input.cambiado { background: var(--menta); }

/* ── Notebooks: el aire se achica para que cada slide entre en una pantalla ───── */
@media (max-height: 900px) {
  .dm-slide { padding: calc(var(--bar-h) + 16px) 0 48px; }
  .dm-head { margin-bottom: 32px; }
  .dm-bonus .dm-head { margin-bottom: 20px; }
  .dm-bonus h2 { max-width: none; font-size: 40px; }
  .dm-bonus .dm-plan { padding: 24px 32px; }
  .dm-bonus .dm-plan-note { margin-top: 18px; }
  .dm-mod { padding: 24px 28px 26px; }
  .dm-plan { padding: 28px 32px; }
  .dm-fields, .dm-hyps, .dm-sources, .dm-plans, .dm-offer, .dm-mods-grid { gap: 18px; }
  .dm-chart { margin-top: 24px; }
  .dm-sources { margin-top: 18px; }
  .dm-steps { margin-top: 40px; }
  .dm-ctas { margin-top: 36px; }
}
@media (max-height: 820px) {
  .mt-stack { height: 106px; }
  .mt-opp { padding: 6px 12px; }
  .mt-opp .name { font-size: 14px; line-height: 18px; }
  .mt-opp .tag { font-size: 12px; line-height: 15px; }
  .mt-heads { padding: 12px 0 10px; }
  .mt-lane { padding-top: 10px; }
  .mt-lane + .mt-lane { margin-top: 10px; }
  .mt-lane-label { margin-bottom: 6px; }
  .mt-suma { padding: 24px 28px; }
  .dm-slide { padding-bottom: 28px; }
  .dm-head { margin-bottom: 20px; }
  .ms-tag { padding: 5px 14px 5px 11px; font-size: 15px; }
  .dm-head h2 { margin-top: 12px; font-size: clamp(32px, 3.6vw, 44px); }
  .dm-bonus .dm-head { margin-bottom: 14px; }
  .dm-bonus h2 { font-size: 34px; }
  .dm-bonus .dm-plan { padding: 18px 26px; }
  .dm-bonus .dm-plan-note { margin-top: 12px; }
  .dm-mod { padding: 18px 22px 20px; gap: 6px; }
  .dm-mod-ic { width: 42px; height: 42px; margin-bottom: 4px; }
  .dm-mod b { font-size: 21px; }
  .dm-mod p { font-size: 15px; }
  .dm-field { padding: 18px 24px; }
  .dm-hyp { padding: 20px 24px 16px; }
  .dm-src { padding: 16px 20px; }
  .dm-plan { padding: 22px 26px; }
  .dm-hint { margin-top: 48px; }
  .dm-points { margin-top: 32px; gap: 18px; }
}
