/* Felivis Cat Emergency Cost Calculator — build 20261029a
   Uses the site's design tokens (styles-20260723e.css). Every rule is scoped to .fv-calc. */
.fv-calc{--calc-sheet:var(--white);--calc-prem:var(--sage);--calc-oop:var(--ink)}
.fv-calc .calc-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:start}
.fv-calc .num,.fv-calc input[type=number],.fv-calc .li span:last-child,.fv-calc .bar-row .v,.fv-calc .fund-num,.fv-calc .sc .c{font-variant-numeric:tabular-nums}

/* steps */
.fv-calc .step{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px;box-shadow:var(--shadow-sm)}
.fv-calc .step-h{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.fv-calc .step-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--mint);color:var(--green-dark);font-weight:700;font-size:.95rem;flex:0 0 30px;align-self:center}
.fv-calc .step-h h2{font-family:'Fraunces',serif;font-weight:600;font-size:1.45rem;line-height:1.2;margin:0}
.fv-calc .step-h .sub{margin-left:auto;font-size:.85rem;color:var(--muted)}
.fv-calc .fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fv-calc label.f{display:flex;flex-direction:column;gap:6px;font-size:.84rem;font-weight:600;color:var(--ink-2)}
.fv-calc input[type=number],.fv-calc input[type=text],.fv-calc select{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:10px 12px;color:var(--ink);font-size:1rem}
.fv-calc input:focus-visible,.fv-calc select:focus-visible,.fv-calc button:focus-visible,.fv-calc a:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.fv-calc .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--white)}
.fv-calc .seg button{border:0;background:transparent;padding:7px 14px;font-size:.9rem;color:var(--ink-2)}
.fv-calc .seg button[aria-pressed="true"]{background:var(--ink);color:#fff}

.fv-calc .insights{display:grid;gap:8px;margin-top:14px}
.fv-calc .ins{font-size:.92rem;padding:10px 14px;border-radius:var(--radius-sm);background:var(--amber-soft);border:1px solid var(--line);border-left:4px solid var(--amber)}
.fv-calc .ins.red{background:var(--red-soft);border-left-color:var(--red)}
.fv-calc .ins b{color:var(--ink)}

/* scenarios */
.fv-calc .scen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fv-calc .sc{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;min-width:0;color:var(--ink)}
.fv-calc .sc:hover{border-color:var(--sage)}
.fv-calc .sc[aria-pressed="true"]{background:var(--mint-2);border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.fv-calc .sc .t{font-weight:700;font-size:.98rem}
.fv-calc .sc .c{font-weight:600;font-size:.9rem;color:var(--green-dark)}
.fv-calc .sc .w{font-size:.84rem;color:var(--muted)}
.fv-calc .planfor{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px;font-size:.9rem;color:var(--muted)}
.fv-calc .custom{margin-top:12px;max-width:240px}

/* plans */
.fv-calc .plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fv-calc .plan{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.fv-calc .plan.off{opacity:.55}
.fv-calc .plan-h{display:flex;justify-content:space-between;align-items:center;gap:6px}
.fv-calc .plan-h b{font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem}
.fv-calc .plan .tog{font-size:.8rem;display:flex;gap:6px;align-items:center;color:var(--muted);font-weight:500;flex-direction:row}
.fv-calc .plan label.f{font-size:.78rem}
.fv-calc .plan input,.fv-calc .plan select{padding:8px 10px;font-size:.95rem;background:var(--white)}
.fv-calc .example{font-size:.85rem;color:var(--muted);margin:12px 0 0}

/* estimate sheet */
.fv-calc .sheet{position:sticky;top:96px;background:var(--calc-sheet);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.fv-calc .sheet-h{background:var(--ink);color:#fff;padding:20px 22px 18px}
.fv-calc .sheet-h .eyebrow{color:#9ed4c2;margin:0}
.fv-calc .sheet-h h2{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;margin:4px 0 2px;color:#fff}
.fv-calc .sheet-h .for{font-size:.9rem;opacity:.85}
.fv-calc .sheet-b{padding:16px 22px 22px}
.fv-calc .li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.fv-calc .li span:last-child{white-space:nowrap;font-weight:600}
.fv-calc .li .k{color:var(--muted)}
.fv-calc .li.total{border-bottom:0;border-top:2px solid var(--ink);margin-top:4px;padding-top:11px;font-weight:700;font-size:1.05rem}
.fv-calc .blk{margin-top:18px}
.fv-calc .blk h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.1rem;margin:0 0 4px}
.fv-calc .cap{font-size:.85rem;color:var(--muted);margin:0 0 10px}
.fv-calc .bars{display:grid;gap:10px}
.fv-calc .bar-row{display:grid;grid-template-columns:92px minmax(0,1fr) 72px;gap:8px;align-items:center;font-size:.88rem}
.fv-calc .bar-row .nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fv-calc .bar-track{height:14px;background:var(--mint-2);border-radius:999px;display:flex;overflow:hidden}
.fv-calc .bar-track i{display:block;height:100%}
.fv-calc .bar-track .p{background:var(--calc-prem)}
.fv-calc .bar-track .o{background:var(--calc-oop)}
.fv-calc .bar-row .v{font-weight:700;text-align:right}
.fv-calc .bar-row.best .nm::after{content:" ✓";color:var(--green)}
.fv-calc .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-top:10px}
.fv-calc .legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.fv-calc .fund-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.fv-calc .fund-num{font-family:'Fraunces',serif;font-weight:600;font-size:1.9rem;line-height:1}
.fv-calc .meter{height:9px;border-radius:999px;background:var(--mint-2);overflow:hidden;margin:10px 0 6px}
.fv-calc .meter i{display:block;height:100%;background:var(--green)}
.fv-calc .chip{display:inline-block;font-weight:700;font-size:.78rem;padding:3px 10px;border-radius:999px}
.fv-calc .chip.ok{background:var(--mint);color:var(--green-dark)}
.fv-calc .chip.short{background:var(--red-soft);color:var(--red)}
.fv-calc .calc-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:16px}
.fv-calc .copied{font-size:.85rem;color:var(--green);font-weight:600}
.fv-calc .copy-fallback{width:100%;height:120px;margin-top:10px;border:1px solid var(--line);border-radius:12px;padding:10px;font-size:.8rem}

/* below the calculator */
.fv-calc .calc-below{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:12px}
.fv-calc .calc-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.fv-calc .calc-panel h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.5rem;line-height:1.15;margin:6px 0 8px}
.fv-calc .calc-panel p{color:var(--ink-2)}
.fv-calc .calc-product{background:var(--ink);color:#fff;border:0}
.fv-calc .calc-product h3{color:#fff}
.fv-calc .calc-product p,.fv-calc .calc-product li{color:#d9e7e2}
.fv-calc .calc-product .eyebrow{color:#9ed4c2}
.fv-calc .calc-product ul{margin:0 0 18px;padding-left:18px;columns:2;column-gap:20px;font-size:.93rem}
.fv-calc .calc-product .price{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:600;color:#ffe2ad}
.fv-calc .calc-product .row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.fv-calc .calc-product .btn-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.fv-calc .calc-product .fine{font-size:.8rem;color:#d9e7e2;margin-top:12px}
.fv-calc .calc-method{margin-top:28px}

@media (max-width:960px){
  .fv-calc .calc-grid{grid-template-columns:minmax(0,1fr)}
  .fv-calc .sheet{position:static}
  .fv-calc .calc-below{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .fv-calc .step{padding:18px}
  .fv-calc .fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fv-calc .scen,.fv-calc .plans{grid-template-columns:minmax(0,1fr)}
  .fv-calc label.f[for="fundPlan"]{grid-column:1/-1}
  .fv-calc .step-h .sub{display:none}
  .fv-calc .calc-product ul{columns:1}
}
@media (prefers-reduced-motion:no-preference){
  .fv-calc .bar-track i,.fv-calc .meter i{transition:width .35s ease}
}
@media print{
  .fv-calc .sheet{position:static;box-shadow:none}
  .fv-calc .calc-below,.fv-calc .calc-actions{display:none}
}
