/* Truck-Taxi: формы заказа, калькулятор, заявка водителя (20261004) */
.phead{background:linear-gradient(135deg,#0B1220 0%,#1E3A8A 100%);color:#fff;padding:26px 0 34px}
.phead .crumbs{padding:0 0 12px;color:rgba(255,255,255,.78);font-size:17px}
.phead .crumbs a{color:#fff;text-decoration:none}
.phead h1{color:#fff;margin:6px 0 10px;font-size:clamp(28px,4.4vw,44px)}
.phead .lead{margin:0;max-width:780px;color:rgba(255,255,255,.9);font-size:clamp(16px,1.5vw,18px);line-height:1.6}
.fmain{padding-top:26px;padding-bottom:70px}
.fgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}
.fc{background:var(--card);border:1px solid var(--bd);border-radius:20px;padding:22px clamp(16px,2.5vw,26px);margin:0 0 18px;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.fc h2{font-size:20px;margin:0 0 14px;line-height:1.3}
.fc h3{font-size:17px;margin:20px 0 4px}
.fl{display:block;font-weight:600;font-size:17px;color:var(--tx2);margin:14px 0 6px}
.fl:first-child{margin-top:0}
.fi{width:100%;font:inherit;font-size:17px;line-height:1.4;padding:11px 14px;border:1px solid var(--bd);border-radius:12px;background:#fff;color:var(--tx)}
.fi:focus{outline:2px solid var(--ac);outline-offset:0;border-color:var(--ac)}
.fi.ok{border-color:#16A34A;background:#F0FDF4}
.fi.bad,.fz.bad{border-color:#DC2626;background:#FEF2F2}
textarea.fi{min-height:92px;resize:vertical}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg button{font:inherit;font-weight:600;font-size:17px;padding:10px 16px;border-radius:12px;border:1px solid var(--bd);background:#fff;color:var(--tx);cursor:pointer}
.seg button:hover{border-color:var(--ac)}
.seg button.on{background:var(--ac);border-color:var(--ac);color:#fff}
.vlist{display:grid;gap:8px}
.vlist button{font:inherit;text-align:left;padding:12px 14px;border-radius:12px;border:1px solid var(--bd);background:#fff;color:var(--tx);cursor:pointer;line-height:1.4}
.vlist button b{display:block;font-size:17px}
.vlist button small{color:var(--tx2);font-size:17px}
.vlist button.on{border-color:var(--ac);background:var(--soft);box-shadow:0 0 0 1px var(--ac) inset}
.ad{display:flex;gap:8px;margin:0 0 8px}
.adw{position:relative;flex:1;min-width:0}
.adb{flex:none;width:46px;font:inherit;font-size:22px;font-weight:700;line-height:1;border:1px solid var(--bd);border-radius:12px;background:#fff;color:var(--ac);cursor:pointer}
.adb:hover{border-color:var(--ac)}
.sug{position:absolute;z-index:15;left:0;right:0;top:100%;list-style:none;margin:4px 0 0;padding:4px;background:#fff;border:1px solid var(--bd);border-radius:12px;box-shadow:0 18px 36px -12px rgba(15,23,42,.25)}
.sug li{padding:9px 12px;border-radius:8px;cursor:pointer;font-size:17px;margin:0}
.sug li:hover{background:var(--soft)}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fh2{display:block;color:var(--tx2);font-size:17px;line-height:1.45;margin-top:6px}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:17px;line-height:1.5;margin:14px 0 4px;cursor:pointer}
.chk input{margin-top:3px;width:18px;height:18px;flex:none}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.muted{color:var(--tx2);font-size:17px;margin:0}
.warn,.okbox,.errbox{border-radius:12px;padding:11px 14px;font-size:17px;line-height:1.5;margin:12px 0}
.warn{background:#FEF3C7;border:1px solid #FCD34D}
.okbox{background:#DCFCE7;border:1px solid #86EFAC}
.errbox{background:#FEE2E2;border:1px solid #FCA5A5}
.fsum .fc{margin-bottom:0}
.tot{font-size:36px;font-weight:800;color:var(--ac);line-height:1.1;margin:4px 0 2px}
.qt{width:100%;min-width:0;font-size:17px;margin:12px 0 0}
.qt td{padding:8px 0;border-bottom:1px solid var(--bd);vertical-align:top}
.qt td:last-child{text-align:right;white-space:nowrap;font-weight:600;padding-left:12px}
.qt tr:last-child td{border-bottom:0}
.btn.full{display:block;width:100%;text-align:center;border:0;cursor:pointer;font-family:inherit;margin-top:14px}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}
.note{font-size:17px;line-height:1.5;color:var(--tx2);margin:10px 0 0}
.fz{border:1.5px dashed var(--bd);border-radius:14px;padding:14px;margin:0 0 12px;background:#fff}
.fz strong{display:block;font-size:17px;margin-bottom:2px}
.fz small{color:var(--tx2);font-size:17px}
.fz input[type=file]{display:block;margin-top:8px;max-width:100%;font-size:17px}
.thumbs{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.thumbs figure{margin:0;position:relative;width:84px}
.thumbs img,.thumbs .pdf{display:grid;place-items:center;width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--bd);background:var(--soft);font-weight:700;color:var(--ac)}
.thumbs figcaption{font-size:17px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tx2);margin-top:3px}
.thumbs .rm{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:0;background:#DC2626;color:#fff;font-size:17px;line-height:1;cursor:pointer;padding:0}
.prog{height:8px;background:var(--soft);border-radius:99px;overflow:hidden;margin-top:12px}
.prog i{display:block;height:100%;width:0;background:var(--ac);transition:width .2s}
.dform{max-width:860px}
@media (min-width:901px){.fsum .fc{position:sticky;top:calc(84px + env(safe-area-inset-top,0px))}}
@media (max-width:900px){.fgrid{grid-template-columns:1fr}.fmain{padding-bottom:110px}}
@media (max-width:480px){.g3{grid-template-columns:1fr 1fr}.tot{font-size:30px}}
@media (max-width:1280px){.right.has-auth a[href$="/contacts"]{display:none}}
.right.has-auth{flex-wrap:wrap;justify-content:flex-end}
.hero .cta .btn{margin:0 0 4px}
.hero.hero-sm{min-height:clamp(320px,46vh,440px)}
.hero-sm .hero-in{padding-top:28px;padding-bottom:36px}
#form{scroll-margin-top:12px}
.fmain+.wrap .content{margin-top:0}

/* calc-below: кнопка «Розрахувати вартість» и расчёт — под формой, во всю ширину колонки (20261005) */
.fgrid{grid-template-columns:minmax(0,1fr);max-width:900px;margin-left:auto;margin-right:auto}
.fsum .fc,body.pg-calc .fsum .fc{position:static;top:auto}
.fsum{margin-top:6px}
@media (max-width:900px){.fmain{padding-bottom:70px}}
