/* ===== VEHICLE PAGE ===== */
/* Header: always “scrolled” style (no hero on this page) */
.vehicle-page .header {
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px);
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  padding: 6px 0;
}
.vehicle-page .header .header__brand { color: var(--dark); }
.vehicle-page .header .header__city-btn {
  background: var(--gray-100);
  border-color: var(--gray-300);
  color: var(--dark);
}
.vehicle-page .header .header__link { color: var(--dark); }
.vehicle-page .header .header__phone { color: var(--dark); }

.vehicle-page .vehicle-main { padding-top: 100px; padding-bottom: 80px; }
.vehicle-main__inner { max-width: 1200px; box-sizing: border-box; }
.vehicle__title {
  font-size: clamp(26px, 4vw, 36px);
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 32px;
  line-height: 1.25;
}

/* Two-column layout: content + sidebar */
.vehicle__layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 40px;
  align-items: start;
}

.vehicle__content { min-width: 0; }

/* ===== GALLERY ===== */
.vehicle-gallery {
  margin-bottom: 40px;
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,0.06);
}
.vehicle-gallery__main {
  aspect-ratio: 16/10;
  background: var(--gray-100);
  overflow: hidden;
  position: relative;
}
.vehicle-gallery__main-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: opacity 0.18s ease;
}
.vehicle-gallery__main-img.is-changing {
  opacity: 0.72;
}
.vehicle-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  color: #333;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0,0,0,0.12);
  transition: background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  z-index: 2;
}
.vehicle-gallery__nav:hover {
  background: #f5f5f5;
  box-shadow: 0 6px 18px rgba(0,0,0,0.16);
}
.vehicle-gallery__nav--prev {
  left: 14px;
}
.vehicle-gallery__nav--next {
  right: 14px;
}
.vehicle-gallery__nav svg {
  width: 18px;
  height: 18px;
  display: block;
}
.vehicle-gallery__thumbs {
  display: flex;
  gap: 10px;
  padding: 12px 16px;
  overflow-x: auto;
  border-top: 1px solid var(--gray-100);
}
.vehicle-gallery__thumb {
  flex-shrink: 0;
  width: 72px;
  height: 52px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 2px solid transparent;
  padding: 0;
  cursor: pointer;
  background: var(--gray-100);
  transition: border-color var(--transition), box-shadow var(--transition);
}
.vehicle-gallery__thumb:hover { border-color: var(--gray-300); }
.vehicle-gallery__thumb.active { border-color: var(--yellow); box-shadow: 0 0 0 1px var(--yellow); }
.vehicle-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===== EQUIPMENT (comfort features badges) ===== */
.vehicle-equipment {
  margin-bottom: 32px;
}
.vehicle-equipment__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--yellow);
}
.vehicle-equipment__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.vehicle-equipment__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.3;
  color: #444;
  background: #f7f7f7;
  border: 1px solid #e6e6e6;
  border-radius: 999px;
  white-space: nowrap;
}
.vehicle-equipment__badge svg {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  stroke: #444;
}
.vehicle-equipment__badge-img {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  object-fit: contain;
  display: block;
}
.vehicle-equipment__badge svg path,
.vehicle-equipment__badge svg circle,
.vehicle-equipment__badge svg line,
.vehicle-equipment__badge svg polyline {
  stroke: currentColor;
}

/* ===== DESCRIPTION (accordion on mobile) & SPECS ===== */
.vehicle-description { margin-bottom: 32px; }
.vehicle-description__wrap { max-width: 720px; }
.vehicle-description__content {
  max-height: 160px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.5s ease;
}
.vehicle-description__content::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: linear-gradient(transparent, var(--white));
  transition: opacity var(--transition);
  pointer-events: none;
}
.vehicle-description__content.expanded {
  max-height: 2000px;
}
.vehicle-description__content.expanded::after { opacity: 0; }
.vehicle-description__content p {
  font-size: 15px;
  color: var(--gray-700);
  line-height: 1.65;
  margin-bottom: 14px;
}
.vehicle-description__content p:last-child { margin-bottom: 0; }
.vehicle-description__wrap .seo-text__toggle {
  margin: 12px 0 0;
  padding: 0;
}

.vehicle-specs-wrap { margin-bottom: 48px; }

/* Desktop: width = two condition cards + gap (conditions__grid max-width 800px) */
.vehicle-specs {
  background: var(--white);
  border: 1.5px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 24px 28px;
  max-width: 800px;
}
.vehicle-specs__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--yellow);
}
.vehicle-specs__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.vehicle-specs__list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--gray-100);
}
.vehicle-specs__list li:last-child { border-bottom: none; }
.vehicle-specs__label { font-size: 14px; color: var(--gray-700); }
.vehicle-specs__value {
  font-size: 15px;
  font-weight: 600;
  color: var(--dark);
  text-align: right;
  display: block;
  margin-left: 0;
  padding-left: 0;
}
/* «от 2-х суток аренды» — без переноса внутри фразы */
.vehicle-specs__mileage-phrase {
  white-space: nowrap;
}

/* ===== CONDITIONS (reuse .conditions from main style) ===== */
.vehicle-conditions { margin-bottom: 48px; }
.vehicle-conditions .section-title { margin-bottom: 24px; }
.vehicle-conditions .conditions__grid { margin-left: 0; }
/* Prevent label/value overflow in condition cards (1024+ and all breakpoints) */
.vehicle-conditions .conditions__list li {
  min-width: 0;
}
.vehicle-conditions .conditions__label {
  flex-shrink: 1;
  min-width: 0;
  word-break: break-word;
}
.vehicle-conditions .conditions__value {
  min-width: 0;
  word-break: break-word;
}

/* ===== ADVANTAGES (reuse .advantages__secondary) ===== */
.vehicle-advantages {
  margin-top: 90px;
  margin-bottom: 90px;
}
.vehicle-advantages .section-title { margin-bottom: 24px; }

/* ===== SIMILAR CARS ===== */
.vehicle-similar { margin-bottom: 0; }
.vehicle-similar .section-title { margin-bottom: 24px; }
.vehicle-similar__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 20px;
}
.vehicle-similar .car-card {
  max-width: 100%;
  min-width: 0;
}
.vehicle-similar .car-card__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
}
.vehicle-similar .car-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 0;
  min-width: 0;
  container-type: inline-size;
  container-name: card-header;
}
.vehicle-similar .car-card__name {
  flex: 1;
  min-width: 0;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0;
  overflow-wrap: normal;
  word-break: normal;
}
@container card-header (max-width: 200px) {
  .vehicle-similar .car-card__name { font-size: 16px; }
}
@container card-header (max-width: 170px) {
  .vehicle-similar .car-card__name { font-size: 14px; }
}
@container card-header (max-width: 140px) {
  .vehicle-similar .car-card__name { font-size: 12px; }
}
.vehicle-similar .car-card__price {
  flex-shrink: 0;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 8px;
  background: #F5E7B8;
  color: #111;
}
.vehicle-similar .car-card__link-text {
  font-size: 13px;
  font-weight: 600;
  color: var(--yellow-hover);
  transition: color var(--transition);
}
.vehicle-similar .car-card:hover .car-card__link-text { color: var(--dark); }

/* ===== SIDEBAR ===== */
.vehicle-sidebar {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.vehicle-sidebar__block {
  background: var(--white);
  border: 1.5px solid var(--gray-100);
  border-radius: var(--radius-lg);
  padding: 24px;
  transition: box-shadow var(--transition);
}
.vehicle-sidebar__block:hover { box-shadow: var(--shadow-md); }
.vehicle-sidebar__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--dark);
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--yellow);
}

/* Calculator */
.vehicle-calc__form { display: flex; flex-direction: column; gap: 16px; }
.vehicle-calc__select { width: 100%; }

/* Date range field: single clickable input */
.vehicle-calc__date-field { position: relative; }
.vehicle-calc__date-range {
  width: 100%;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 14px;
  font-family: inherit;
  border: 1.5px solid var(--gray-300);
  border-radius: var(--radius-sm);
  background: var(--white);
  color: var(--dark);
  cursor: pointer;
  transition: border-color var(--transition);
  display: flex;
  align-items: center;
  box-sizing: border-box;
}
.vehicle-calc__date-range:hover { border-color: var(--gray-500); }
.vehicle-calc__date-range:focus {
  outline: none;
  border-color: var(--yellow);
}
.vehicle-calc__date-range-text {
  flex: 1;
  color: inherit;
}
.vehicle-calc__date-range-text.placeholder { color: var(--gray-500); }

/* Calendar dropdown */
.vehicle-calc__calendar-wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: 6px;
  background: var(--white);
  border: 1.5px solid var(--gray-300);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  z-index: 50;
  padding: 16px;
  display: none;
  min-width: 280px;
}
.vehicle-calc__calendar-wrap.open {
  display: block;
  z-index: 1100;
}
.vehicle-calc__calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 12px;
}
.vehicle-calc__calendar-header-host {
  flex-shrink: 0;
}
.vehicle-calc__calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.vehicle-calc__calendar-title { font-size: 15px; font-weight: 700; color: var(--dark); }
.vehicle-calc__calendar-prev,
.vehicle-calc__calendar-next {
  width: 32px; height: 32px;
  border: none;
  background: var(--gray-100);
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 18px;
  color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background var(--transition);
}
.vehicle-calc__calendar-prev:hover,
.vehicle-calc__calendar-next:hover { background: var(--gray-300); }
.vehicle-calc__calendar-weekday {
  font-size: 11px;
  font-weight: 600;
  color: var(--gray-500);
  text-align: center;
  padding: 4px 0;
}
.vehicle-calc__calendar-day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  border: none;
  background: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  color: var(--dark);
  transition: background var(--transition), color var(--transition);
}
.vehicle-calc__calendar-day:hover:not(.disabled):not(.other-month) {
  background: var(--gray-100);
}
.vehicle-calc__calendar-day.disabled,
.vehicle-calc__calendar-day.other-month { color: var(--gray-300); cursor: default; }
.vehicle-calc__calendar-day.disabled { cursor: not-allowed; }
.vehicle-calc__calendar-day.selected {
  background: var(--yellow);
  color: var(--black);
  font-weight: 600;
}
.vehicle-calc__calendar-day.in-range {
  background: var(--yellow-light);
  color: var(--dark);
}
.vehicle-calc__calendar-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--gray-100);
}
.vehicle-calc__calendar-days { font-size: 13px; color: var(--gray-700); }
.vehicle-calc__calendar-close {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  font-family: inherit;
  background: var(--gray-100);
  border: 1px solid var(--gray-300);
  border-radius: var(--radius-sm);
  cursor: pointer;
  color: var(--dark);
  transition: background var(--transition);
}
.vehicle-calc__calendar-close:hover { background: var(--gray-300); }
.vehicle-calc__checkbox {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--gray-700);
  cursor: pointer;
}
.vehicle-calc__checkbox input { width: 18px; height: 18px; accent-color: var(--yellow); }
.vehicle-calc__result {
  padding: 14px 16px;
  background: var(--yellow-light);
  border-radius: var(--radius-sm);
  font-size: 15px;
  font-weight: 700;
  color: var(--dark);
  margin-top: 4px;
}
.vehicle-calc__result-inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.vehicle-calc__result-inner .vehicle-calc__result-line { font-weight: 600; }
.vehicle-calc__result-inner .vehicle-calc__result-total { margin-top: 4px; font-weight: 700; }
.vehicle-calc__result-notice {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,0.08);
  font-size: 13px;
  font-weight: 500;
  color: var(--gray-700);
}

/* Extras block: optional services + comment */
.vehicle-calc__extras {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gray-100);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.vehicle-calc__extras-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--dark);
  margin: 0 0 4px;
  padding: 0;
}
.vehicle-calc__extras-checkboxes {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.vehicle-calc__child-ages {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-left: 0;
}
.vehicle-calc__child-ages[hidden] { display: none !important; }
.vehicle-calc__child-ages-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.vehicle-calc__child-age-row label { display: block; font-size: 13px; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.vehicle-calc__child-age-row .vehicle-calc__select { width: 100%; }
.vehicle-calc__child-age-row--with-remove {
  display: grid;
  grid-template-columns: 1fr 36px;
  grid-template-rows: auto auto;
  gap: 6px 8px;
  align-items: center;
}
.vehicle-calc__child-age-row--with-remove > label {
  grid-column: 1 / -1;
  grid-row: 1;
  margin-bottom: 0;
}
.vehicle-calc__child-age-row--with-remove > .vehicle-calc__select {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  min-width: 0;
}
.vehicle-calc__child-age-row--with-remove > .vehicle-calc__child-remove {
  grid-column: 2;
  grid-row: 2;
  align-self: center;
  justify-self: center;
}
.vehicle-calc__child-remove {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  padding: 0;
  margin: 0;
  font-size: 22px;
  line-height: 1;
  font-family: inherit;
  color: var(--gray-600);
  background: var(--gray-50);
  border: 1.5px solid var(--gray-300);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition), color var(--transition);
}
.vehicle-calc__child-remove:hover {
  color: var(--dark);
  border-color: var(--gray-500);
  background: var(--gray-100);
}
.vehicle-calc__child-remove:focus-visible {
  outline: 2px solid var(--yellow);
  outline-offset: 2px;
}
.vehicle-calc__add-child {
  align-self: flex-start;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 500;
  font-family: inherit;
  color: var(--gray-700);
  background: var(--gray-50);
  border: 1.5px solid var(--gray-300);
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition);
}
.vehicle-calc__add-child:hover {
  border-color: var(--yellow);
  background: var(--yellow-light);
}
.vehicle-calc__extras-comment label { display: block; font-size: 13px; font-weight: 600; color: var(--gray-700); margin-bottom: 6px; }
.vehicle-calc__extras-comment .vehicle-booking__message { min-height: 70px; }

/* Calculator + Booking merged */
.vehicle-calc-booking .vehicle-calc__form { margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--gray-100); }
.vehicle-calc-booking .vehicle-booking__form { display: flex; flex-direction: column; gap: 16px; }

/* Consent block: only inside booking calculator form */
.vehicle-calc-booking .form-consent {
  margin-top: 16px;
  margin-bottom: 16px;
  width: 100%;
  min-width: 0;
}
.vehicle-calc-booking .consent-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  margin: 0;
  width: 100%;
  min-width: 0;
}
.vehicle-calc-booking .consent-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--yellow);
  cursor: pointer;
}
.vehicle-calc-booking .consent-label span {
  font-size: 14px;
  line-height: 1.4;
  color: #555;
  flex: 1;
  min-width: 0;
}
.vehicle-calc-booking .consent-label a {
  text-decoration: underline;
  color: inherit;
}
.vehicle-calc-booking .consent-label a:hover { color: var(--dark); }
.vehicle-calc-booking .form-consent__error {
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #c62828;
  line-height: 1.3;
}
.vehicle-calc-booking .form-consent.is-error .consent-label input[type="checkbox"] {
  outline: 2px solid #c62828;
  outline-offset: 2px;
  border-radius: 2px;
}

.vehicle-booking__message {
  width: 100%;
  height: 70px;
  padding: 12px 14px;
  border: 1.5px solid var(--gray-300);
  border-radius: 12px;
  resize: none;
  font-family: inherit;
  font-size: 14px;
  color: var(--dark);
  background: var(--white);
  box-sizing: border-box;
  transition: border-color var(--transition);
}
.vehicle-booking__message::placeholder { color: var(--gray-500); }
.vehicle-booking__message:focus {
  outline: none;
  border-color: var(--yellow);
}

/* Price tabs */
.vehicle-price__tabs {
  display: flex;
  gap: 0;
  margin-bottom: 20px;
  border-bottom: 1px solid var(--gray-200);
}
.vehicle-price__tab {
  flex: 1;
  padding: 10px 12px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--gray-700);
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  transition: color var(--transition), border-color var(--transition);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
.vehicle-price__tab-title { display: block; }
.vehicle-price__tab-dates {
  font-size: 11px;
  font-weight: 500;
  color: var(--gray-500);
}
.vehicle-price__tab:hover { color: var(--dark); }
.vehicle-price__tab:hover .vehicle-price__tab-dates { color: var(--gray-600); }
.vehicle-price__tab.active { color: var(--dark); border-bottom-color: var(--yellow); }
.vehicle-price__tab.active .vehicle-price__tab-dates { color: var(--gray-600); }
.vehicle-price__panel {
  display: none;
}
.vehicle-price__panel.active { display: block; }
.vehicle-price__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.vehicle-price__list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--gray-100);
  font-size: 14px;
  color: var(--gray-700);
}
.vehicle-price__list li:last-child { border-bottom: none; }
.vehicle-price__list li span:last-child { font-weight: 700; color: var(--dark); }

/* Fallback if --gray-200 not defined */
:root { --gray-200: #e5e5e5; }

/* ===== TABLET (769–1023): grid, calculator left | price right in one row ===== */
@media (max-width: 1023px) {
  .vehicle__layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
  .vehicle__content {
    display: contents;
  }
  .vehicle-sidebar {
    display: contents;
  }
  .vehicle-gallery {
    order: 1;
    grid-column: 1 / -1;
    width: 100%;
    max-width: 800px;
    margin-left: 0;
    margin-right: 0;
    min-width: 0;
    box-sizing: border-box;
  }
  .vehicle-equipment { order: 2; grid-column: 1 / -1; }
  .vehicle-description { order: 3; grid-column: 1 / -1; }
  .vehicle-calc-booking { order: 4; grid-column: 1; }
  .vehicle-price { order: 5; grid-column: 2; }
  .vehicle-specs-wrap { order: 6; grid-column: 1 / -1; }
  .vehicle-conditions { order: 7; grid-column: 1 / -1; }
  .vehicle-advantages { order: 8; grid-column: 1 / -1; }
  .vehicle-similar { order: 9; grid-column: 1 / -1; }
  .vehicle-gallery__thumbs { padding: 10px 12px; }
  .vehicle-gallery__thumb { width: 64px; height: 46px; }
  .vehicle-similar__grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
  /* 769–1023: specs same width as conditions block (full row, max 800px) */
  .vehicle-specs-wrap {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .vehicle-specs {
    width: 100%;
    max-width: 800px;
    box-sizing: border-box;
  }
}

/* ===== MOBILE (768px and below): single column, equal card widths, no overflow ===== */
@media (max-width: 768px) {
  .vehicle-page {
    overflow-x: hidden;
  }
  .vehicle-page .vehicle-main,
  .vehicle-page .vehicle-main__inner {
    overflow-x: hidden;
  }
  .vehicle-main__inner {
    padding-left: 16px;
    padding-right: 16px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .vehicle__layout {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    gap: 20px;
    box-sizing: border-box;
  }
  /* Mobile order: gallery → equipment → description → price → calculator → specs → … */
  .vehicle-gallery { order: 1; }
  .vehicle-equipment { order: 2; }
  .vehicle-description { order: 3; }
  .vehicle-price { order: 4; }
  .vehicle-calc-booking { order: 5; }
  .vehicle-specs-wrap { order: 6; }
  .vehicle-conditions { order: 7; }
  .vehicle-advantages { order: 8; }
  .vehicle-similar { order: 9; }
  /* All cards: same width, no overflow. Wrap specs so the block fills the row. */
  .vehicle-specs-wrap {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .vehicle-gallery,
  .vehicle-sidebar__block,
  .vehicle-price,
  .vehicle-calc-booking,
  .vehicle-specs,
  .vehicle-conditions .conditions__card,
  .vehicle-advantages .advantage-card,
  .vehicle-similar .car-card {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .vehicle-gallery {
    margin-left: 0;
    margin-right: 0;
  }
  .vehicle-gallery__nav {
    width: 34px;
    height: 34px;
  }
  .vehicle-gallery__nav--prev { left: 10px; }
  .vehicle-gallery__nav--next { right: 10px; }
  .vehicle-gallery__nav svg {
    width: 16px;
    height: 16px;
  }
  .vehicle-specs { padding: 24px 20px; }
  /* Пробег и Доставка: компактнее значения на узком экране */
  .vehicle-specs__list li:nth-last-child(-n + 2) .vehicle-specs__value {
    font-size: 13px;
    line-height: 1.35;
  }
  .vehicle-equipment__badge { font-size: 13px; }
  .vehicle-specs-wrap { margin-bottom: 0; }
  .vehicle-conditions { margin-bottom: 0; }
  .vehicle-advantages {
    margin-top: 52px;
    margin-bottom: 52px;
  }
  .vehicle-conditions .conditions__grid { width: 100%; max-width: 100%; }
  .vehicle-conditions .conditions__info { max-width: 100%; box-sizing: border-box; }
  /* Условия аренды: label/value no overflow */
  .vehicle-conditions .conditions__list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-width: 0;
  }
  .vehicle-conditions .conditions__label {
    flex-shrink: 1;
    min-width: 0;
    word-break: break-word;
  }
  .vehicle-conditions .conditions__value {
    flex-shrink: 0;
    text-align: right;
    min-width: 0;
    word-break: break-word;
  }
  /* Deposit block: values aligned right */
  .vehicle-conditions .conditions__list--deposit .conditions__value {
    text-align: right;
  }
  .vehicle-conditions .conditions__list--deposit .conditions__value--range {
    align-items: flex-end;
  }
  /* Calculator: inputs/selects don't overflow */
  .vehicle-calc__select,
  .vehicle-calc-booking .filter-select,
  .vehicle-calc__date-range,
  .vehicle-calc-booking input[type="text"],
  .vehicle-calc-booking input[type="tel"],
  .vehicle-calc-booking .modal__field input,
  .vehicle-calc-booking .vehicle-booking__message {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .vehicle-calc__calendar-wrap {
    max-width: 100%;
    box-sizing: border-box;
  }
  .vehicle-conditions .conditions__card { padding: 24px 20px; }

  /* Advantages on vehicle page: compact horizontal rows on mobile */
  .vehicle-advantages .advantages__secondary {
    gap: 12px;
  }
  .vehicle-advantages .advantage-card--secondary {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
  }
  .vehicle-advantages .advantage-card--secondary .advantage-card__icon {
    margin-bottom: 0;
    flex-shrink: 0;
  }
  .vehicle-advantages .advantage-card--secondary .advantage-card__title {
    margin-bottom: 0;
    line-height: 1.3;
  }
}

/* Tablet: slightly tighter section spacing */
@media (max-width: 1024px) {
  .vehicle-advantages {
    margin-top: 70px;
    margin-bottom: 70px;
  }
}

@media (max-width: 767px) {
  .vehicle-page .vehicle-main { padding-top: 88px; padding-bottom: 48px; }
  .vehicle__title { margin-bottom: 24px; }
  .vehicle-conditions .conditions__grid { grid-template-columns: 1fr; }
  .vehicle-advantages .advantages__secondary { grid-template-columns: 1fr; }
  .vehicle-similar__grid { grid-template-columns: 1fr; gap: 12px; }
  .vehicle-sidebar__block { padding: 20px; }
  .vehicle-price__tab { font-size: 13px; padding: 8px 10px; }
  /* Mobile: full-screen calendar overlay, below site header */
  .vehicle-calc__calendar-wrap.mobile-open {
    position: fixed;
    left: 0;
    right: 0;
    top: 72px;
    bottom: 0;
    margin: 0;
    border-radius: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 16px 20px 24px;
    display: block;
    max-width: 100vw;
    box-sizing: border-box;
    z-index: 1100;
  }
  .vehicle-calc__calendar-wrap.mobile-open .vehicle-calc__calendar {
    display: grid;
    max-width: 100%;
    margin-bottom: 12px;
  }
  /* Sticky month nav while scrolling days (header is outside the day grid) */
  .vehicle-calc__calendar-wrap.mobile-open .vehicle-calc__calendar-header-host {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--white);
    margin: 0 -20px 8px;
    padding: 0 20px 8px;
    border-bottom: 1px solid var(--gray-100);
  }
  .vehicle-calc__calendar-wrap.mobile-open .vehicle-calc__calendar-header-host .vehicle-calc__calendar-header {
    margin-bottom: 0;
    padding: 4px 0 0;
  }
  .vehicle-calc__calendar-wrap.mobile-open .vehicle-calc__calendar-prev,
  .vehicle-calc__calendar-wrap.mobile-open .vehicle-calc__calendar-next {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    font-size: 22px;
  }
  .vehicle-calc__calendar-wrap.mobile-open .vehicle-calc__calendar-day {
    min-height: 44px;
    aspect-ratio: auto;
  }

  /* Consent in calculator: mobile – no overflow, checkbox left, text wraps */
  .vehicle-calc-booking .form-consent { margin-top: 14px; margin-bottom: 14px; }
  .vehicle-calc-booking .consent-label span { font-size: 13px; }
}
