/* ===== Estilos compartidos (misma estética que la VSL de Encuentra, Crea y Vende) ===== */
:root{
  --bg:#F8F6F3; --white:#fff; --cream:#F6F0E8; --peach:#FCE6D5; --sand:#EFE6DA; --blue:#ECF0F7;
  --ink:#17140F; --ink-2:#433D36; --ink-3:#6B645B; --line:#E8E1D9; --pill:#F1ECE6;
  --orange:#F06A1A; --orange-deep:#DC5A0C; --orange-ink:#B4460A; --orange-soft:#FF9B57;
  --green:#1E9E55; --dark:#1C1814; --dark-2:#2A231D; --black:#120F0D;
  --shadow:0 1px 2px rgba(23,20,15,.05),0 14px 40px -14px rgba(23,20,15,.18);
  --radius:22px;
  --sans:"Poppins",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
b,strong{font-weight:600;color:var(--ink)}
p{margin:0 0 1em}
em{font-family:var(--serif);font-style:italic;font-weight:600;color:var(--orange-deep);letter-spacing:-.005em;font-variant-numeric:lining-nums}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.022em;line-height:1.16;margin:0}
button{font:inherit}
.wrap{width:100%;max-width:1100px;margin:0 auto;padding:0 20px}
.center{text-align:center}

.pill{display:inline-flex;align-items:center;gap:8px;background:var(--pill);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.4}
.pill--dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange);flex:none}
.kicker{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-ink)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#F37A2E,#E2560B);color:#fff;text-decoration:none;font-weight:700;font-size:17px;padding:17px 30px;border:0;border-radius:999px;cursor:pointer;box-shadow:0 14px 30px -10px rgba(226,86,11,.6),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;text-align:center;line-height:1.25}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(226,86,11,.65),inset 0 1px 0 rgba(255,255,255,.25)}
.btn:active{transform:none}
.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.btn svg{width:19px;height:19px;flex:none}
.btn--ghost{background:#fff;color:var(--ink);box-shadow:0 0 0 1.5px var(--line) inset}
.btn--ghost:hover{box-shadow:0 0 0 1.5px var(--ink-3) inset;transform:none}
.btn--dark{background:var(--ink);box-shadow:none}
.btn--sm{font-size:14.5px;padding:11px 18px}

/* Popups */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(18,15,13,.66);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.modal.open{display:flex;animation:fade .2s ease}
.modal__box{position:relative;width:100%;max-width:460px;max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border-radius:24px;padding:30px 24px 24px;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:pop .25s ease}
.modal__box--wide{max-width:640px}
.modal__close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:var(--pill);color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.modal h3{font-size:24px}
.modal__sub{color:var(--ink-2);font-size:15.5px;margin:8px 0 18px}
.field{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid #DED7CF;border-radius:14px;padding:14px 16px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.field:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(240,106,26,.15)}
.field[aria-invalid="true"]{border-color:#C0352B}
.label{display:block;font-size:13.5px;font-weight:600;color:var(--ink-2);margin:0 0 6px}
.form-error{color:#B42318;font-size:14.5px;margin:0}
.form-micro{color:var(--ink-3);font-size:13px;margin:0}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

/* Avisos cortos */
.toast{position:fixed;left:50%;bottom:24px;z-index:200;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;font-size:14.5px;font-weight:500;padding:12px 18px;border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.3);transition:opacity .2s ease,transform .2s ease;pointer-events:none;max-width:calc(100vw - 32px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
