/* funil.css v1.0 — Mesmo design system da landing */
:root{--v1:#0B0620;--v2:#130D30;--vl:#6B4FBB;--vl2:#9B7FDD;--vl3:#C4A8FF;--vg:#B87FFF;--pk:#E890FF;--ink:#F0EAFF;--ink2:#C4B8E8;--ink3:#8A7FB8;--ink4:#4A4278;--gl:#FFD4A0;--rs:#FF8B8B}
#mapa-funil-root{background:var(--v1);color:var(--ink);font-family:'DM Sans','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:300;min-height:100vh;overflow-x:hidden;position:relative}
#mapa-funil-root::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(107,79,187,.25) 0%,transparent 65%),radial-gradient(ellipse 50% 40% at 85% 80%,rgba(184,127,255,.12) 0%,transparent 60%)}
#mf-stars{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.5}

/* PROGRESS */
.mf-progress{position:sticky;top:0;z-index:200;background:rgba(11,6,32,.92);backdrop-filter:blur(20px);border-bottom:1px solid rgba(107,79,187,.18);padding:14px 16px}
.mf-steps{display:flex;align-items:center;justify-content:center;max-width:700px;margin:0 auto;overflow-x:auto;scrollbar-width:none}
.mf-steps::-webkit-scrollbar{display:none}
.mf-step{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;min-width:58px;position:relative;cursor:default}
.mf-line{flex:1;height:1px;background:rgba(107,79,187,.25);min-width:12px;margin-bottom:18px}
.mf-step.done .mf-line,.mf-step.active~.mf-step .mf-line{background:rgba(107,79,187,.5)}
.mf-dot{width:24px;height:24px;border-radius:50%;border:2px solid rgba(107,79,187,.35);background:var(--v1);display:grid;place-items:center;font-size:10px;color:var(--ink4);transition:all .3s;position:relative;z-index:1;flex-shrink:0}
.mf-step.done .mf-dot{background:var(--vl);border-color:var(--vl);color:#fff;font-size:12px}
.mf-step.active .mf-dot{background:linear-gradient(135deg,var(--vl),var(--vg));border-color:var(--vg);color:#fff;box-shadow:0 0 14px rgba(107,79,187,.5)}
.mf-step.done .mf-dot span{display:none}
.mf-step.done .mf-dot::after{content:'✓';font-size:11px}
.mf-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink4);white-space:nowrap;transition:color .3s}
.mf-step.active .mf-label{color:var(--vl3)}
.mf-step.done .mf-label{color:var(--ink3)}

/* SCREENS */
.mf-screen{display:none;position:relative;z-index:1;animation:mfFadeIn .4s ease}
.mf-screen.active{display:block}
@keyframes mfFadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* CONTAINERS */
.mf-container{max-width:620px;margin:0 auto;padding:48px 24px 80px}

/* TIPOGRAFIA */
.mf-tag{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:10px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--vl3);margin-bottom:16px;display:block}
.mf-h1{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:900;font-size:clamp(32px,7vw,52px);line-height:1;letter-spacing:-.02em;color:var(--ink);margin-bottom:16px}
.mf-h1 em{font-style:italic;font-family:'Cormorant Garamond',serif;font-weight:400;background:linear-gradient(135deg,var(--vl3),var(--pk));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.mf-h2{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:900;font-size:clamp(24px,5vw,36px);letter-spacing:-.01em;color:var(--ink);margin-bottom:12px}
.mf-h2 em{font-style:italic;font-family:'Cormorant Garamond',serif;font-weight:400;background:linear-gradient(135deg,var(--vl3),var(--pk));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.mf-sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--ink3);line-height:1.65;margin-bottom:28px}
.mf-body{font-size:15px;color:var(--ink3);line-height:1.75;margin-bottom:24px}

/* COMPONENTES */
.mf-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.mf-badge{padding:5px 14px;border-radius:100px;border:1px solid rgba(107,79,187,.3);background:rgba(107,79,187,.08);font-size:11px;font-weight:500;letter-spacing:.1em;color:var(--vl3)}
.mf-bullets{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.mf-bullets li{display:flex;align-items:baseline;gap:10px;font-size:15px;color:var(--ink2)}
.mf-bullets li::before{content:'✓';color:var(--vl3);font-size:12px;flex-shrink:0}
.mf-depo{background:rgba(19,13,48,.7);border:1px solid rgba(107,79,187,.18);border-radius:10px;padding:20px 24px;margin-bottom:28px}
.mf-stars{color:var(--gl);font-size:13px;margin-bottom:8px}
.mf-depo-txt{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--ink2);line-height:1.65;margin-bottom:10px}
.mf-depo-autor{font-size:12px;color:var(--ink4);letter-spacing:.06em}
.mf-price-box{display:flex;align-items:center;justify-content:space-between;background:rgba(19,13,48,.8);border:1px solid rgba(107,79,187,.2);border-radius:10px;padding:20px 24px;margin-bottom:24px}
.mf-price-old{font-size:13px;color:var(--ink4);text-decoration:line-through;margin-bottom:4px}
.mf-price-val{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:900;font-size:44px;color:var(--ink);letter-spacing:-.02em;line-height:1}
.mf-price-val small{font-size:20px;font-weight:300;color:var(--ink3);vertical-align:super}
.mf-price-period{font-size:11px;color:var(--ink4);margin-top:4px;letter-spacing:.06em}
.mf-garantia{text-align:center;font-size:24px;line-height:1.3;color:var(--ink4);font-size:13px}

/* BOTÕES */
.mf-btn{display:block;width:100%;padding:18px;background:linear-gradient(135deg,var(--vl),var(--vg));color:#fff;border:none;border-radius:100px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:all .25s;box-shadow:0 0 36px rgba(107,79,187,.4);position:relative;overflow:hidden;margin-bottom:12px}
.mf-btn::before{content:'';position:absolute;inset:0;border-radius:100px;background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);pointer-events:none}
.mf-btn:hover{transform:translateY(-2px);box-shadow:0 0 60px rgba(107,79,187,.6)}
.mf-btn:active{transform:scale(.97)}
.mf-btn:disabled{opacity:.6;cursor:default;transform:none}
.mf-btn-outline{display:block;width:100%;padding:16px;background:transparent;color:var(--ink4);border:1px solid rgba(107,79,187,.25);border-radius:100px;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .2s;margin-bottom:0}
.mf-btn-outline:hover{border-color:rgba(107,79,187,.5);color:var(--ink2)}
.mf-btn-note{text-align:center;font-size:11px;color:var(--ink4);letter-spacing:.06em;margin-bottom:0}

/* INPUTS */
.mf-field{margin-bottom:16px}
.mf-label{display:block;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink4);margin-bottom:8px}
.mf-input{width:100%;background:rgba(107,79,187,.08);border:1px solid rgba(107,79,187,.25);border-radius:8px;padding:13px 16px;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;font-weight:300;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}
.mf-input:focus{border-color:var(--vl2);box-shadow:0 0 0 3px rgba(107,79,187,.15)}
.mf-input::placeholder{color:var(--ink4)}
select.mf-input option{background:#130D30;color:#F0EAFF}
.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mf-error{color:var(--rs);font-size:13px;font-style:italic;margin-bottom:14px;min-height:18px}

/* PREVIEW */
.mf-preview-card{background:rgba(19,13,48,.8);border:1px solid rgba(107,79,187,.22);border-radius:12px;padding:22px 24px;margin-bottom:14px}
.mf-pcard-tag{font-size:9px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--vl3);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.mf-pcard-tag span{font-size:16px}
.mf-pcard-h3{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:800;font-size:19px;color:var(--ink);margin-bottom:10px}
.mf-pcard-p{font-size:14px;color:var(--ink3);line-height:1.7}
.mf-preview-blur{position:relative;margin-bottom:16px}
.mf-preview-blur-inner{background:rgba(19,13,48,.8);border:1px solid rgba(107,79,187,.22);border-radius:12px;padding:22px 24px;filter:blur(5px);user-select:none;pointer-events:none}
.mf-blur-overlay{position:absolute;inset:0;border-radius:12px;background:rgba(11,6,32,.6);display:flex;align-items:center;justify-content:center}
.mf-unlock-chip{background:linear-gradient(135deg,var(--vl),var(--vg));color:#fff;padding:10px 20px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-align:center}
.mf-preview-cta{background:rgba(107,79,187,.1);border:1px solid rgba(107,79,187,.25);border-radius:10px;padding:16px 20px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--ink2)}
.mf-preview-cta strong{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:900;font-size:22px;color:var(--vl3);white-space:nowrap}

/* CHECKOUT */
.mf-order-box{background:rgba(19,13,48,.8);border:1px solid rgba(107,79,187,.2);border-radius:12px;padding:22px 24px;margin-bottom:16px}
.mf-section-title{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink4);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(107,79,187,.12)}
.mf-order-line{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid rgba(107,79,187,.08);font-size:14px;color:var(--ink2)}
.mf-order-total{border-bottom:none;font-weight:700;font-size:18px;color:var(--ink);padding-top:14px}
.mf-bump{border:2px dashed rgba(107,79,187,.4);border-radius:10px;padding:18px 20px;margin-bottom:20px;background:rgba(107,79,187,.06)}
.mf-bump-tag{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--vl3);background:rgba(107,79,187,.2);padding:3px 10px;border-radius:100px;display:inline-block;margin-bottom:12px}
.mf-bump-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}
.mf-bump-label input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:var(--vl2);cursor:pointer}
.mf-bump-info strong{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}
.mf-bump-info span{font-size:13px;color:var(--ink3)}
.mf-bump-price{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:900;font-size:18px;color:var(--vl3);margin-top:8px}
.mf-secure{display:flex;align-items:center;gap:8px;justify-content:center;font-size:12px;color:var(--ink4);margin-top:12px}

/* UPSELL */
.mf-upsell-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,139,139,.1);border:1px solid rgba(255,139,139,.25);color:var(--rs);padding:6px 16px;border-radius:100px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px}
.mf-upsell-card{background:rgba(19,13,48,.8);border:1px solid rgba(107,79,187,.22);border-radius:12px;padding:24px;margin-bottom:24px}
.mf-upsell-price{display:flex;align-items:center;gap:10px;margin-top:16px;flex-wrap:wrap}
.mf-old-price{font-size:14px;color:var(--ink4);text-decoration:line-through}
.mf-economia{background:rgba(107,79,187,.2);color:var(--vl3);font-size:10px;font-weight:700;letter-spacing:.1em;padding:3px 10px;border-radius:100px}

/* OBRIGADO */
.mf-thanks-check{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--vl),var(--vg));display:grid;place-items:center;margin:0 auto 24px;font-size:28px;box-shadow:0 0 40px rgba(107,79,187,.5);color:#fff}
.mf-email-preview{background:rgba(107,79,187,.08);border:1px solid rgba(107,79,187,.2);border-radius:10px;padding:20px 24px;margin-bottom:24px;text-align:left}
.mf-email-header{font-size:12px;color:var(--ink3);margin-bottom:12px}
.mf-email-body{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;color:var(--ink3);line-height:1.65;margin-bottom:14px}
.mf-pdf-chip{display:flex;align-items:center;gap:10px;background:rgba(107,79,187,.15);border:1px solid rgba(107,79,187,.3);border-radius:8px;padding:12px 16px;font-size:13px;color:var(--vl3)}

/* MOBILE */
@media(max-width:520px){
  .mf-row{grid-template-columns:1fr}
  .mf-price-box{flex-direction:column;gap:14px;text-align:center}
  .mf-h1{font-size:clamp(28px,10vw,40px)}
  .mf-label{font-size:7px}
}
