/* ЦИФРОВОЙ РЕЙС — адаптивное масштабирование (14.09.2026)
   Подключается последним. Сетки на auto-fit, размеры на clamp — без жёстких пикселей. */

/* ============ КОНТЕЙНЕР ============ */
.wrap {
  max-width: clamp(320px, 92vw, 1240px);
  padding-left: clamp(14px, 3vw, 28px);
  padding-right: clamp(14px, 3vw, 28px);
}
@media (min-width: 1800px) { .wrap { max-width: 1440px; } }
@media (min-width: 2400px) { .wrap { max-width: 1640px; } }

html { font-size: 100%; }
body { font-size: clamp(14px, 0.55vw + 12px, 16.5px); }

/* ============ ТИПОГРАФИКА ============ */
.hero h1 { font-size: clamp(26px, 4.4vw, 56px); line-height: 1.06; }
.sec h2, .doc-wrap h1 { font-size: clamp(21px, 2.7vw, 38px); line-height: 1.14; }
.lead { font-size: clamp(15px, 1.1vw, 18px); }
.sec-lead { font-size: clamp(14px, 0.9vw, 17px); }
.fcard h3, .pcard h3, .scard h3, .vcard h3 { font-size: clamp(15px, 1.05vw, 17.5px); }
.prval { font-size: clamp(30px, 3.2vw, 42px); }
.lead-h { font-size: clamp(16px, 1.3vw, 19px); }

/* ============ СЕТКИ НА auto-fit ============ */
.grid3 { grid-template-columns: repeat(auto-fit, minmax(clamp(240px, 27vw, 330px), 1fr)); gap: clamp(12px, 1.4vw, 20px); }
.grid4 { grid-template-columns: repeat(auto-fit, minmax(clamp(210px, 21vw, 270px), 1fr)); gap: clamp(12px, 1.4vw, 20px); }
.grid3.price { grid-template-columns: repeat(auto-fit, minmax(clamp(260px, 29vw, 360px), 1fr)); }
.hero-in { grid-template-columns: minmax(0, 1.08fr) minmax(290px, 0.92fr); gap: clamp(20px, 3vw, 46px); align-items: center; }
.ftr-in { grid-template-columns: repeat(auto-fit, minmax(clamp(170px, 15vw, 240px), 1fr)); gap: clamp(20px, 2.4vw, 34px); }

/* ============ ОТСТУПЫ СЕКЦИЙ ============ */
.sec { padding: clamp(40px, 5.2vw, 84px) 0; }
.hero { padding: clamp(34px, 4.6vw, 78px) 0 clamp(40px, 5vw, 86px); }
.ftr { padding: clamp(36px, 4vw, 56px) 0 20px; }

/* ============ КАРТОЧКИ И КНОПКИ ============ */
.pcard, .fcard, .vcard, .prcard, .scard { padding: clamp(16px, 1.7vw, 26px) clamp(14px, 1.5vw, 24px); }
.hero-card, .cta-card, .lead-card { padding: clamp(16px, 1.7vw, 26px); }
.btn { padding: clamp(9px, 0.9vw, 12px) clamp(14px, 1.5vw, 22px); font-size: clamp(13px, 0.85vw, 14.5px); }
.btn-lg { padding: clamp(12px, 1.2vw, 16px) clamp(18px, 2vw, 30px); font-size: clamp(14px, 1vw, 16px); }
.fic { width: clamp(38px, 3.4vw, 48px); height: clamp(38px, 3.4vw, 48px); }

/* ============ ТАБЛИЦА ТАРИФОВ ============ */
.tbl { min-width: 0; }
.tbl th, .tbl td { padding: clamp(9px, 1vw, 15px) clamp(8px, 1vw, 18px); font-size: clamp(12px, 0.85vw, 14px); }
@media (max-width: 620px) {
  .tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tbl { min-width: 520px; }
}

/* ============ ДОРОГИ И ТРАНСПОРТ ============ */
.road { height: clamp(78px, 9vw, 140px); }
.road-strip { height: clamp(28px, 3.2vw, 46px); }
.veh { bottom: clamp(16px, 1.9vw, 28px); width: clamp(110px, calc(var(--w, 210px) * 0.9), var(--w, 210px)); }
.fleet-chip { padding: clamp(8px, 0.9vw, 13px) clamp(12px, 1.4vw, 20px); font-size: clamp(12px, 0.85vw, 14px); }
.fleet-chip svg { width: clamp(38px, 4vw, 58px); }

/* ============ ШАПКА ============ */
.hdr-in { height: clamp(56px, 5vw, 74px); gap: clamp(10px, 1.4vw, 20px); }
.brand-img { width: clamp(36px, 3.2vw, 46px); height: clamp(36px, 3.2vw, 46px); }
.nav a { padding: 8px clamp(7px, 0.8vw, 13px); font-size: clamp(12.5px, 0.85vw, 14px); }
@media (max-width: 1180px) and (min-width: 1001px) {
  .nav a { padding: 8px 8px; font-size: 12.5px; }
}

/* ============ КОНТАКТЫ И ФОРМА ============ */
.sec.cta .cta-in {
  grid-template-columns: minmax(0, 1fr) clamp(320px, 34vw, 470px) !important;
  gap: clamp(18px, 2.2vw, 32px) !important;
}
.lead-form { gap: clamp(9px, 1vw, 14px); }
.fld input, .fld select, .lead-form textarea { font-size: clamp(13.5px, 0.9vw, 15px); }

/* ============ БРЕЙКПОИНТЫ ============ */
@media (max-width: 1000px) {
  .sec.cta .cta-in { grid-template-columns: 1fr !important; }
  .hero-in { grid-template-columns: 1fr; }
  .hero-card { max-width: 560px; }
}
@media (max-width: 760px) {
  .hero-btns { flex-direction: column; align-items: stretch; }
  .hero-btns .btn { width: 100%; }
  .hero-ticks { flex-direction: column; gap: 6px; }
  .prcard.hot::before { top: 10px; font-size: 9px; padding: 4px 11px 4px 13px; }
  .cc-row { flex-direction: column; align-items: flex-start; gap: 3px; }
  .cc-row b, .cc-row a { text-align: left; }
  .fq-q { font-size: 14.5px; padding: 15px 16px; }
}
@media (max-width: 420px) {
  .brand-txt { font-size: 12px; }
  .hdr-act .btn-acc { padding: 8px 12px; font-size: 12px; }
  .chips li { padding: 8px 14px; font-size: 12.5px; }
  .fleet-strip { gap: 8px; }
  .lead-card { padding: 16px 14px; }
  .ftr-sm { font-size: 11.5px; }
}
@media (max-width: 360px) {
  .wrap { padding-left: 12px; padding-right: 12px; }
  .hero h1 { font-size: 24px; letter-spacing: -0.8px; }
}

/* ============ ГОРИЗОНТАЛЬНЫЙ ТЕЛЕФОН ============ */
@media (max-height: 520px) and (orientation: landscape) {
  .hero { padding: 26px 0 34px; }
  .road { height: 70px; }
  .sec { padding: 32px 0; }
}

/* ============ ПЕЧАТЬ ============ */
@media print {
  .hdr, .road, .fleet-strip, .lead-card, .burger { display: none !important; }
  body { background: #fff; }
  .sec { padding: 14px 0; break-inside: avoid; }
}

/* Первый экран: строго две колонки от 1001px */
@media (min-width: 1001px) {
  .hero-in { grid-template-columns: minmax(0, 1.08fr) minmax(290px, 0.92fr) !important; }
  .hero-card { max-width: none; }
}

/* ============ road-mobile-fix v2: транспорт не обрезается (20.09.2026) ============
   Грузовик вынесен в отдельное правило: раньше clamp резал его до размера легковой.
   Полотно и асфальт подняты, разметка смещена в центр полосы. */
.road .road-strip::before { top: calc(50% - 1.5px) !important; }

@media (max-width: 900px) {
  .road { height: 150px !important; }
  .road .road-strip { height: 40px !important; }
  .road .veh { bottom: 20px !important; width: clamp(120px, 32vw, 190px) !important; }
  .road .veh-truck { width: clamp(180px, 62vw, 300px) !important; }
  .road .veh-bus { width: clamp(160px, 50vw, 250px) !important; }
}
@media (max-width: 620px) {
  .road { height: 140px !important; }
  .road .road-strip { height: 36px !important; }
  .road .veh { bottom: 18px !important; width: clamp(104px, 36vw, 158px) !important; }
  .road .veh-truck { width: clamp(170px, 66vw, 260px) !important; }
  .road .veh-bus { width: clamp(150px, 54vw, 215px) !important; }
}
@media (max-width: 420px) {
  .road { height: 132px !important; }
  .road .road-strip { height: 32px !important; }
  .road .veh { bottom: 15px !important; width: clamp(92px, 40vw, 132px) !important; }
  .road .veh-truck { width: clamp(150px, 70vw, 240px) !important; }
  .road .veh-bus { width: clamp(135px, 58vw, 200px) !important; }
}
@media (max-width: 360px) {
  .road { height: 126px !important; }
  .road .road-strip { height: 30px !important; }
  .road .veh { bottom: 13px !important; width: clamp(84px, 42vw, 116px) !important; }
  .road .veh-truck { width: clamp(140px, 74vw, 220px) !important; }
  .road .veh-bus { width: clamp(125px, 60vw, 185px) !important; }
}

/* запас сверху внутри полотна дороги и аккуратное обрезание по бокам */
.road { overflow-x: clip; overflow-y: visible; }
@supports not (overflow: clip) {
  .road { overflow: hidden; }
}