/* Страница /utilsbor.html (31.10.2026): мини-калькулятор утильсбора и таблицы по объёму и мощности. Токены и компоненты сайта: .seg, .pill, .btn, .prose, .faq.
   Все правила стоят под корневым классом .util-page (проверяет tests/test_site_build.py): на странице ничего чужого не меняем.
   Без скрипта видны все таблицы (.u-bands без класса is-tabs); на телефоне строка таблицы -- карточка из четырёх сумм, горизонтальной прокрутки нет. */
.util-page [id]{scroll-margin-top:calc(var(--hdr-h) + 16px)}
.util-page .u-hero{padding:calc(var(--hdr-h) + 56px) 0 clamp(32px,5vw,60px);background:radial-gradient(60% 40% at 80% 20%,rgba(255,59,48,.07),transparent 70%)}
.util-page .u-head{max-width:860px}
.util-page .u-head h1{font-size:clamp(2rem,1rem + 3vw,3.4rem)}
.util-page .u-answer{max-width:780px}
.util-page .u-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3.4vw,48px);align-items:start;margin-top:clamp(24px,4vw,44px)}
.util-page .u-form,.util-page .u-res{min-width:0;padding:clamp(18px,3vw,36px);border-radius:28px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));box-shadow:0 60px 120px -60px rgba(0,0,0,.9)}
.util-page .u-form__t{margin:0 0 6px;font-size:clamp(1.15rem,1rem + .6vw,1.4rem);font-weight:700;color:#fff}
.util-page .u-row{margin-top:20px}
.util-page .u-label{display:block;margin-bottom:10px;font-size:14px;color:var(--dim)}
.util-page .u-help{margin:8px 0 0;font-size:13.5px;line-height:1.45;color:var(--mute)}
.util-page .u-err{margin:8px 0 0;font-size:13.5px;line-height:1.4;color:#ff8a80}
.util-page .u-form .seg{margin-top:0;max-width:none}
.util-page .u-form .seg span{height:auto;min-height:44px;padding:8px 10px;text-align:center;line-height:1.25;font-size:14.5px}
.util-page .u-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.util-page .u-in{position:relative}
.util-page .u-in>input{width:100%;min-width:0;height:60px;padding:0 60px 0 18px;border-radius:16px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--text);font-family:inherit;font-size:19px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums;outline:none;transition:border-color .3s,box-shadow .3s,background .3s}
.util-page .u-in>input::placeholder{color:var(--ph);font-weight:500}
.util-page .u-in>input:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,59,48,.16);background:rgba(255,255,255,.06)}
.util-page .u-in>input.is-bad{border-color:#ff6b61;box-shadow:0 0 0 4px rgba(255,59,48,.2)}
.util-page .u-unit{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--mute);font-weight:600;pointer-events:none}
.util-page .u-in--units>input{padding-right:150px}
.util-page .u-units{position:absolute;right:4px;top:4px;bottom:4px;display:flex;gap:3px;padding:3px;border-radius:13px;background:rgba(255,255,255,.05)}
.util-page .u-units label{position:relative;display:flex;cursor:pointer}
.util-page .u-units input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.util-page .u-units span{display:flex;align-items:center;justify-content:center;min-width:46px;height:100%;padding:0 10px;border-radius:10px;font-weight:600;font-size:14px;color:var(--dim);transition:background .3s,color .3s}
.util-page .u-units input:checked+span{background:rgba(255,255,255,.12);color:#fff}
.util-page .u-units input:focus-visible+span{outline:2px solid var(--accent)}
.util-page .u-ex{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.util-page .u-ex .u-help{margin:0}
.util-page .u-ex .pill{min-height:44px;height:auto;cursor:pointer;color:var(--text);background:rgba(255,255,255,.04);font-family:inherit}
.util-page [data-u-cc-wrap].is-off{display:none}

.util-page .u-res{position:sticky;top:calc(var(--hdr-h) + 16px)}
.util-page .u-res__k{margin:0;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.util-page .u-res__total{margin:8px 0 0;font-size:clamp(2.4rem,1.6rem + 3.4vw,3.8rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.util-page .u-res__badge{display:inline-flex;margin:14px 0 0;padding:6px 14px;border-radius:16px;border:1px solid var(--line-2);font-size:14px;font-weight:600;line-height:1.3;color:var(--dim)}
.util-page .u-res__badge.is-lgot{border-color:rgba(80,200,120,.6);background:rgba(80,200,120,.08);color:#8fe3ad}
.util-page .u-res__formula{margin:12px 0 0;font-size:16px;font-variant-numeric:tabular-nums;color:var(--text)}
.util-page .u-res__hint{margin:12px 0 0;font-size:15px;line-height:1.5;color:var(--dim)}
.util-page .u-res__list{margin:14px 0 0;padding:0;list-style:none;font-size:14.5px;line-height:1.5;color:var(--dim)}
.util-page .u-res__list li+li{margin-top:6px}
.util-page .u-res__note{margin:14px 0 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,122,69,.4);background:rgba(255,122,69,.06);font-size:14px;line-height:1.5;color:#ffd2bd}
.util-page .u-res__jump{margin:12px 0 0;font-size:14.5px}
.util-page .u-res__jump a{color:#fff;border-bottom:1px solid var(--accent)}
.util-page .u-res__cta{margin-top:22px}
.util-page .u-res__cta .btn,.util-page .u-cta__btns .btn{height:auto;min-height:52px;padding-top:12px;padding-bottom:12px;white-space:normal;text-align:center;line-height:1.3}
.util-page .u-res__cta .btn{width:100%}

.util-page .u-sec{padding:clamp(36px,5vw,64px) 0;border-top:1px solid var(--line)}
.util-page .u-sec h2{margin:0 0 20px;font-size:clamp(1.6rem,1rem + 1.6vw,2.4rem)}
.util-page .u-src{max-width:820px;font-size:14.5px;line-height:1.55;color:var(--dim);overflow-wrap:anywhere}
.util-page .u-src a{color:#fff;border-bottom:1px solid var(--accent)}
.util-page .u-lead{max-width:820px;margin-top:12px;font-size:16.5px;line-height:1.6;color:#d4d4d8}
.util-page .u-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.util-page .u-tab{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--dim);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.util-page .u-tab:hover{background:rgba(255,255,255,.09);color:#fff}
.util-page .u-tab[aria-pressed="true"]{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}
.util-page .u-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.util-page .u-bands.is-tabs .u-band{display:none}
.util-page .u-bands.is-tabs .u-band.is-on{display:block}
.util-page .u-band{margin-top:30px}
.util-page .u-bands.is-tabs .u-band{margin-top:18px}
.util-page .u-band h3{margin:0 0 12px;font-size:clamp(1.15rem,1rem + .6vw,1.5rem)}
.util-page .u-note{margin:0 0 12px;max-width:820px;font-size:14.5px;line-height:1.5;color:var(--dim)}
.util-page .tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line-2);border-radius:18px}
.util-page .tbl-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.util-page .u-tbl{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.45;font-variant-numeric:tabular-nums}
.util-page .u-tbl th,.util-page .u-tbl td{padding:12px 16px;text-align:left;vertical-align:top}
.util-page .u-tbl th{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line-2)}
.util-page .u-tbl td{border-top:1px solid var(--line)}
.util-page .u-tbl .al-r{text-align:right;white-space:nowrap}
.util-page .u-tbl .u-pw{min-width:15em}
.util-page .u-tbl tr.is-hit td{background:rgba(255,59,48,.14)}
.util-page .u-tag{display:inline-block;margin-left:6px;padding:1px 9px;border-radius:999px;border:1px solid rgba(80,200,120,.55);font-size:12px;font-weight:600;color:#8fe3ad;white-space:nowrap}
.util-page .u-more{max-width:820px;margin-top:24px;font-size:16px;line-height:1.6;color:#d4d4d8}
.util-page .u-cta__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

@media(max-width:900px){
  .util-page .u-grid{grid-template-columns:minmax(0,1fr)}
  .util-page .u-res{position:static}
}
@media(max-width:640px){
  .util-page .u-hero{padding-top:calc(var(--hdr-h) + 20px)}
  .util-page .crumbs{margin-bottom:14px}
  .util-page .u-head .eyebrow{display:none}
  .util-page .u-head h1{font-size:1.75rem}
  .util-page .u-answer{margin-top:12px;font-size:15.5px;line-height:1.5}
  .util-page .u-grid{margin-top:18px}
  .util-page .u-form,.util-page .u-res{padding:16px;border-radius:24px}
  .util-page .u-row{margin-top:16px}
  .util-page .u-label{margin-bottom:8px}
  .util-page .u-form .seg span{padding:6px;font-size:14px}
  .util-page .u-two{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px}
  .util-page .u-tbl thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}
  .util-page .u-tbl,.util-page .u-tbl tbody{display:block}
  .util-page .u-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px;padding:14px 16px;border-top:1px solid var(--line)}
  .util-page .u-tbl tbody tr:first-child{border-top:0}
  .util-page .u-tbl td{display:block;padding:0;border:0}
  .util-page .u-tbl td.u-pw{grid-column:1/-1;min-width:0;font-weight:600;color:#fff}
  .util-page .u-tbl td[data-label]{text-align:left;font-weight:600;color:#fff}
  .util-page .u-tbl td[data-label]::before{content:attr(data-label);display:block;margin-bottom:2px;font-size:11.5px;font-weight:500;color:var(--mute)}
  .util-page .u-tbl tr.is-hit{background:rgba(255,59,48,.14)}
  .util-page .u-tbl tr.is-hit td{background:none}
  .util-page .u-cta__btns .btn{width:100%}
}
