/* /comparar-isapres de todoplan.cl (Views/Home/Comparar.cshtml, 8-oct-2026).
   Misma estructura que chileisapres.cl/comparar-isapres/ (v2-v4) con el sistema de marca.css:
   Poppins, navy #24334c en títulos, azul #0061c2 en TODAS las acciones, verde #4eb067 de apoyo, ámbar #f59e0b solo en «Precio». */
.cx { --verde:#4eb067; --verde-tinte:rgba(78,176,103,.14); --ambar:#f59e0b; --barra:#e8edf5; }

/* ── 1. Hero ──
   Un solo sistema: tarjetas con borde 1px + radio 16 + misma sombra; dentro, divisores y no cajas dentro de cajas.
   Espacios de la escala 8 · 16 · 24 · 32 · 48 · 64. */
.cx-hero { padding:128px 0 72px; text-align:left; }
.cx-hero__grid { display:grid; gap:64px; align-items:center; }
.cx-hero h1 { font-size:48px; font-weight:700; line-height:1.08; letter-spacing:-.03em; max-width:none; margin:0 0 20px; }
.cx-hero h1 span { color:var(--azul); }
.cx-hero__lead { font-size:18px; line-height:1.6; color:var(--gris) !important; max-width:30em; margin:0 0 32px !important; }
.cx-sim { background:#fff; border:1px solid var(--borde); border-radius:16px; box-shadow:0 16px 40px -20px rgba(36,51,76,.28); padding:8px; max-width:560px; }
.cx-sim__g { display:grid; grid-template-columns:.8fr 1.25fr .95fr; }
.cx-f { display:flex; flex-direction:column; gap:4px; margin:0; padding:10px 16px; border-radius:10px; cursor:text; transition:background .15s; }
.cx-f + .cx-f { border-left:1px solid var(--borde); border-radius:0 10px 10px 0; }
.cx-f span { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--tenue); }
.cx-f input, .cx-f select { border:0; outline:0; background:transparent; font-family:inherit; font-size:17px; font-weight:600; color:var(--navy); width:100%; padding:0; margin:0; min-width:0; }
.cx-f input::placeholder { color:#94a3b8; font-weight:500; }
.cx-f:focus-within { background:var(--suave); }
.mk-hero .cx-sim__btn { display:flex; width:100%; max-width:none; margin:8px 0 0; gap:10px; border:0; border-radius:10px; cursor:pointer; font-family:inherit; }
.cx-sim__btn svg { flex:0 0 auto; }
.cx-hero__ok { list-style:none; display:flex; flex-wrap:wrap; gap:8px 20px; margin:16px 0 0; padding:0 0 0 4px; }
.cx-hero__ok li { position:relative; padding-left:22px; font-size:14px; line-height:1.4; color:var(--tenue); }
.cx-hero__ok li::before { content:""; position:absolute; left:0; top:2px; width:16px; height:16px; border-radius:50%; background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E") center/11px no-repeat; }

.cx-chart { background:#fff; border:1px solid var(--borde); border-radius:16px; box-shadow:var(--sombra); padding:28px; text-align:left; }
.cx-chart__t { font-weight:700; font-size:18px; color:var(--navy) !important; }
.cx-chart__s { margin-top:4px !important; font-size:14px; color:var(--tenue) !important; }
.cx-tabs { display:flex; gap:4px; margin:16px 0 24px; background:var(--alterno); border-radius:10px; padding:4px; }
.cx-tabs button { flex:1; border:0; background:transparent; border-radius:8px; padding:8px 6px; font-family:inherit; font-weight:600; font-size:13px; color:var(--tenue); cursor:pointer; }
.cx-tabs button[aria-selected="true"] { background:#fff; color:var(--azul); box-shadow:0 1px 3px rgba(36,51,76,.12); }
.cx-bars { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.cx-bars li { display:grid; grid-template-columns:104px 1fr 44px; align-items:center; gap:16px; }
.cx-lg { display:flex; align-items:center; height:24px; }
.cx-lg img { width:104px; height:24px; object-fit:contain; object-position:left center; }
.cx-lg em { font-style:normal; font-size:13px; font-weight:600; color:var(--navy); }
.cx-bar { position:relative; display:block; height:8px; border-radius:999px; background:var(--barra); overflow:hidden; }
.cx-bar i { position:absolute; inset:0 auto 0 0; border-radius:999px; background:var(--azul); transition:width .4s ease; }
.cx-bar--g i { background:var(--verde); }
.cx-bar--o i { background:var(--ambar); }
.cx-bars b { font-weight:700; font-size:14px; color:var(--navy); text-align:right; font-variant-numeric:tabular-nums; }
.cx-chart__f { margin-top:24px !important; padding-top:16px; border-top:1px solid var(--borde); font-size:12.5px; line-height:1.45; color:var(--tenue) !important; }

/* ── 4. Comparativa como mapa de calor: tono = puesto de la isapre en ese dato (t1 mejor … t5 más baja) ── */
.cx-orden { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin:32px 0 16px; }
.cx-orden span { font-size:13px; font-weight:600; color:var(--tenue); margin-right:4px; white-space:nowrap; flex:0 0 auto; }
.cx-orden button { border:1px solid #cbd5e1; background:#fff; border-radius:999px; padding:8px 16px; font-family:inherit; font-size:14px; font-weight:600; color:var(--navy); cursor:pointer; transition:background .15s, border-color .15s, color .15s; }
.cx-orden button:hover { border-color:var(--azul); }
.cx-orden button[aria-pressed="true"] { background:var(--navy); border-color:var(--navy); color:#fff; }
.cx-orden button:focus-visible { outline:3px solid var(--azul); outline-offset:2px; }
.cx-mapa { max-width:880px; margin:0 auto; background:#fff; border:1px solid var(--borde); border-radius:16px; box-shadow:var(--sombra); padding:12px; }
.cx-heat { width:100%; border-collapse:separate; border-spacing:6px; table-layout:fixed; }
.cx-heat thead th { padding:8px 4px; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--tenue); text-align:center; }
.cx-heat thead th.is-sel { color:var(--azul); }
.cx-heat thead th.is-sel::after { content:""; display:block; width:24px; height:3px; border-radius:2px; background:var(--azul); margin:6px auto 0; }
.cx-heat .cx-heat__isa { width:150px; text-align:left; padding-left:8px; }
.cx-heat thead .c { display:none; }
.cx-heat tbody th { padding:0 8px; text-align:left; }
.cx-heat tbody th a { display:flex; align-items:center; height:48px; color:var(--navy) !important; font-weight:600; font-size:14px; text-decoration:none !important; }
.cx-heat tbody th img { width:120px; height:28px; object-fit:contain; object-position:left center; }
.cx-heat td { height:48px; padding:0 4px; border-radius:10px; text-align:center; font-size:16px; font-weight:700; font-variant-numeric:tabular-nums; }
.t1 { background:#00428a; color:#fff; }
.t2 { background:#0061c2; color:#fff; }
.t3 { background:#94bdea; color:var(--navy); }
.t4 { background:#d3e3f6; color:var(--navy); }
.t5 { background:#eef3fa; color:#5b6675; }
.cx-leyenda { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px 12px; margin:16px auto 0 !important; max-width:880px; font-size:13px; line-height:1.45; color:var(--tenue) !important; text-align:center; }
.cx-esc { display:inline-flex; gap:3px; }
.cx-esc i { display:block; width:20px; height:10px; border-radius:3px; }
.cx-sec7 .mk-btn, .cx-mirar .mk-btn, .cx-faq-sec .mk-btn { margin-top:32px; }
.cx-corte { margin-top:16px !important; }

/* ── 5 y 7. Tarjetas de texto ── */
.cx-grid4 { display:grid; gap:16px; margin-top:32px; }
.cx-tarj { background:#fff; border:1px solid var(--borde); border-radius:var(--r-tarjeta); padding:24px; text-align:left; }
.cx-tarj h3 { font-size:18px; font-weight:700; line-height:1.3; margin-bottom:8px; }
.cx-tarj p { font-size:15px; line-height:1.55; }

/* ── 8. Preguntas frecuentes ── */
.cx-faq { max-width:760px; margin:32px auto 0; display:grid; gap:10px; text-align:left; }
.cx-faq details { background:#fff; border:1px solid var(--borde); border-radius:var(--r-tarjeta); padding:0 20px; }
.cx-faq summary { cursor:pointer; list-style:none; position:relative; padding:18px 32px 18px 0; font-size:16px; font-weight:600; color:var(--navy); }
.cx-faq summary::-webkit-details-marker { display:none; }
.cx-faq summary::after { content:"+"; position:absolute; right:0; top:50%; transform:translateY(-50%); font-size:22px; font-weight:400; color:var(--azul); }
.cx-faq details[open] summary::after { content:"−"; }
.cx-faq details p { padding:0 0 18px; font-size:15px; line-height:1.6; }

/* ── 6. Asistente de 4 pasos sobre el MISMO #CustomerForm (comparar.js). Sin JS, el formulario queda como en la portada. ── */
.cx-wiz { display:grid; gap:32px; align-items:start; max-width:1080px; }
.cx-wiz__form .init-home-form { margin-top:0 !important; max-width:none !important; }
.mk-form #CustomerForm.is-wizard { display:block !important; }
#CustomerForm.is-wizard .card-header { margin-bottom:4px !important; }
.cx-form-s { margin:0 0 14px !important; font-size:15px; line-height:1.5; }
.cx-prog { display:flex; align-items:center; gap:12px; margin:0 0 18px; }
.cx-prog__track { flex:1; height:6px; border-radius:999px; background:var(--barra); overflow:hidden; }
.cx-prog__track i { display:block; height:100%; width:25%; background:var(--azul); border-radius:999px; transition:width .3s ease; }
.cx-prog__t { font-size:13px; font-weight:600; color:var(--tenue); white-space:nowrap; }
.cx-paso { display:none; }
.cx-paso.is-on { display:block; }
.cx-paso__t { font-size:20px; font-weight:700; letter-spacing:-.01em; color:var(--navy) !important; margin-bottom:4px !important; }
.cx-paso__s { font-size:14px; line-height:1.5; margin-bottom:16px !important; }
.cx-campos { display:grid; grid-template-columns:1fr; gap:14px; }
.mk-form .cx-campos > .form-group { flex:none !important; max-width:none !important; width:auto !important; padding:0 !important; margin:0 !important; }
.mk-form .cx-campos > .form-group.d-none { display:none !important; }
.mk-form .cx-campos > .form-group:has(#lbl-charges-ages.d-none) { display:none; }
@media (min-width:560px) { .mk-form .cx-campos { grid-template-columns:1fr 1fr; column-gap:16px; } .cx-campos > * { grid-column:1 / -1; } .cx-campos > .cx-media { grid-column:span 1; } }
.cx-oculto { position:absolute !important; width:1px !important; height:1px !important; opacity:0 !important; pointer-events:none !important; overflow:hidden !important; }
.cx-pills { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.cx-pills--n { grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px; }
.cx-pill { min-height:48px; padding:6px 6px; border:1.5px solid #cbd5e1; border-radius:var(--r-control); background:#fff; font-family:inherit; font-weight:600; font-size:14px; line-height:1.15; color:var(--navy); cursor:pointer; transition:border-color .15s, background .15s, box-shadow .15s, color .15s; }
.cx-pill:hover { border-color:var(--azul); }
.cx-pill[aria-pressed="true"] { border-color:var(--azul); background:var(--azul-tinte); color:var(--azul); box-shadow:0 0 0 3px rgba(0,97,194,.12); }
.cx-pill:focus-visible { outline:3px solid var(--azul); outline-offset:2px; }
.cx-pills.is-error .cx-pill { border-color:#B94A48; }
.cx-resumen { display:none; }
#CustomerForm[data-grupo-sim="1"] .cx-resumen { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border:1px solid var(--borde); border-radius:var(--r-icono); background:var(--suave); font-weight:600; color:var(--navy); }
#CustomerForm[data-grupo-sim="1"] .cx-g { display:none !important; }
.cx-cambiar { border:0; background:transparent; color:var(--azul); font-family:inherit; font-weight:600; font-size:14px; cursor:pointer; padding:4px 2px; }
.cx-cambiar:hover { text-decoration:underline; }
.cx-renta__v { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:8px !important; }
.cx-renta__v output { font-weight:800; font-size:28px; letter-spacing:-.02em; color:var(--navy); font-variant-numeric:tabular-nums; }
.cx-renta__v span { font-size:14px; color:var(--tenue); }
.cx-range { width:100%; accent-color:var(--azul); height:28px; cursor:pointer; }
.cx-renta__esc { display:flex; justify-content:space-between; font-size:12.5px; color:var(--tenue); margin-top:2px; }
.cx-err-cargas { display:block; color:#B94A48; font-size:13px; margin-top:4px; }
.cx-err-cargas[hidden] { display:none; }
#CustomerForm.is-wizard .card-header { justify-content:flex-start !important; margin-left:0 !important; margin-right:0 !important; }
#CustomerForm.is-wizard .card-header h3 { font-size:22px; font-weight:700; }
#dv-charges-ages input.is-invalid { border-color:#B94A48 !important; background:#F2DEDE !important; }
.cx-nav { display:flex; justify-content:space-between; gap:12px; margin-top:20px; }
.cx-nav button { min-height:52px; border-radius:var(--r-control); font-family:inherit; font-size:16px; font-weight:700; cursor:pointer; padding:0 24px; }
.cx-seguir { flex:1; border:0; background:var(--azul); color:#fff; }
.cx-seguir:hover { background:var(--azul-hover); }
.cx-atras { border:1px solid #cbd5e1; background:#fff; color:var(--navy); }
.cx-atras[hidden], .cx-seguir[hidden] { display:none; }
#CustomerForm.is-wizard .cx-envio { display:none; }
#CustomerForm.is-wizard.is-ultimo .cx-envio { display:flex; }
#CustomerForm.is-wizard.is-ultimo .cx-nav { margin-top:0; }
#CustomerForm.is-wizard .cx-envio button[type=submit] { margin:16px 0 0 !important; }

/* Panel «Tu comparación» */
.cx-rev { position:sticky; top:96px; border-radius:20px; padding:28px; color:#fff; background:radial-gradient(70% 60% at 100% 0%, rgba(78,176,103,.25), transparent 60%), linear-gradient(160deg, #24334c, #0061c2); box-shadow:0 30px 60px -32px rgba(36,51,76,.7); }
.cx-rev[hidden] { display:none; }
.cx-rev__top { display:flex; align-items:center; gap:18px; }
.cx-ring { --p:0; position:relative; flex:0 0 84px; width:84px; height:84px; border-radius:50%; display:grid; place-items:center; }
.cx-ring::before { content:""; position:absolute; inset:0; border-radius:50%; background:conic-gradient(var(--verde) calc(var(--p) * 1%), rgba(255,255,255,.16) 0);
  -webkit-mask:radial-gradient(circle, transparent calc(50% - 7px), #000 calc(50% - 6px)); mask:radial-gradient(circle, transparent calc(50% - 7px), #000 calc(50% - 6px)); }
.cx-ring span { position:relative; font-weight:800; font-size:19px; }
.cx-rev__top > div:last-child { min-width:0; }
.cx-rev__t { font-weight:700; font-size:20px; color:#fff !important; }
.cx-rev__s { margin-top:4px !important; font-size:14px; line-height:1.45; color:rgba(255,255,255,.8) !important; }
.cx-rev__chips { list-style:none; margin:22px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.cx-rev__chips li { display:flex; align-items:center; gap:12px; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.18); min-width:0; }
.cx-rev__chips li i { flex:0 0 24px; width:24px; height:24px; border-radius:50%; border:2px solid rgba(255,255,255,.45); }
.cx-rev__chips li.is-ok { background:rgba(78,176,103,.18); border-color:rgba(78,176,103,.6); }
.cx-rev__chips li.is-ok i { border:0; background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat; }
.cx-rev__chips li.is-cur { background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.6); }
.cx-rev__chips li span { min-width:0; }
.cx-rev__chips small { display:block; font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.72); }
.cx-rev__chips b { display:block; font-size:15px; font-weight:600; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cx-rev__prev { margin-top:18px; padding:18px; border:1px dashed rgba(255,255,255,.3); border-radius:16px; }
.cx-rev__prev p { margin:0 0 14px !important; font-size:14px; line-height:1.5; color:rgba(255,255,255,.88) !important; }
.cx-sks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.cx-sk { background:#fff; border-radius:12px; padding:12px; display:grid; gap:8px; }
.cx-sk img { width:100%; height:16px; object-fit:contain; object-position:left center; }
.cx-sk i { display:block; height:7px; border-radius:999px; background:linear-gradient(92deg, var(--azul), var(--verde)); width:86%; }
.cx-sk i + i { width:62%; background:#dbe4f0; }
.cx-sk i.c { width:40%; background:#dbe4f0; }

/* ── Escritorio ── */
@media (min-width:768px) {
    .cx-hero__grid { grid-template-columns:minmax(0,1fr) minmax(0,440px); }
    .cx-grid4 { grid-template-columns:repeat(2,1fr); gap:24px; margin-top:48px; }
}
@media (min-width:1000px) {
    .cx-grid4 { grid-template-columns:repeat(4,1fr); }
    .cx-grid3 { grid-template-columns:repeat(3,1fr); }
}
@media (min-width:921px) {
    .cx-wiz { grid-template-columns:minmax(0,1.1fr) minmax(0,.95fr); }
}
@media (min-width:768px) and (max-width:1023px) {
    .cx-hero__grid { gap:40px; }
    .cx-hero h1 { font-size:40px; }
    }

/* ── Celular (como todoplanes.cl/revisa-tu-plan): hero con simulador y el formulario justo debajo ── */
@media (max-width:920px) {
    .cx-rev { position:static; order:-1; padding:16px; border-radius:16px; }
    .cx-wiz { gap:12px; }
    .cx-wiz__form { order:1; }
    .cx-rev__prev { display:none; }
}
@media (max-width:767px) {
    .mk.cx { display:flex; flex-direction:column; }
    .mk.cx > * { order:5; }
    .mk.cx > .cx-hero { order:0; }
    .mk.cx > .cx-form { order:1; }
    .mk.cx > .mk-logos { order:2; }
    .mk.cx > .cx-sec7 { order:3; }
    .cx-hero { padding:96px 0 32px; }
    .cx-hero__grid { gap:0; }
    .cx-hero h1 { font-size:34px; margin-bottom:12px; }
    .cx-hero__lead { font-size:16px; margin-bottom:24px !important; }
    .cx-hero .cx-chart { display:none; }
    .cx-sim { max-width:none; }
    .cx-sim__g { grid-template-columns:1fr 1fr; }
    .cx-f--renta { grid-column:1 / -1; order:-1; border-left:0 !important; border-bottom:1px solid var(--borde); border-radius:10px 10px 0 0 !important; }
    .cx-f + .cx-f { border-radius:0; }
    .cx-sim__g > .cx-f:first-child { border-radius:0 0 0 10px; }
    .cx-sim__g > .cx-f:last-child { border-left:1px solid var(--borde); border-radius:0 0 10px 0; }
    .cx-hero__ok { gap:6px 16px; }
    .cx-hero__ok li { font-size:13px; }
    .cx-form { padding:8px 0 40px !important; border-top:0 !important; }
    #cotizar-isapre { scroll-margin-top:72px; }
    .cx-paso__t { font-size:18px; }
    .cx-rev__top { gap:14px; }
    .cx-ring { flex-basis:56px; width:56px; height:56px; }
    .cx-ring span { font-size:14px; }
    .cx-rev__t { font-size:16px; }
    .cx-rev__s { font-size:13px; line-height:1.35; }
    .cx-rev__chips { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:12px; }
    .cx-rev__chips li { flex-direction:column; justify-content:center; gap:5px; padding:8px 3px; text-align:center; border-radius:10px; }
    .cx-rev__chips li i { flex:0 0 20px; width:20px; height:20px; }
    .cx-rev__chips li.is-ok i { background-size:11px; }
    .cx-rev__chips small { font-size:9.5px; line-height:1.2; letter-spacing:.03em; }
    .cx-rev__chips b { display:none; }
    .cx-pills--n { gap:5px; }
    .cx-pill { min-height:46px; font-size:13.5px; padding:4px; overflow-wrap:anywhere; }
    .cx-renta__v output { font-size:24px; }
    /* Mapa de calor en 343 px: logo angosto, encabezados cortos, celdas compactas */
    .cx-orden { justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; margin:24px -16px 12px; padding:0 16px 4px; scrollbar-width:none; }
    .cx-orden::-webkit-scrollbar { display:none; }
    .cx-orden button { flex:0 0 auto; padding:8px 14px; font-size:13px; }
    .cx-mapa { padding:4px; border-radius:12px; }
    .cx-heat { border-spacing:3px; }
    .cx-heat .cx-heat__isa { width:80px; padding-left:4px; }
    .cx-heat thead th { font-size:10px; letter-spacing:.02em; padding:6px 0; }
    .cx-heat thead .l { display:none; }
    .cx-heat thead .c { display:inline; }
    .cx-heat tbody th { padding:0 4px; }
    .cx-heat tbody th a { height:42px; font-size:11px; }
    .cx-heat tbody th img { width:76px; height:22px; }
    .cx-heat td { height:42px; padding:0 1px; border-radius:7px; font-size:13px; }
    .cx-leyenda { font-size:12px; }
                .cx-sec7 .mk-btn, .cx-mirar .mk-btn, .cx-faq-sec .mk-btn { display:flex; width:100%; max-width:360px; margin-left:auto; margin-right:auto; }
    .cx-tarj { padding:18px; }
}
@media (max-width:380px) {
    .cx-pill { font-size:12.5px; }
    .cx-rev__chips small { font-size:8.5px; letter-spacing:.01em; }
    .cx-hero h1 { font-size:31px; }
    .cx-heat td { font-size:12px; }
}
@media (prefers-reduced-motion:reduce) { .cx-bar i, .cx-prog__track i { transition:none; } }

/* ── Pasada de diseño (8-oct): un solo ancho, un solo radio, una sola sombra ──
   Anchos: 1048 px (hero, tarjetas, formulario) · 880 px (mapa, leyenda, preguntas, credencial).
   Radio 16 en toda tarjeta; 10 en controles internos. Sombra = var(--sombra) en las tarjetas blancas; las oscuras sin sombra.
   Ritmo: título → bajada 16 · bajada → contenido 40 · contenido → botón 40. */
.cx-wiz { max-width:1080px; }
.cx-sim { box-shadow:var(--sombra); }
.cx-rev { border-radius:16px; box-shadow:none; padding:32px; }
.cx-mapa, .cx-leyenda, .cx-faq, .cx-faq-sec .mk-cred { max-width:880px; }
.cx-faq-sec .mk-cred { margin-top:40px; }
.cx-orden { margin:40px 0 16px; }
.cx-grid4 { margin-top:40px; }
.cx-faq { margin-top:40px; }
.cx-sec7 .mk-btn, .cx-mirar .mk-btn, .cx-faq-sec .mk-btn { margin-top:40px; }
.cx-tarj h3 { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cx-heat thead th { vertical-align:bottom; white-space:nowrap; }
.cx-heat thead th.is-sel::after { margin-top:4px; }
.cx-hero__ok.cx-trust { justify-content:center; margin:16px 0; padding:0; }
.cx-hero__ok.cx-trust span { position:relative; padding-left:22px; font-size:13px; line-height:1.4; color:var(--tenue); }
.cx-hero__ok.cx-trust span::before { content:""; position:absolute; left:0; top:1px; width:16px; height:16px; border-radius:50%; background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E") center/11px no-repeat; }
.mk-form.cx-form .init-home-form { padding:32px !important; }
@media (min-width:768px) {
    .cx-grid4, .cx-faq { margin-top:48px; }
    .cx-orden { margin-top:48px; }
}
@media (max-width:767px) {
    .cx-rev { padding:16px; }
    .mk-form.cx-form .init-home-form { padding:24px 16px !important; }
    .cx-tarj h3 { white-space:normal; }
    .cx-orden { margin-top:24px; }
    .cx-grid4, .cx-faq { margin-top:32px; }
    .cx-sec7 .mk-btn, .cx-mirar .mk-btn, .cx-faq-sec .mk-btn { margin-top:32px; }
}
/* El contenedor del partial suma 16 px de relleno sobre los del .mk-wrap: la tarjeta del formulario quedaba más adentro */
.cx-wiz #cotizar-isapre > .container { padding-left:0 !important; padding-right:0 !important; max-width:none; }
@media (max-width:767px) { .cx-hero__ok.cx-trust { gap:6px 12px; } }
/* Gráfico del hero: mismo alto en las 3 pestañas (Marcelo, 8-oct: «al poner precio crece, no debería»).
   La bajada va en una línea y la columna del valor cabe «3,40 UF» sin partirse. */
.cx-chart__s { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.cx-bars li { grid-template-columns:104px 1fr 64px; }
.cx-bars b { white-space:nowrap; }
.cx-tabs button:focus { outline:none; }
.cx-tabs button:focus-visible { outline:2px solid var(--azul); outline-offset:-2px; }
/* Paso 4 (8-oct): campos con el mismo espacio y etiquetas a la misma altura; botones en una fila con el ancho de los campos */
#CustomerForm.is-wizard .cx-campos > .form-group { display:flex; flex-direction:column; margin:0 !important; }
#CustomerForm.is-wizard .cx-campos label { line-height:1.4; margin:0 0 8px !important; }
#CustomerForm.is-wizard .cx-campos { row-gap:20px; }
.cx-acciones { display:flex; gap:12px; margin-top:24px; }
.cx-acciones .cx-nav { display:flex; gap:12px; flex:1; margin:0; }
#CustomerForm.is-wizard.is-ultimo .cx-acciones .cx-nav { flex:0 0 auto; }
#CustomerForm.is-wizard .cx-envio { margin:0 !important; flex:1; }
#CustomerForm.is-wizard.is-ultimo .cx-envio { display:block; }
#CustomerForm.is-wizard .cx-envio > [class*="col"] { padding:0 !important; max-width:none; flex:none; width:100%; }
#CustomerForm.is-wizard .cx-envio button[type=submit] { margin:0 !important; height:52px; min-height:52px; }
.cx-acciones .cx-nav button, #CustomerForm.is-wizard .cx-envio button[type=submit] { height:52px; }
/* Panel: los resúmenes en 2 líneas en vez de cortarse con «…» */
.cx-rev__chips b { white-space:normal; overflow:visible; line-height:1.3; }

/* Salto al cargar (CLS 0,11 en producción, 8-oct): el formulario completo se pintaba y luego comparar.js lo encogía al
   paso 1, subiendo todo lo de abajo. Mientras no se arma, ocupa lo mismo que el paso 1. Sin JS o si falla: completo. */
.cx-wiz__form #CustomerForm:not(.is-wizard):not(.cx-sin-asistente) { max-height:537px; overflow:hidden; }
@media (min-width:768px) { .cx-wiz__form #CustomerForm:not(.is-wizard):not(.cx-sin-asistente) { max-height:468px; } }
.cx-ring span { font-weight:700; }
