/* Калькулятор растаможки «по параметрам» (/kalkulyator-rastamozhki.html) — токены и компоненты сайта: .seg, .field, .pill, .btn.
   На той же странице живёт каталог (catalog.css) с такими же именами .calc-form, .calc-in, .calc-row, .calc-label …: чтобы стили не
   перетекали туда и обратно, все правила калькулятора стоят под .pcalc (первая секция страницы). Секции ниже (.calc-cat, .calc-doc,
   .calc-how, .calc-todo) имён каталога не используют. Новое правило — под .pcalc (проверяет tests/test_site_build.py). */
.pcalc{padding:calc(var(--hdr-h) + 56px) 0 clamp(36px,5vw,64px);background:radial-gradient(60% 40% at 80% 20%,rgba(255,59,48,.07),transparent 70%)}
.pcalc .calc-head{max-width:820px}
.pcalc .calc-head h1{font-size:clamp(2rem,1rem + 3vw,3.6rem)}
.pcalc .calc-answer{max-width:760px}
.pcalc .calc-head .sec-sub a{color:#fff;border-bottom:1px solid var(--accent)}
.pcalc .calc-badge{display:inline-flex;margin-top:18px;padding:8px 14px;border-radius:999px;border:1px dashed rgba(255,122,69,.55);color:#ffb08f;font-size:13.5px;font-weight:600}
.pcalc .calc-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(20px,3.4vw,48px);align-items:start;margin-top:clamp(28px,4vw,52px)}
.pcalc .calc-form{margin-top:0;padding:clamp(20px,3vw,40px);border-radius:32px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line-2);
  box-shadow:0 60px 120px -60px rgba(0,0,0,.9)}
.pcalc .calc-row+.calc-row{margin-top:26px}
.pcalc .calc-label{display:block;margin-bottom:10px;font-size:14px;color:var(--dim)}
.pcalc .calc-form .seg{margin-top:0;max-width:none}
.pcalc .seg--4 span{font-size:14.5px}
.pcalc .calc-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.pcalc .calc-pricehead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:10px}
.pcalc .calc-pricehead .calc-label{margin:0}
.pcalc .calc-cur{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:rgba(255,255,255,.05)}
.pcalc .calc-cur label{position:relative;cursor:pointer}
.pcalc .calc-cur input{position:absolute;opacity:0;width:1px;height:1px}
.pcalc .calc-cur span{display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:10px;font-weight:600;font-size:14px;color:var(--dim);white-space:nowrap;transition:background .3s,color .3s}
.pcalc .calc-cur input:checked+span{background:rgba(255,255,255,.12);color:#fff}
.pcalc .calc-cur input:focus-visible+span{outline:2px solid var(--accent)}
.pcalc .calc-in{position:relative}
.pcalc .calc-in input,.pcalc .calc-in select{width:100%;min-width:0;height:58px;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}
.pcalc .calc-in input::placeholder{color:var(--ph);font-weight:500}
.pcalc .calc-in input:focus,.pcalc .calc-in select:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,59,48,.16);background:rgba(255,255,255,.06)}
.pcalc .calc-in input.is-bad,.pcalc .calc-in select.is-bad{border-color:#ff6b61;box-shadow:0 0 0 4px rgba(255,59,48,.2)}
.pcalc .calc-in input:disabled{opacity:.35}
.pcalc .calc-unit{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--mute);font-weight:600;pointer-events:none}
.pcalc .calc-in--select select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer}
.pcalc .calc-in--select::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:2px solid var(--dim);border-bottom:2px solid var(--dim);transform:rotate(45deg);pointer-events:none}
.pcalc .calc-in select option{background:#16161c;color:var(--text)}
.pcalc .calc-in--units input{padding-right:150px}
.pcalc .calc-units{position:absolute;right:6px;top:6px;bottom:6px;display:flex;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.05)}
.pcalc .calc-units label{position:relative;cursor:pointer}
.pcalc .calc-units input{position:absolute;opacity:0;width:1px;height:1px}
.pcalc .calc-units span{display:flex;align-items:center;height:100%;padding:0 12px;border-radius:9px;font-weight:600;font-size:14px;color:var(--dim);transition:background .3s,color .3s}
.pcalc .calc-units input:checked+span{background:rgba(255,255,255,.12);color:#fff}
.pcalc .calc-units input:focus-visible+span{outline:2px solid var(--accent)}
.pcalc [data-cc-wrap].is-off{opacity:.45}
.pcalc .calc-help{margin-top:8px;font-size:13.5px;line-height:1.45;color:var(--mute)}
.pcalc .calc-err{margin-top:8px;font-size:13.5px;color:#ff8a80}
.pcalc .calc-ex{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pcalc .calc-ex .calc-help{margin:0 4px 0 0}
.pcalc .calc-ex .pill,.pcalc .calc-check .pill{background:transparent;color:var(--text);font-family:inherit;cursor:pointer}
.pcalc .calc-ex .pill{height:36px;font-size:14px;padding:0 14px}
.pcalc .calc-inline{display:none}
.pcalc .calc-inline b{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.pcalc .calc-inline i{font-style:normal;font-size:13px;color:var(--dim)}

.pcalc .calc-res{position:sticky;top:calc(var(--hdr-h) + 20px);padding:clamp(22px,3vw,36px);border-radius:32px;border:1px solid rgba(255,59,48,.3);
  background:radial-gradient(90% 60% at 100% 0%,rgba(255,59,48,.16),transparent 60%),var(--bg-2);box-shadow:0 60px 120px -60px rgba(0,0,0,.9)}
.pcalc .calc-res__k{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.pcalc .calc-res__total{margin-top:8px;font-size:clamp(34px,1.6vw + 26px,52px);font-weight:700;letter-spacing:-.035em;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap}
.pcalc .calc-res.is-ready .calc-res__total{background:linear-gradient(180deg,#fff,#ffd0c9);-webkit-background-clip:text;background-clip:text;color:transparent}
.pcalc .calc-res__hint{margin-top:10px;color:var(--dim);font-size:15px}
.pcalc .calc-lines{margin-top:22px;border-top:1px solid var(--line)}
.pcalc .calc-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.pcalc .calc-line span{color:#e4e4e7}
.pcalc .calc-line small{display:block;margin-top:3px;color:var(--mute);font-size:12.5px;line-height:1.4}
.pcalc .calc-line b{flex:none;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
.pcalc .calc-notes{margin:18px 0 0;padding:0;list-style:none;display:grid;gap:9px;font-size:13.5px;line-height:1.5;color:var(--dim)}
.pcalc .calc-notes li{position:relative;padding-left:16px}
.pcalc .calc-notes li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.pcalc .calc-rates{margin-top:16px;font-size:12.5px;line-height:1.5;color:var(--mute)}
.pcalc .calc-res.is-manual .calc-res__total{font-size:clamp(24px,1.2vw + 18px,34px);white-space:normal;color:#ffb08f}
.pcalc .calc-cta{display:grid;gap:10px;margin-top:22px}
.pcalc .calc-cta .btn{width:100%}
.pcalc .calc-lead{display:grid;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.pcalc .calc-lead .consent{margin-top:0}
.pcalc .calc-lead__t{font-weight:600}
.pcalc .calc-done{margin-top:20px;padding:16px 18px;border-radius:18px;background:rgba(52,199,89,.08);border:1px solid rgba(52,199,89,.3);font-size:15px}
.pcalc .calc-done a{color:#fff;border-bottom:1px solid var(--accent)}
.pcalc .calc-check{margin-top:20px;padding-top:16px;border-top:1px dashed var(--line-2);font-size:14px}
.pcalc .calc-check summary{cursor:pointer;color:#ffb08f;font-weight:600}
.pcalc .calc-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.pcalc .calc-three .field input{height:46px;padding:0 12px;font-size:15px}
.pcalc .calc-check__row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pcalc .calc-check__row .pill{height:34px;font-size:13.5px;padding:0 12px}

/* каталог на странице: свой раздел, раскладку и стили блока даёт catalog.css */
.calc-cat{padding:clamp(40px,6vw,72px) 0 clamp(20px,3vw,36px);border-top:1px solid var(--line)}
.calc-cat h2{max-width:820px;margin:0;font-size:clamp(1.6rem,1rem + 1.6vw,2.4rem)}
/* ставки и «из чего складывается» — заготовки редактора (<!--calc:rates-->, <!--calc:howto-->) */
.calc-doc{padding:clamp(36px,5vw,64px) 0;border-top:1px solid var(--line)}
.calc-doc h2{margin:0 0 20px;font-size:clamp(1.6rem,1rem + 1.6vw,2.4rem)}
.calc-todo{margin:0 0 20px;color:var(--dim);font-size:15px;line-height:1.5}
.calc-how__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.calc-how__grid>div{padding:20px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.calc-how__grid b{display:block;margin-bottom:8px;font-size:16px}
.calc-how__grid p{margin:0;font-size:14px;line-height:1.55;color:var(--dim)}
.calc-how .calc-help{margin-top:18px;font-size:14px;line-height:1.45;color:var(--mute)}
.calc-how a{color:#fff;border-bottom:1px solid var(--accent)}
.calc-how .prose{margin-bottom:32px}
@media(max-width:980px){.calc-how__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.calc-how__grid{grid-template-columns:1fr}}

@media(max-width:980px){
  .pcalc .calc-grid{grid-template-columns:1fr}
  .pcalc .calc-res{position:relative;top:auto}
  .pcalc .calc-inline:not([hidden]){display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;margin-top:24px;padding:16px 18px;
    border-radius:18px;border:1px solid rgba(255,59,48,.35);background:rgba(255,59,48,.08)}
  .pcalc .calc-inline span{font-size:13px;color:var(--dim)}
  .pcalc .calc-inline b{grid-row:span 2;grid-column:2}
}
@media(max-width:600px){
  .pcalc{padding-top:calc(var(--hdr-h) + 16px)}
  .pcalc .crumbs{margin-bottom:12px}
  .pcalc .calc-head .eyebrow{display:none}
  .pcalc .calc-head h1{font-size:30px}
  .pcalc .calc-answer{margin-top:10px;font-size:15px;line-height:1.45}
  .pcalc .calc-grid{margin-top:20px}
  .pcalc .calc-form,.pcalc .calc-res{border-radius:24px}
  .pcalc .calc-two{grid-template-columns:1fr}
  .pcalc .calc-three{grid-template-columns:1fr}
  .pcalc .calc-line{font-size:15px}
  .pcalc .calc-cur span{min-height:44px}
  .pcalc .calc-ex .pill{height:44px}
  .pcalc .calc-units{top:3px;bottom:3px;padding:3px}
}
