/* Vivarity Calculator — InsurTech modern UI v2 */
.vivcalc{font-family:'Inter',system-ui,-apple-system,sans-serif;color:#0F2339;max-width:780px;margin:0 auto}
.vivcalc *{box-sizing:border-box}
.vivcalc-progress{display:flex;gap:8px;margin-bottom:18px}
.vivcalc-progress i{flex:1;height:8px;border-radius:999px;background:#E9EEF3;position:relative;overflow:hidden}
.vivcalc-progress i em{position:absolute;left:0;top:0;bottom:0;background:#0F2A44;border-radius:999px;transition:width .35s ease}
.vivcalc-progress i.is-active em{width:100%}
.vivcalc-progress i.is-current em{width:60%;background:linear-gradient(90deg,#0F2A44,#00C2A8)}
.vivcalc-step{background:#fff;border:1px solid #E6EAF0;border-radius:22px;box-shadow:0 14px 44px rgba(15,42,68,.08);padding:24px;overflow:visible;position:relative;z-index:1;animation:vivfade .22s cubic-bezier(.2,.8,.2,1)}
@keyframes vivfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.vivcalc-step h3{margin:0 0 6px;font-family:'Plus Jakarta Sans',sans-serif;font-size:21px;font-weight:800;letter-spacing:-.5px}
.vivcalc-step p.lead{color:#6B7A90;font-size:13px;margin:0 0 16px;line-height:1.55}
.vivcalc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.vivcalc-grid{grid-template-columns:1fr}.vivcalc-step{padding:18px}}
.vivcalc-field label{font-size:12px;font-weight:700;display:block;margin-bottom:6px;color:#0F2339}
.vivcalc-field{position:relative;z-index:1}
.vivcalc-field:has(.viv-select__options[style*="block"]){z-index:60}
.vivcalc-field input,.vivcalc-field select{width:100%;border:1.5px solid #E6EAF0;border-radius:13px;padding:12px 13px;font-size:14px;background:#fff;outline:0;color:#0F2339;position:relative;z-index:5;transition:border-color .15s, box-shadow .15s}
.vivcalc-field input:focus,.vivcalc-field select:focus{border-color:#0F2A44;box-shadow:0 0 0 3px rgba(15,42,68,.1);z-index:20}
.viv-select__trigger:focus{border-color:#0F2A44;box-shadow:0 0 0 3px rgba(15,42,68,.1)}
.vivcalc-field input[type=checkbox],.vivcalc-field input[type=radio]{width:auto;accent-color:#0F2A44}
.vivcalc-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:760px){.vivcalc-cards{grid-template-columns:1fr}}
.vivcalc-card{border:2px solid #E6EAF0;border-radius:16px;padding:15px;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .16s,background .18s;background:#fff;position:relative}
.vivcalc-card:hover{transform:translateY(-2px);border-color:#B9C6D6;box-shadow:0 10px 24px rgba(15,42,68,.1)}
.vivcalc-card.is-selected{border-color:#0F2A44;box-shadow:0 12px 26px rgba(15,42,68,.14);background:linear-gradient(180deg,#F8FAFC,#fff)}
.vivcalc-card.is-selected::after{content:'✓';position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:#0F2A44;color:#fff;display:grid;place-items:center;font-size:12px}
.vivcalc-card h4{margin:0;font-size:14px;font-weight:800}
.vivcalc-card small{color:#6B7A90;font-size:12px;line-height:1.4}
.vivcalc-card .price{font-size:22px;font-weight:800;margin-top:8px;letter-spacing:-.3px}
.vivcalc-card .price span{font-size:12px;color:#6B7A90;font-weight:600}
.vivcalc-cover-card{text-align:center}
.vivcalc-cover-card.is-selected{border-color:#00C2A8;box-shadow:0 12px 26px rgba(0,194,168,.18)}
.vivcalc-cover-card.is-selected::after{background:#00C2A8}
.vivcalc-cover-card .price{font-size:15px;color:#0F2A44}
.vivcalc-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}
.vivcalc-btn{appearance:none;border:0;border-radius:13px;padding:13px 20px;font-weight:800;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.18s}
.vivcalc-btn--ghost{background:#fff;border:1.5px solid #E6EAF0;color:#0F2339}
.vivcalc-btn--ghost:hover{border-color:#0F2A44}
.vivcalc-btn--primary{background:linear-gradient(135deg,#0F2A44,#1B3A5F);color:#fff;box-shadow:0 10px 22px rgba(15,42,68,.2)}
.vivcalc-btn--primary:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,42,68,.24)}
.vivcalc-btn--primary:active{transform:scale(.98)}
.vivcalc-btn:disabled{opacity:.6;cursor:not-allowed}
.vivcalc-summary{background:#F8FAFC;border:1px solid #E6EAF0;border-radius:16px;padding:16px;margin-top:12px}
.vivcalc-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.vivcalc-pill{appearance:none;border:1.5px solid #E6EAF0;background:#fff;border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700;color:#0F2339;cursor:pointer;transition:.15s}
.vivcalc-pill.is-active{background:#0F2A44;color:#fff;border-color:#0F2A44;box-shadow:0 6px 14px rgba(15,42,68,.16)}
.vivcalc-pill:hover{border-color:#0F2A44}
.vivcalc-legal{font-size:11px;color:#6B7A90;margin-top:10px;line-height:1.5}
.vivcalc-err{animation:vivfade .2s}
#vivcalc-condiciones label:has(input:checked){border-color:#0F2A44;background:#F8FAFC;box-shadow:0 0 0 1px #0F2A44}
