/* Landing /afiliados. Reglas tomadas del mockup aprobado (docs/modules/affiliates/mockup-afiliados.html, pestana Landing)
   y recortadas a lo que usa la pagina. Colores y fuentes salen de las variables del sitio (master-colors). */
.aff-landing{--radius:14px;font-family:var(--font-body);color:var(--text_color)}
.aff-landing *{box-sizing:border-box}
.aff-landing a{color:inherit;text-decoration:none}
.aff-landing p,.aff-landing h1,.aff-landing h2,.aff-landing h3,.aff-landing h4{margin:0}
.aff-landing button,.aff-landing input,.aff-landing select,.aff-landing textarea{font:inherit;color:inherit}
.aff-landing [hidden]{display:none!important}
.aff-landing .mx-wrap{width:100%;max-width:var(--mx-container);margin-inline:auto;padding-inline:16px}
.aff-landing{--mx-container:100%}
@media (min-width:960px){.aff-landing{--mx-container:920px}}
@media (min-width:1264px){.aff-landing{--mx-container:1200px}}
@media (min-width:1301px){.aff-landing{--mx-container:1320px}}
@media (min-width:1471px){.aff-landing{--mx-container:1480px}}
.aff-landing .mx-hero{position:relative;margin-top:12px;border-radius:24px;overflow:hidden;height:420px;display:flex;align-items:center;isolation:isolate}
.aff-landing .mx-hero-bg{position:absolute;inset:0;z-index:-2;background:var(--secondary_background) center 40%/cover no-repeat}
.aff-landing .mx-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,12,14,.82) 0%,rgba(12,12,14,.45) 50%,rgba(12,12,14,.1) 100%)}
.aff-landing .mx-hero-in{padding-inline:48px;max-width:640px;display:grid;gap:14px}
.aff-landing .mx-hero h1{font-family:var(--font-heading);font-size:52px;line-height:1.05;font-weight:900;letter-spacing:-1.56px;color:#fff;text-wrap:balance}
.aff-landing .mx-hero p{font-size:17px;font-weight:500;line-height:1.6;color:rgba(255,255,255,.6);max-width:420px}
.aff-landing .mx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;color:#fff;font-family:var(--font-body);font-size:14px;font-weight:700;padding:13px 28px;border-radius:50px;background:linear-gradient(135deg,#009ef6 0,#007ec5 100%);white-space:nowrap;transition:transform .2s,filter .2s}
.aff-landing .mx-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.aff-landing .mx-btn svg{width:14px;height:14px}
.aff-landing .mx-hero .mx-btn{justify-self:start;margin-top:10px}
.aff-landing .mx-sec{padding-top:64px}
.aff-landing .mx-h2{font-family:var(--font-heading);font-size:30.8px;line-height:1.2;font-weight:800;color:var(--title_color);margin-top:4px}
.aff-landing .mx-head{margin-bottom:20px}
.aff-landing .mx-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.aff-landing .mx-cat{position:relative;height:300px;border-radius:16px;overflow:hidden;background:var(--secondary_background) center/cover no-repeat;display:flex;align-items:flex-end;padding:18px}
.aff-landing .mx-cat:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,14,0) 35%,rgba(12,12,14,.92) 100%)}
.aff-landing .mx-cat>div{position:relative;z-index:1;display:grid;gap:4px}
.aff-landing .mx-cat b{font-family:var(--font-heading);font-size:20px;font-weight:800;color:#fff;letter-spacing:-.4px}
.aff-landing .mx-cat span{font-size:13px;color:rgba(255,255,255,.75)}
.aff-landing .mx-cat em{font-style:normal;font-family:var(--font-heading);font-weight:800;color:#fff;font-size:28px;letter-spacing:-.6px;line-height:1}
.aff-landing .mx-cat small{font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:rgba(255,255,255,.6)}
.aff-landing .mx-rng{display:grid;gap:8px}
.aff-landing .mx-rng-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.aff-landing .mx-rng-top label{font-size:13px;font-weight:600;color:var(--title_color)}
.aff-landing .mx-rng-top output{font-family:var(--font-heading);font-size:16px;font-weight:800;color:var(--title_color);font-variant-numeric:tabular-nums}
.aff-landing .mx-cat.im-g1,.aff-landing .mx-cat.im-g2,.aff-landing .mx-cat.im-g3{background-position:center 35%}
.aff-landing .mx-cat{background-size:cover;background-position:center}
.aff-landing .kc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--secondary_background);border-radius:16px;overflow:hidden}
.aff-landing .kc-in{padding:32px;display:grid;gap:28px;align-content:center}
.aff-landing .kc-in input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:4px;background:var(--border_color);outline:0}
.aff-landing .kc-in input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);border:3px solid var(--secondary_background);box-shadow:0 0 0 1.5px var(--primary);cursor:pointer}
.aff-landing .kc-in input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary);border:3px solid var(--secondary_background);cursor:pointer}
.aff-landing .kc-out{padding:32px;background:var(--secondary_background_hover);display:grid;gap:14px;align-content:center}
.aff-landing .kc-out>small{font-size:13px;color:var(--text_secondary_color)}
.aff-landing .kc-total{font-family:var(--font-heading);font-size:clamp(44px,5vw,64px);font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--title_color);font-variant-numeric:tabular-nums}
.aff-landing .kc-life{font-size:14px;color:var(--text_color)}
.aff-landing .kc-life b{color:var(--title_color)}
.aff-landing .kc-out .mx-btn{justify-self:start;margin-top:6px}
@media (max-width:960px){.aff-landing .kc{grid-template-columns:minmax(0,1fr)}}
.aff-landing .mx-faq.fq2{display:block;border-top:1px solid var(--border_color)}
.aff-landing .mx-faq.fq2 details{background:none;border-radius:0;border-bottom:1px solid var(--border_color)}
.aff-landing .mx-faq.fq2 details+details{margin-top:0}
.aff-landing .mx-faq.fq2 summary{padding:16px 0;font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--title_color)}
.aff-landing .mx-faq.fq2 summary span{width:24px;height:24px;border:0;color:var(--text_secondary_color)}
.aff-landing .mx-faq.fq2 summary span svg{width:14px;height:14px}
.aff-landing .mx-faq.fq2 details p{padding:0 0 16px;font-size:14px;color:var(--text_secondary_color)}
.aff-landing .v5-hero .mx-hero-bg{background-position:65% 40%}
.aff-landing .v5-hero:after{background:linear-gradient(90deg,rgba(12,12,14,.92) 0%,rgba(12,12,14,.6) 42%,rgba(12,12,14,0) 75%)}
.aff-landing .kc-year{font-size:15px;color:var(--text_color)}
.aff-landing .kc-year b{color:var(--title_color)}
.aff-landing .v5-facts{list-style:none;margin:8px 0 0;padding:16px 0 0;border-top:1px solid var(--border_color);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.aff-landing .v5-facts b{display:block;font-family:var(--font-heading);font-size:20px;font-weight:800;color:var(--title_color);letter-spacing:-.3px}
.aff-landing .v5-facts span{font-size:12px;color:var(--text_secondary_color)}
.aff-landing .v5-mosaic{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:260px 260px;gap:20px}
.aff-landing .v5-main{grid-row:1/3;border-radius:16px;padding:36px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;position:relative;overflow:hidden;background:linear-gradient(135deg,#1aa8f7 0%,#009ef6 45%,#007ec5 100%)}
.aff-landing .v5-main:before{content:"";position:absolute;right:-80px;top:-100px;width:360px;height:360px;border-radius:50%;background:rgba(255,255,255,.08)}
.aff-landing .v5-pct{position:relative;font-family:var(--font-heading);font-size:clamp(96px,11vw,160px);font-weight:900;line-height:.9;letter-spacing:-.05em;color:#fff}
.aff-landing .v5-main h3{position:relative;font-family:var(--font-heading);font-size:30px;font-weight:800;color:#fff;letter-spacing:-.5px}
.aff-landing .v5-main p{position:relative;font-size:16px;color:rgba(255,255,255,.88);max-width:36ch}
.aff-landing .v5-white{position:relative;align-self:flex-start;margin-top:10px;background:#fff;color:var(--primary);font-weight:700;font-size:14px;border-radius:14px;padding:14px 26px}
.aff-landing .v5-side{height:auto}
.aff-landing .v5-side span{max-width:34ch}
.aff-landing .v5-talk{justify-self:start;margin-top:10px;background:rgba(255,255,255,.14);border:1.5px solid rgba(255,255,255,.3);color:#fff;font-family:var(--font-heading);font-size:13px;font-weight:700;border-radius:9999px;padding:9px 18px;cursor:pointer;backdrop-filter:blur(8px)}
.aff-landing .v5-talk:hover{background:rgba(255,255,255,.24)}
.aff-landing .v5-form{margin-top:20px;background:var(--secondary_background);border-radius:16px;padding:28px}
.aff-landing .v5-form h3{font-family:var(--font-heading);font-size:20px;font-weight:800;color:var(--title_color);margin-bottom:16px}
.aff-landing .v5-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end}
.aff-landing .v5-fields label{display:grid;gap:6px}
.aff-landing .v5-fields label span{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text_color)}
.aff-landing .v5-fields input,.aff-landing .v5-fields select{width:100%;padding:14px 16px;border:1.5px solid var(--border_color);border-radius:var(--radius);background:var(--primary_background);color:var(--title_color);font-size:15px;outline:none}
.aff-landing .v5-fields input:focus,.aff-landing .v5-fields select:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary33)}
.aff-landing .v5-sent{margin-top:12px;font-size:14px;color:var(--success_color)}
@media (max-width:960px){.aff-landing .v5-mosaic{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}
.aff-landing .v5-main{grid-row:auto;min-height:360px}
.aff-landing .v5-side{height:260px}
.aff-landing .v5-fields{grid-template-columns:minmax(0,1fr)}
.aff-landing .v5-facts{grid-template-columns:minmax(0,1fr)}}
.aff-landing .mx-cats.v6-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.aff-landing .v6-steps .mx-cat{height:300px}
.aff-landing .v6-steps .mx-cat em{font-size:22px;color:var(--primary)}
@media (max-width:960px){.aff-landing .mx-cats.v6-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.aff-landing .mx-cats.v6-steps{grid-template-columns:minmax(0,1fr)}}
.aff-landing .mx-faq details{background:var(--secondary_background);border-radius:10.5px}
.aff-landing .mx-faq details+details{margin-top:10px}
.aff-landing .mx-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 18px;font-family:var(--font-heading);font-size:15px;font-weight:800;color:var(--title_color)}
.aff-landing .mx-faq summary::-webkit-details-marker{display:none}
.aff-landing .mx-faq summary span{width:30px;height:30px;border-radius:50%;border:1px solid var(--border_color);display:grid;place-items:center;color:var(--text_secondary_color);flex:none;transition:transform .2s}
.aff-landing .mx-faq summary span svg{width:13px;height:13px}
.aff-landing .mx-faq details[open] summary span{transform:rotate(45deg)}
.aff-landing .mx-faq details p{padding:0 18px 18px;font-size:14px;line-height:1.6;color:var(--text_color);max-width:70ch}
.aff-landing .mx-nl{position:relative;overflow:hidden;border-radius:24px;padding:44px 48px;background:linear-gradient(135deg,#1aa8f7 0%,#009ef6 45%,#007ec5 100%);display:flex;gap:28px;align-items:flex-start}
.aff-landing .mx-nl:before{content:"";position:absolute;right:-40px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}
.aff-landing .mx-nl:after{content:"";position:absolute;left:-60px;bottom:-120px;width:240px;height:240px;border-radius:50%;background:rgba(255,255,255,.06)}
.aff-landing .mx-nl .ib{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff;flex:none;position:relative;z-index:1}
.aff-landing .mx-nl .ib svg{width:22px;height:22px}
.aff-landing .mx-nl .tx{position:relative;z-index:1;display:grid;gap:6px;flex:1;min-width:0}
.aff-landing .mx-nl h3{font-family:var(--font-heading);font-size:24px;font-weight:800;color:#fff;letter-spacing:-.5px}
.aff-landing .mx-nl p{font-size:14px;color:rgba(255,255,255,.85)}
.aff-landing .mx-nl form{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.aff-landing .mx-nl .codein{display:flex;align-items:center;width:300px;max-width:100%;border-radius:14px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);overflow:hidden}
.aff-landing .mx-nl .codein span{padding-left:16px;font-size:14px;color:rgba(255,255,255,.65);white-space:nowrap}
.aff-landing .mx-nl .codein input{flex:1;min-width:0;border:0;background:transparent;color:#fff;font-size:14px;padding:14px 16px 14px 2px;outline:0;text-transform:uppercase}
.aff-landing .mx-nl .codein input::placeholder{color:rgba(255,255,255,.7)!important;opacity:1!important;text-transform:none}
.aff-landing .mx-nl .wbtn{border:0;border-radius:14px;background:#fff;color:var(--primary);font-size:14px;font-weight:700;padding:14px 28px;cursor:pointer;white-space:nowrap}
.aff-landing .mx-nl small{display:block;font-size:11px;color:rgba(255,255,255,.7);margin-top:8px}
.aff-landing .im-g1{background-image:url(/assets/afiliados/landing-g1.webp)}
.aff-landing .im-g2{background-image:url(/assets/afiliados/landing-g2.webp)}
.aff-landing .im-g3{background-image:url(/assets/afiliados/landing-g3.webp)}
.aff-landing .im-s1{background-image:url(/assets/afiliados/landing-s1.webp)}
.aff-landing .im-s2{background-image:url(/assets/afiliados/landing-s2.webp)}
.aff-landing .im-s3{background-image:url(/assets/afiliados/landing-s3.webp)}
.aff-landing .im-s4{background-image:url(/assets/afiliados/landing-s4.webp)}
