/* Калькуляторы /kalkulyatory: карточка расчёта и экраны страницы. Типографика, FAQ и кнопки —
   из site.css и usluga.css (страница лежит в .usluga), здесь только своё. */
.kalk .kalk-golova{padding:48px 0 40px;max-width:920px}
.kalk .kalk-golova h1{font-size:clamp(40px,5.4vw,72px);line-height:1.04;letter-spacing:-.05em;margin-bottom:24px}
.kalk .kalk-golova .u-hero-lead{max-width:var(--kolonka);margin:0}

.kalk-karta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid var(--ink);background:var(--tone);scroll-margin-top:16px}
.kalk-forma{padding:40px;display:grid;gap:24px;align-content:start}
.kalk-rezhimy{border:0;padding:0;margin:0;min-width:0}
.kalk-rezhimy legend{font:600 14px/20px var(--sans);color:var(--muted);margin-bottom:12px;padding:0}
.kalk-chips{display:flex;flex-wrap:wrap;gap:8px}
.kalk-chip{position:relative;cursor:pointer;max-width:100%}
.kalk-chip input{position:absolute;opacity:0;width:1px;height:1px}
.kalk-chip span{display:block;min-height:44px;border:1.5px solid var(--ink);padding:10px 14px;font:600 15px/22px var(--sans);color:var(--ink);background:var(--paper)}
.kalk-chip:hover span{border-color:var(--bronze)}
.kalk-chip input:checked+span{background:var(--green);border-color:var(--green);color:var(--paper)}
.kalk-chip input:focus-visible+span{outline:2px solid var(--bronze);outline-offset:3px}
.kalk-pole label{display:block;font:600 16px/24px var(--sans);margin-bottom:8px}
.kalk-pole small{font-weight:400;color:var(--muted);font-size:13px}
.kalk-vvod{display:flex;align-items:center;border-bottom:2px solid var(--ink);background:var(--paper)}
.kalk-vvod:focus-within{outline:2px solid var(--bronze);outline-offset:2px}
.kalk-vvod input{flex:1;min-width:0;border:0;border-radius:0;background:transparent;padding:14px 16px;font:500 28px/1.2 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}
.kalk-vvod input:focus{outline:none}
.kalk-vvod input[aria-invalid="true"]{color:#9b2c1f}
.kalk-ed{padding:0 16px;font:500 20px/1 var(--sans);color:var(--muted)}
.kalk-podskazka{font-size:14px;line-height:21px;color:var(--muted);margin:8px 0 0}
.kalk-oshibka{margin:0;padding:12px 16px;border-left:3px solid #9b2c1f;background:#f7e8e3;font-size:15px;line-height:22px}

.kalk-otvet{background:var(--green);color:var(--paper);padding:40px;display:flex;flex-direction:column;gap:20px;min-width:0}
.kalk-otvet-zag{font:500 11px/1.5 var(--sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin:0}
.kalk-chisla{margin:0}
.kalk-chislo{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid rgba(245,241,232,.25)}
.kalk-chislo dt{font-size:15px;line-height:22px;color:rgba(245,241,232,.86)}
.kalk-chislo dd{margin:0;font:500 30px/1.15 var(--serif);white-space:nowrap;color:var(--paper);font-variant-numeric:tabular-nums}
.kalk-rasshifrovka p{margin:0 0 10px;font-size:16px;line-height:25px;color:var(--paper)}
.kalk-posle{font-size:14px;line-height:21px;color:var(--gold);margin:0}
.kalk-deystviya{margin:auto 0 0;font-size:14px}
.kalk-ssylka{background:none;border:0;border-bottom:1px solid var(--gold);color:var(--paper);padding:8px 0;font:inherit;cursor:pointer}
.kalk-ssylka:hover{color:var(--gold)}
.kalk-ssylka-status{color:var(--gold);margin-left:12px}
/* Без JS ответ уже стоит на странице, а кнопке «скопировать» не на что опереться. */
.kalk-karta:not(.kalk-zhivoy) .kalk-deystviya{display:none}
.kalk-net-otveta .kalk-chisla,.kalk-net-otveta .kalk-rasshifrovka{opacity:.35}

.kalk .kalk-ekran{padding-top:96px}
.kalk .kalk-ekran h2{font-size:clamp(32px,3.6vw,48px);line-height:1.12;letter-spacing:-.03em;margin-bottom:32px;max-width:920px}
.kalk-formuly{margin:0 0 32px;border-top:1px solid var(--ink)}
.kalk-formuly div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:32px;padding:20px 0;border-bottom:1px solid var(--line)}
.kalk-formuly dt{font:600 17px/26px var(--sans)}
.kalk-formuly dd{margin:0;font:22px/1.4 var(--serif);color:var(--green)}
.kalk-primery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.kalk-primer{border-top:1px solid var(--ink);padding-top:24px;display:flex;flex-direction:column}
.kalk-primer-n{font:500 48px/1 var(--serif);color:var(--bronze);margin:0 0 16px}
.kalk-primer h3{font-size:26px;line-height:1.25;margin-bottom:16px}
.kalk-primer p{font-size:16px;line-height:26px;margin:0 0 12px}
.kalk-primer .kalk-v-raschet{margin-top:auto;align-self:flex-start}
.kalk-tablica-okno{overflow-x:auto;max-width:640px}
.kalk-tablica{border-collapse:collapse;width:100%;font-size:17px}
.kalk-tablica th,.kalk-tablica td{padding:12px 16px;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.kalk-tablica thead th{font:600 14px/20px var(--sans);color:var(--muted);border-bottom:1px solid var(--ink)}
.kalk-tablica tbody th{font-weight:600}
.kalk-tablica th:first-child,.kalk-tablica td:first-child{text-align:left;padding-left:0}
.kalk-usluga{background:var(--tone);padding:56px;border-left:4px solid var(--bronze)}
.kalk .kalk-usluga h2{margin-bottom:24px}
.kalk-usluga .button{margin-top:16px}

.kalk-spisok{list-style:none;padding:0;margin:0;border-top:1px solid var(--ink)}
.kalk-spisok a{display:block;padding:32px 0;border-bottom:1px solid var(--line)}
.kalk-spisok a:hover h2{color:var(--bronze)}
.kalk-spisok h2{font-size:clamp(28px,3vw,36px);line-height:1.2}
.kalk-spisok p{color:var(--muted);margin:8px 0 0;max-width:var(--kolonka)}

@media(max-width:960px){.kalk-karta{grid-template-columns:1fr}.kalk-primery{grid-template-columns:1fr;gap:40px}}
@media(max-width:700px){
.kalk .kalk-golova{padding:24px 0 28px}
.kalk-forma,.kalk-otvet{padding:24px 16px}
.kalk-vvod input{font-size:24px;padding:12px}
.kalk-chislo dd{font-size:24px}
.kalk-formuly div{grid-template-columns:1fr;gap:6px}
.kalk-formuly dd{font-size:19px}
.kalk-usluga{padding:32px 20px}
.kalk .kalk-ekran{padding-top:64px}
}
