/* Cotizador */
.top__nav{display:flex;gap:22px;margin-left:auto;margin-right:18px}
.top__nav a{text-decoration:none;font:600 15px/1 var(--font-titulos);color:var(--marino-oscuro)}
.top__nav a[aria-current]{color:var(--naranjo-texto)}
.cz-hero{position:relative;overflow:hidden;padding:56px 16px 110px;text-align:center}
.cz-hero__in{max-width:780px;margin:0 auto;position:relative}
.cz-hero .lead{margin:18px auto 0}
.cz-hero h1>*{animation:none}
.cz{max-width:var(--ancho);margin:0 auto;padding:0 16px 96px;display:grid;grid-template-columns:340px 1fr;gap:32px;align-items:start}
.cz-form{position:sticky;top:90px;background:#fff;border:1px solid var(--borde);border-radius:20px;padding:24px;box-shadow:var(--sombra)}
.cz-form h2{font-size:20px;text-align:left;margin:0 0 18px}
.cz-form select,.cz-form input[type=search]{width:100%;font:500 16px/1.2 var(--font-texto);padding:13px 14px;border:1.5px solid var(--borde);border-radius:12px;background:#fff;color:var(--texto)}
.cargas{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.carga{display:grid;grid-template-columns:1fr 74px auto 32px;align-items:center;gap:8px;background:var(--fondo-suave);border-radius:12px;padding:6px 6px 6px 14px;animation:entrar .3s ease}
.carga span{font-weight:500;font-size:15px}
.carga input{width:100%;padding:9px 10px;border:1.5px solid var(--borde);border-radius:10px;font:600 16px var(--font-texto);text-align:center}
.carga__u{color:var(--texto-2);font-size:13px!important}
.carga__x{border:0;background:#fff;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--texto-2)}
.cz-form .btn--ghost{color:var(--marino);box-shadow:inset 0 0 0 2px var(--borde)}
.cz-mas-opciones{border-top:1px solid var(--borde);padding:4px 0}
.cz-mas-opciones summary{font-size:16px;padding:14px 30px 14px 0}
.cz-mas-opciones[open] summary{margin-bottom:6px}

.cz-resumen{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}
.cz-dato{background:var(--marino);color:#fff;border-radius:16px;padding:16px 18px;animation:subir .4s ease}
.cz-dato b{display:block;font:800 26px/1.1 var(--font-titulos)}
.cz-dato span{font-size:13px;color:var(--claro)}
.cz-dato--nar{background:var(--naranjo)}
.cz-dato--nar b,.cz-dato--nar span{color:var(--marino-oscuro)}
.cz-vacio{grid-column:1/-1;background:var(--fondo-suave);border-radius:14px;padding:18px;margin:0}

.cz-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#FFF5E6;border:1.5px solid #FFD8A0;border-radius:16px;padding:16px 18px;margin-bottom:18px}
.cz-cta b{display:block;font:800 17px/1.25 var(--font-titulos);color:var(--marino-oscuro)}
.cz-cta span{font-size:14px;color:var(--texto-2)}
.cz-cta .btn{flex:none;padding:14px 20px;font-size:15px}

.cz-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:pl}
.plan{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--borde);border-radius:16px;padding:16px 18px;transition:border-color .2s,transform .2s;animation:aparecer .35s ease both}
.plan:hover{border-color:var(--marino);transform:translateY(-2px)}
.plan--top{border:2px solid var(--naranjo)}
.plan__isapre{display:block;font:600 12px/1 var(--font-titulos);letter-spacing:.12em;text-transform:uppercase;color:var(--naranjo-texto);margin-bottom:5px}
.plan__nombre{display:block;font:800 17px/1.25 var(--font-titulos);color:var(--marino-oscuro)}
.plan__chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip-p{font-size:12px;font-weight:500;background:var(--fondo-suave);border-radius:7px;padding:3px 8px;color:var(--texto)}
.chip-p--aviso{background:#FDECEA;color:#8E2A1E}
.plan__cod{display:block;color:var(--texto-2);font-size:11px;margin-top:6px}
.plan__precio{text-align:right}
.plan__precio b{display:block;font:800 22px/1.1 var(--font-titulos);color:var(--marino-oscuro)}
.plan__precio span{display:block;font-size:13px;color:var(--texto-2)}
.plan__precio small{display:block;font-size:12px;color:#8E2A1E;margin-top:4px;font-weight:600}
.plan__precio small.ok{color:#1E7B4F}
.cz-ver-mas{margin:16px auto 0;display:flex;color:var(--marino);box-shadow:inset 0 0 0 2px var(--borde)}
.cz-nota{font-size:13px;color:var(--texto-2);margin-top:24px;line-height:1.5}

/* Bloque del cotizador en la portada */
.cz-promo{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.cz-promo h2{text-align:left;margin-bottom:14px}
.cz-promo p{color:var(--texto-2);margin:0 0 26px;font-size:18px}
.cz-promo__demo{background:#fff;border-radius:20px;box-shadow:var(--sombra);padding:18px;display:grid;gap:8px}
.cz-promo__fila{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--fondo-suave);border-radius:12px;padding:12px 14px;font-size:14px}
.cz-promo__fila b{font:800 16px var(--font-titulos);color:var(--marino-oscuro)}
.cz-promo__fila span{color:var(--texto-2)}
.cz-promo__fila--top{background:var(--marino);color:#fff}
.cz-promo__fila--top b{color:#fff}.cz-promo__fila--top span{color:var(--claro)}

@media (max-width:900px){
  .cz{grid-template-columns:1fr}
  .cz-form{position:static}
  .cz-promo{grid-template-columns:1fr}
  .top__nav{display:none}
}
@media (max-width:560px){
  .cz-cta{flex-direction:column;align-items:stretch}
  .plan{grid-template-columns:1fr}
  .plan__precio{text-align:left;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;border-top:1px dashed var(--borde);padding-top:10px}
  .plan__precio b{display:inline}
}

/* Cotizador corto en la portada */
.cz-promo{align-items:start}
.mini{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.mini__campo{display:flex;flex-direction:column;gap:6px;background:var(--fondo-suave);border-radius:14px;padding:12px 14px}
.mini__campo>span{font:600 13px/1.2 var(--font-titulos);color:var(--marino-oscuro)}
.mini__campo input[type=number],.mini__campo input[type=text]{width:100%;font:600 18px var(--font-texto);padding:8px 10px;border:1.5px solid var(--borde);border-radius:10px;background:#fff}
.mini__campo--check{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px}
.mini__campo--check input[type=checkbox]{width:18px;height:18px;accent-color:var(--marino)}
.mini__campo--check input[type=number]{grid-column:1/-1}
.mini .stepper button{width:36px;height:36px;font-size:20px}
.mini-res{background:#fff;border-radius:22px;box-shadow:var(--sombra);padding:20px;border:1px solid #eef1f4}
.mini-res__top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:var(--marino);color:#fff;border-radius:14px;padding:14px 16px}
.mini-res__top span{color:var(--claro);font-size:14px}
.mini-res__top b{font:800 20px var(--font-titulos)}
.mini-res__lista{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}
.mini-plan{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--fondo-suave);border-radius:12px;padding:12px 14px;animation:aparecer .35s ease both}
.mini-plan:nth-child(2){animation-delay:.08s}.mini-plan:nth-child(3){animation-delay:.16s}
.mini-plan b{display:block;font:800 15px/1.25 var(--font-titulos);color:var(--marino-oscuro)}
.mini-plan small{color:var(--texto-2);font-size:12px}
.mini-plan__isapre{display:block;font:600 11px/1 var(--font-titulos);letter-spacing:.12em;text-transform:uppercase;color:var(--naranjo-texto);margin-bottom:4px}
.mini-plan__precio{text-align:right;flex:none}
.mini-plan__precio b{font-size:18px}
.mini-plan--aviso{background:#FFF1DC;justify-content:center}
.mini-plan--aviso b{color:var(--naranjo-texto)}
.mini-res__nota{font-size:12px;color:var(--texto-2);margin:0 0 14px}
.mini-res__acciones{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mini-res__link{font:600 14px var(--font-titulos);color:var(--marino)}
@media (max-width:480px){.mini{grid-template-columns:1fr 1fr}.mini-res__acciones .btn{width:100%}}
.cz-promo .eyebrow{color:var(--naranjo-texto);font-size:13px;margin:0 0 18px}
.cz-promo .mini-res__nota{font-size:12px;margin:0 0 14px}
.mini-plan--ok{background:#E6F4EC;justify-content:center}.mini-plan--ok b{color:#1E7B4F}

/* ===== Cotizador v2: necesidades, coberturas y comparador (2026-11-10) ===== */
.cz-nec{background:#fff;border:1px solid var(--borde);border-radius:20px;padding:22px;margin-bottom:16px;box-shadow:var(--sombra)}
.cz-nec__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cz-nec h2{font-size:20px;text-align:left;margin:0 0 4px}
.cz-nec p{margin:0;color:var(--texto-2);font-size:14px}
.cz-link{border:0;background:none;color:var(--marino);font:600 14px var(--font-titulos);text-decoration:underline;cursor:pointer;padding:4px;white-space:nowrap}
.red{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:16px 0 14px}
.red__t{font:600 13px var(--font-titulos);color:var(--marino-oscuro);margin-right:4px}
.red button{border:1.5px solid var(--borde);background:#fff;border-radius:999px;padding:9px 14px;font:600 14px var(--font-texto);color:var(--texto);cursor:pointer}
.red button small{color:var(--texto-2);font-weight:500}
.red button[aria-pressed="true"]{background:var(--marino);border-color:var(--marino);color:#fff}
.red button[aria-pressed="true"] small{color:var(--claro)}
.nec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.nec{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px;border:1.5px solid var(--borde);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;user-select:none}
.nec:hover{border-color:var(--marino)}
.nec input{position:absolute;opacity:0;pointer-events:none}
.nec:has(input:focus-visible){outline:3px solid var(--naranjo);outline-offset:2px}
.nec__ic{font-size:22px;width:36px;height:36px;display:grid;place-items:center;background:var(--fondo-suave);border-radius:10px}
.nec__txt b{display:block;font:800 14px/1.25 var(--font-titulos);color:var(--marino-oscuro)}
.nec__txt small{display:block;font-size:12px;color:var(--texto-2);line-height:1.3}
.nec__check{width:22px;height:22px;border-radius:7px;border:2px solid var(--borde);display:grid;place-items:center;transition:all .15s}
.nec--si{border-color:var(--marino);background:#EEF3F8}
.nec--si .nec__ic{background:#fff}
.nec--si .nec__check{background:var(--naranjo);border-color:var(--naranjo)}
.nec--si .nec__check::after{content:"✓";font:800 14px/1 var(--font-titulos);color:var(--marino-oscuro)}
.nec:active{transform:scale(.98)}

.cz-orden{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.cz-orden__txt{font-size:13px;color:var(--texto-2)}
.cz-orden label{display:flex;align-items:center;gap:8px;font:600 14px var(--font-titulos);color:var(--marino-oscuro);margin-left:auto}
.cz-orden select{font:500 15px var(--font-texto);padding:9px 12px;border:1.5px solid var(--borde);border-radius:10px;background:#fff}

.plan__badge{font-style:normal;margin-left:8px;background:var(--naranjo);color:var(--marino-oscuro);border-radius:6px;padding:2px 7px;letter-spacing:.04em;font-size:10px}
.chip-p--pop{background:#E6F4EC;color:#1E7B4F}
.plan__nec{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.nchip{font-size:12px;font-weight:600;border-radius:7px;padding:3px 8px}
.nchip--ok{background:#E6F4EC;color:#1E7B4F}
.nchip--med{background:#FFF1DC;color:var(--naranjo-texto)}
.nchip--baja{background:#FDECEA;color:#8E2A1E}
.nchip--nd{background:var(--fondo-suave);color:var(--texto-2)}
.plan__acc{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid var(--borde);padding-top:10px;margin-top:2px}
.plan__btn{border:0;background:none;color:var(--marino);font:700 14px var(--font-titulos);cursor:pointer;padding:6px 0}
.plan__btn::after{content:" ▾"}
.plan__btn[aria-expanded="true"]::after{content:" ▴"}
.plan__comp{display:flex;align-items:center;gap:6px;font:600 14px var(--font-titulos);color:var(--marino-oscuro);cursor:pointer}
.plan__comp input{width:18px;height:18px;accent-color:var(--marino)}
.plan--comp{border-color:var(--marino);box-shadow:0 0 0 1px var(--marino)}
.plan__det{grid-column:1/-1}
.plan:hover{transform:none}

.tc-wrap{overflow-x:auto;margin-top:4px;-webkit-overflow-scrolling:touch}
.tc{width:100%;border-collapse:collapse;font-size:14px}
.tc th,.tc td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--borde);vertical-align:top}
.tc thead th{font:800 14px/1.25 var(--font-titulos);color:var(--marino-oscuro);background:#fff}
.tc thead th small{font:600 11px var(--font-titulos);letter-spacing:.1em;text-transform:uppercase;color:var(--naranjo-texto)}
.tc-g th{background:var(--fondo-suave);font:700 12px var(--font-titulos);letter-spacing:.08em;text-transform:uppercase;color:var(--texto-2);padding:6px 10px}
.tc td:first-child{color:var(--texto-2);white-space:nowrap}
.tc td b{color:var(--marino-oscuro)}
.tc td small{color:var(--texto-2)}
.tc-no{color:#8E2A1E}
.tc-nd{color:var(--texto-2);font-style:italic}
.tc-mejor{background:#E6F4EC}
.tc-precio{font:800 16px var(--font-titulos);color:var(--marino-oscuro)}
.tc--comp td:not(:first-child),.tc--comp thead th:not(:first-child){min-width:150px}

.cz-extras{margin-top:20px;background:var(--fondo-suave);border-radius:16px;padding:18px 20px}
.cz-extras h3{margin:0 0 6px;font:800 17px var(--font-titulos);color:var(--marino-oscuro)}
.cz-extras p{margin:0 0 12px;color:var(--texto-2);font-size:14px}

.bandeja{position:fixed;left:0;right:0;bottom:16px;z-index:30;display:flex;justify-content:center;padding:0 16px;pointer-events:none}
.bandeja__in{pointer-events:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--marino-oscuro);color:#fff;border-radius:18px;padding:10px 12px 10px 18px;box-shadow:0 20px 40px -16px rgba(0,0,0,.5);max-width:760px;width:100%}
.bandeja__t{font:700 14px var(--font-titulos)}
.bandeja__planes{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.bandeja__plan{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.12);border-radius:8px;padding:4px 4px 4px 9px;font-size:13px}
.bandeja__plan button{border:0;background:none;color:#fff;font-size:16px;cursor:pointer;line-height:1;padding:0 4px}
.bandeja .cz-link{color:var(--claro);margin-left:auto}
.bandeja .btn:disabled{opacity:.5;cursor:default}
body.con-bandeja .cz{padding-bottom:140px}
.cz-aviso{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);z-index:31;background:var(--texto);color:#fff;border-radius:10px;padding:10px 14px;font-size:14px;margin:0}

.comparador{border:0;border-radius:22px;padding:0;width:min(980px,calc(100% - 24px));max-height:calc(100vh - 40px);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.comparador::backdrop{background:rgba(18,44,65,.55)}
.comparador__head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--marino);color:#fff}
.comparador__head h2{margin:0;font-size:19px;color:#fff;text-align:left}
.comparador__x{border:0;background:rgba(255,255,255,.15);color:#fff;width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}
#comp-cuerpo{padding:8px 16px}
.comparador__pie{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid var(--borde);background:#FFF5E6}
.comparador__pie p{margin:0;color:var(--texto-2);font-size:14px}

@media (max-width:560px){
  .cz-nec{padding:16px;border-radius:16px}
  .cz-nec h2{font-size:18px}
  .red{flex-wrap:nowrap;overflow-x:auto;margin:14px -16px 12px;padding:0 16px;scrollbar-width:none}
  .red::-webkit-scrollbar{display:none}
  .red button{flex:none}
  .nec-grid{grid-template-columns:1fr 1fr;gap:6px}
  .nec{grid-template-columns:1fr auto;padding:10px;gap:6px}
  .nec__ic{width:30px;height:30px;font-size:18px}
  .nec__ic{grid-row:1;grid-column:1}
  .nec__check{grid-row:1;grid-column:2;justify-self:end}
  .nec__txt{grid-row:2;grid-column:1/-1}
  .nec__txt small{display:none}
  .cz-orden label{margin-left:0;width:100%}
  .cz-orden select{flex:1}
  .bandeja{bottom:calc(76px + env(safe-area-inset-bottom))}
  .bandeja__planes{display:none}
  .comparador{width:100%;max-height:100vh;height:100vh;border-radius:0;max-width:none;margin:0}
  .tc{font-size:13px}
  .tc th,.tc td{padding:7px 8px}
  .tc td:first-child{position:sticky;left:0;background:#fff;white-space:normal;min-width:96px}
  .tc--comp td:not(:first-child),.tc--comp thead th:not(:first-child){min-width:120px}
}

.bandeja[hidden],.cz-aviso[hidden]{display:none}
body.con-bandeja .wsp-flotante{display:none}

/* Formulario con scroll propio: se recorre entero sin mover la lista de planes */
@media (min-width:901px){
  .cz-form{max-height:calc(100vh - 110px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--borde) transparent}
  .cz-form::-webkit-scrollbar{width:8px}
  .cz-form::-webkit-scrollbar-thumb{background:var(--borde);border-radius:8px}
}
