/* cardir · калькуляторы (P3). Токены — из site.css (:root); здесь только раскладка формы и результата. */
.calc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--s4,16px);
  margin:var(--s5,24px) 0;padding:var(--s4,16px);border:1px solid var(--line,#e2e5e8);border-radius:var(--r,8px);background:var(--bg2,#f5f6f7)}
.calc-field{display:flex;flex-direction:column;gap:var(--s1,4px);min-width:0;margin:0;padding:0;border:0}
.calc-field[hidden]{display:none}
.calc-field label,.calc-field legend{font-weight:600;font-size:.95em;padding:0}
.calc-field small{color:var(--ink3,#7a838a);font-size:.85em;line-height:1.35}
.calc-field input[type=number],.calc-field select{font:inherit;width:100%;min-height:44px;padding:8px 10px;
  border:1px solid var(--line,#e2e5e8);border-radius:var(--r,8px);background:var(--bg,#fff);color:var(--ink,#1a1d1f)}
.calc-field input:focus-visible,.calc-field select:focus-visible,.calc-submit:focus-visible{outline:2px solid var(--acc,#0b8fa0);outline-offset:1px}
.calc-field [aria-invalid=true]{border-color:var(--bad,#b83c3c)}
.calc-radio label,.calc-check label{display:flex;align-items:center;gap:8px;font-weight:400;min-height:32px}
.calc-radio input,.calc-check input{width:18px;height:18px;accent-color:var(--acc,#0b8fa0)}
.calc-drivers{grid-column:1/-1}
.calc-driver{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2,8px)}
.calc-driver label{display:flex;flex-direction:column;font-weight:400;font-size:.9em;gap:2px}
.calc-driver input,.calc-driver select{font:inherit;min-height:40px;padding:6px 8px;border:1px solid var(--line,#e2e5e8);
  border-radius:var(--r,8px);background:var(--bg,#fff);color:var(--ink,#1a1d1f);width:100%}
.calc-submit{grid-column:1/-1;justify-self:start;font:inherit;font-weight:600;min-height:44px;padding:10px 24px;border:0;
  border-radius:var(--r,8px);background:var(--acc,#0b8fa0);color:#fff;cursor:pointer}
.calc-form.is-busy .calc-submit{opacity:.6}
.calc-result{min-height:2em}
.calc-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s2,8px) var(--s4,16px);padding:var(--s4,16px);
  border-left:4px solid var(--acc,#0b8fa0);background:var(--bg2,#f5f6f7);border-radius:0 var(--r,8px) var(--r,8px) 0}
.calc-total-label{color:var(--ink2,#4b5358)}
.calc-total-value{font-size:1.8em;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink,#1a1d1f)}
.calc-formula{color:var(--ink2,#4b5358);overflow-wrap:anywhere}
.calc-formula span{font-weight:600}
.calc-formula code{font-family:inherit;font-variant-numeric:tabular-nums}
.calc-warn,.calc-errors{padding:var(--s3,12px) var(--s4,16px);border:1px solid var(--warn,#b7791f);border-radius:var(--r,8px)}
.calc-errors{border-color:var(--bad,#b83c3c)}
.calc-errors ul,.calc-errors p{margin:.2em 0}
.calc-rates caption,.calc-options caption,.calc-mods caption,.calc-examples caption{text-align:left;font-weight:600;padding:var(--s2,8px) 0}
.calc-special td{color:var(--ink2,#4b5358)}
.calc-alt{margin:var(--s3,12px) 0}
.calc-notes{color:var(--ink2,#4b5358);font-size:.92em;padding-left:1.2em}
.calc-notes li+li{margin-top:.3em}
.calc-regions,.calc-models{columns:3 220px;padding-left:1.1em}
.calc-regions li,.calc-models li{break-inside:avoid;margin:.15em 0}
.calc-disclaimer,.calc-note{color:var(--ink3,#7a838a);font-size:.88em}
.calc table{width:100%}
.calc td.v{font-variant-numeric:tabular-nums;white-space:nowrap}
.calc-inline{flex-direction:row;gap:var(--s2,8px)}
.calc-inline>div{display:flex;flex-direction:column;gap:var(--s1,4px)}
.calc-inline>div:first-child{flex:2}
.calc-inline>div:last-child{flex:1}
.calc-sum-row td{border-top:2px solid var(--line,#e2e5e8);font-variant-numeric:tabular-nums}
.calc-src-note{color:var(--ink3,#7a838a);font-size:.85em}
.calc-total-nodisc{border-left-color:var(--warn,#b7791f)}
.calc-how{margin:var(--s5,24px) 0}
.calc-how ol{padding-left:1.3em}
.calc-how li{margin:.35em 0}
.calc-faq{margin:var(--s5,24px) 0}
.calc-faq details{border:1px solid var(--line,#e2e5e8);border-radius:var(--r,8px);padding:10px 14px;margin:8px 0;background:var(--bg2,#f5f6f7)}
.calc-faq summary{font-weight:600;cursor:pointer}
.calc-faq details>div{margin-top:8px;color:var(--ink2,#4b5358)}
.calc-links{margin:var(--s4,16px) 0}
@media (max-width:600px){
  .calc-form{grid-template-columns:1fr;padding:var(--s3,12px)}
  .calc-driver{grid-template-columns:1fr}
  .calc-total-value{font-size:1.5em}
  .calc td.v{white-space:normal}
}
