/* Truck-Taxi: оформление страниц калькулятора (/calculator, /ru/calculator), 20261004.
   Подключается только на этих двух страницах; все правила под body.pg-calc, остальной сайт не затрагивается.
   Единый размер элементов управления: --h (кнопки, поля, переключатели одной высоты). */
body.pg-calc{--h:48px;--r:12px}

/* ---------- кнопки: один формат на всей странице ---------- */
body.pg-calc .btn,
body.pg-calc .seg button,
body.pg-calc .adb{
  box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--h);padding:0 18px;border-radius:var(--r);
  font:inherit;font-size:17px;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;
  border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s,color .2s;
}
body.pg-calc .btn{
  background:linear-gradient(180deg,#3B82F6,#2563EB);border-color:#2563EB;color:#fff;
  box-shadow:0 2px 8px -3px rgba(37,99,235,.55);white-space:nowrap;margin:0;
}
body.pg-calc .btn:hover{transform:none;color:#fff;box-shadow:0 8px 16px -8px rgba(37,99,235,.65);filter:brightness(1.05)}
body.pg-calc .btn.ghost{background:#fff;color:#1D4ED8;border-color:rgba(37,99,235,.38);box-shadow:none}
body.pg-calc .btn.ghost:hover{background:var(--soft);color:#1D4ED8;box-shadow:none;filter:none}
body.pg-calc .btn.sm{padding:0 18px;font-size:17px}
body.pg-calc .btn.full{display:flex;width:100%;margin-top:14px}
body.pg-calc .btn:focus-visible,
body.pg-calc .seg button:focus-visible,
body.pg-calc .adb:focus-visible,
body.pg-calc .vlist button:focus-visible,
body.pg-calc .fi:focus-visible,
body.pg-calc .lang:focus-visible{outline:3px solid rgba(37,99,235,.45);outline-offset:2px}
body.pg-calc .btn[disabled]{opacity:.6;cursor:wait;filter:none}

/* ---------- шапка: одна строка на широких экранах, кнопки одной ширины ---------- */
body.pg-calc .top .nav{gap:14px}
body.pg-calc .top nav>a,
body.pg-calc .top .dd>button{display:inline-flex;align-items:center;min-height:var(--h);padding:0 12px;font-size:17px}
body.pg-calc .right.has-auth{display:grid;grid-auto-flow:column;grid-template-columns:auto repeat(4,1fr);grid-auto-columns:1fr;gap:8px;align-items:stretch;flex:none;flex-wrap:nowrap}
body.pg-calc .right.has-auth a[href$="/contacts"]{display:none}
body.pg-calc .right.has-auth .lang{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:var(--h);padding:0 14px;border-radius:var(--r);font-size:17px;font-weight:700}
body.pg-calc .right.has-auth .btn{width:100%;padding:0 16px}

@media (min-width:1360px){
  body.pg-calc .top .nav.wrap{max-width:1360px}
}
/* средние экраны: логотип и кнопки в первой строке, меню — во второй */
@media (max-width:1359px){
  body.pg-calc .top .nav{flex-wrap:wrap;justify-content:space-between;row-gap:2px;padding-top:10px;min-height:0}
  body.pg-calc .top nav{order:3;width:100%;flex:none;justify-content:flex-start;padding-bottom:8px}
  body.pg-calc .dd{position:static}
  body.pg-calc .menu{left:20px;right:auto;top:100%;max-width:calc(100vw - 40px)}
  body.pg-calc{--hh:128px}
  html:has(body.pg-calc){scroll-padding-top:136px}
}
@media (min-width:1360px){body.pg-calc{--hh:84px}}
/* телефоны: сетка 2×2, все кнопки одной ширины */
@media (max-width:700px){
  body.pg-calc .top .nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center;padding-top:10px;padding-bottom:10px}
  body.pg-calc .top .logo{order:1;justify-self:start}
  body.pg-calc .right.has-auth{display:contents}
  body.pg-calc .right.has-auth .lang{order:2;justify-self:end;width:auto;min-width:var(--h)}
  body.pg-calc .right.has-auth a[href$="/order"],
  body.pg-calc .right.has-auth a[href$="/driver"],
  body.pg-calc .right.has-auth a[href$="/auth"]{order:3}
  body.pg-calc .top nav{order:9;grid-column:1/-1;padding-bottom:0;overflow-x:auto}
  body.pg-calc .right.has-auth .btn{padding:0 10px;font-size:17px}
  body.pg-calc{--hh:236px}
  html:has(body.pg-calc){scroll-padding-top:16px}
}

/* ---------- первый экран ---------- */
body.pg-calc .hero .cta{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:12px}
body.pg-calc .hero .cta .btn{width:100%;margin:0}
@media (max-width:560px){body.pg-calc .hero .cta{grid-template-columns:1fr}}

/* ---------- форма калькулятора ---------- */
body.pg-calc .fmain{padding-top:28px}
body.pg-calc .fc{border-radius:18px}
body.pg-calc .fc h2{font-size:19px;margin:0 0 14px}
body.pg-calc .fi:not(textarea){height:var(--h);padding:0 14px}
body.pg-calc select.fi{padding-right:34px}
body.pg-calc .seg{display:grid;gap:8px}
body.pg-calc #f-client,body.pg-calc #f-ld{grid-template-columns:repeat(2,minmax(0,1fr))}
body.pg-calc #f-cap{grid-template-columns:repeat(5,minmax(0,1fr))}
body.pg-calc #f-pack{grid-template-columns:repeat(3,minmax(0,1fr))}
body.pg-calc .seg button{width:100%;padding:6px 10px;background:#fff;color:var(--tx);border-color:var(--bd);font-weight:600}
body.pg-calc .seg button:hover{border-color:var(--ac)}
body.pg-calc .seg button.on{background:var(--ac);border-color:var(--ac);color:#fff;font-weight:700}
@media (max-width:560px){
  body.pg-calc #f-cap{grid-template-columns:repeat(3,minmax(0,1fr))}
  body.pg-calc #f-pack{grid-template-columns:1fr}
}
body.pg-calc .vlist{grid-template-columns:1fr;gap:8px}
body.pg-calc .vlist button{min-height:64px;padding:10px 14px;border-radius:var(--r)}
body.pg-calc .vlist button.on{border-color:var(--ac);background:var(--soft);box-shadow:0 0 0 1px var(--ac) inset}
body.pg-calc .ad{align-items:flex-start}
body.pg-calc .adb{flex:none;width:var(--h);height:var(--h);padding:0;font-size:22px;background:#fff;color:var(--ac);border-color:var(--bd)}
body.pg-calc .adb:hover{border-color:var(--ac);background:var(--soft)}
body.pg-calc .chk input{accent-color:var(--ac)}
body.pg-calc .fsum .fc{margin-bottom:0}
@media (min-width:901px){body.pg-calc .fsum .fc{top:calc(var(--hh,84px) + 12px)}}
body.pg-calc .tot{font-size:38px}
body.pg-calc .qt td{font-size:17px}

/* ---------- SEO-блок под калькулятором ---------- */
body.pg-calc .content .facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;list-style:none;padding:0;margin:1.4em 0 1.8em;max-width:none}
body.pg-calc .content .facts li{margin:0;padding:14px 16px;border:1px solid var(--bd);border-radius:14px;background:var(--bg);font-size:17px;line-height:1.45}
body.pg-calc .content .facts b{display:block;font-size:20px;color:var(--ac);margin-bottom:2px}
body.pg-calc .content table{min-width:0}
body.pg-calc .content .tw table{min-width:560px}
body.pg-calc .content .tw td:not(:first-child),body.pg-calc .content .tw th:not(:first-child){white-space:nowrap}
body.pg-calc .content .ex{margin:1em 0 1.6em;padding:16px 20px;border:1px solid var(--bd);border-left:4px solid var(--ac);border-radius:14px;background:var(--bg)}
body.pg-calc .content .ex h3{margin:0 0 6px;font-size:18px}
body.pg-calc .content .ex p{margin:0 0 .5em}
body.pg-calc .content .ex p:last-child{margin:0}
body.pg-calc .content .cta-row{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:12px;margin:1.6em 0 0;max-width:none}
body.pg-calc .content .cta-row .btn{width:100%}
body.pg-calc .content .faq{max-width:820px}
body.pg-calc .content .faq summary{min-height:var(--h);display:flex;align-items:center}
@media (max-width:900px){body.pg-calc .content .facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){body.pg-calc .content .facts,body.pg-calc .content .cta-row{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){body.pg-calc *{transition:none!important;scroll-behavior:auto!important}}
