/* Подборки и ссылки между страницами. Цвета и шрифты берутся из общей темы. */
.rental-page .header__logo-wrap { min-width: 0; flex-shrink: 1; }
.rental-page .logo { max-width: 100%; }
.rental-collections {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 16px 0;
}
.rental-collections a,
.rental-page__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--m3-outline-variant);
  border-radius: var(--m3-shape-full);
  background: var(--m3-surface-low);
  color: var(--m3-primary);
  font: var(--font-control-small);
  text-decoration: none;
}
:where(.rental-collections a,.rental-page__button):not(.m3-interactive) {
  transition: background-color 160ms var(--m3-motion-press);
}
.rental-page__button--primary {
  --m3-state-color: 255 255 255;
  --m3-ripple-opacity: .06;
  background: var(--m3-primary);
  border-color: var(--m3-primary);
  color: var(--m3-on-primary);
}
.rental-page__breadcrumbs {
  margin: 20px 0 0;
  font: var(--font-secondary);
  color: var(--m3-on-surface-variant);
}
.rental-page__breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
}
.rental-page__breadcrumbs li + li::before { content: "/"; margin-right: 8px; }
.rental-page__breadcrumbs a,
.rental-page__section > p a,
.rental-page__panel a,
.rental-page__contact a { color: var(--m3-primary); text-underline-offset: 3px; }
.rental-page__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(240px, 1fr);
  gap: 32px;
  align-items: center;
}
.rental-page__intro--illustrated {
  grid-template-columns: minmax(0,1fr);
  align-items: start;
}
.rental-page__intro-copy { order: 1; min-width: 0; }
.rental-page__intro-image {
  order: 0;
  min-width: 0;
  height: 240px;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: var(--m3-surface-container);
}
.rental-page__intro-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* Заголовок доступен программам чтения с экрана и не занимает место в макете. */
.rental-page__accessible-title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.rental-page h1 { font: var(--font-page-title); max-width: 850px; text-wrap: balance; }
.rental-page__lead { max-width: 760px; margin-top: 16px; line-height: 1.65; color: var(--m3-on-surface-variant); }
.rental-page__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.rental-page__facts {
  display: grid;
  gap: 16px;
  padding: 24px;
  border-radius: var(--m3-shape-extra-large);
  background: var(--m3-surface-container);
}
.rental-page__facts div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.rental-page__facts dt { color: var(--m3-on-surface-variant); font: var(--font-secondary); }
.rental-page__facts dd { font: var(--font-object-title); text-align: right; }
.rental-page__facts small { display: block; font: var(--font-caption); color: var(--m3-on-surface-variant); }
.rental-page__section { margin: 40px 0; scroll-margin-top: 16px; }
.rental-page__section h2 { margin: 0; font: var(--font-section-title); }
.rental-related h2 { margin: 0 0 16px; font: var(--font-section-title); }
.rental-page__section > p { margin-bottom: 16px; max-width: 900px; color: var(--m3-on-surface-variant); }
.rental-page .catalog__grid { margin-top: 0; }
.rental-page[data-collection="seven"] .catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.rental-page__notice { margin: 0px 0 0; color: var(--m3-on-surface-variant); font: var(--font-secondary); }
.rental-page__section > .rental-page__notice { margin-bottom: 0; }
.rental-page__panels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.rental-page__panel {
  min-width: 0;
  padding: 24px;
  border-radius: var(--m3-shape-extra-large);
  background: var(--m3-surface-container);
}
.rental-page__panel h3 { margin-bottom: 12px; font: var(--font-object-title); }
.rental-page__panel p { margin: 8px 0 0; color: var(--m3-on-surface-variant); }
.rental-page__panel ul { padding-left: 20px; }
.rental-page__panel li + li { margin-top: 8px; }
.rental-page__panel li::marker { color: var(--m3-primary); }
.rental-page__steps { margin: 0; padding: 0; list-style: none; }
.rental-page__table-wrap { overflow-x: auto; border: 1px solid var(--m3-outline-variant); border-radius: 20px; background: var(--m3-surface-low); }
.rental-page__table { width: 100%; border-collapse: collapse; font: var(--font-secondary); }
.rental-page__table th,
.rental-page__table td { padding: 14px 16px; text-align: right; border-bottom: 1px solid var(--m3-outline-variant); white-space: nowrap; }
.rental-page__table th { font-weight: var(--weight-medium); background: var(--m3-surface-container); }
.rental-page__table :is(th,td):first-child { text-align: left; }
.rental-page__table tr:last-child td { border-bottom: 0; }
.rental-page__table a { color: var(--m3-primary); }
.rental-page__car-link {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 4px 12px;
  margin: -4px -12px;
  border-radius: var(--m3-shape-full);
  text-decoration: none;
  transform-origin: left center;
  transition: background-color 160ms var(--m3-motion-press);
}
@media (hover: hover) and (pointer: fine) {
  .rental-page__car-link:not(.m3-interactive):hover { background: rgb(11 87 208 / .08); }
}
.rental-page__car-link:not(.m3-interactive):active { background: rgb(11 87 208 / .12); }
@media (max-width: 767px) {
  .rental-page__car-link { min-height: 44px; }
}
.rental-page__delivery { width: 100%; border-collapse: collapse; font: var(--font-body); }
.rental-page__delivery th,
.rental-page__delivery td { padding: 12px 16px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--m3-outline-variant); }
.rental-page__delivery-interval { display: inline-block; white-space: nowrap; }
.rental-page__delivery td:last-child { text-align: right; white-space: nowrap; }
.rental-page__delivery th { font: var(--font-block-title); background: var(--m3-surface-container); }
.rental-page__delivery tr:last-child td { border-bottom: 0; }
.rental-page__delivery-zone + .rental-page__delivery-zone { margin-top: 24px; }
.rental-page__delivery-zone > h3 { margin: 0 0 16px; font: var(--font-object-title); text-align: center; }
.rental-page__delivery-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.rental-page .faq-section { padding-bottom: 0; }
.rental-page .faq-section .section-title { justify-content: flex-start; text-align: left; padding: 0; margin-bottom: 16px; }
.rental-page__contact { padding: 24px; border-radius: var(--m3-shape-extra-large); background: var(--m3-surface-container); }
.rental-page__contact p + p { margin-top: 8px; }
.rental-related { margin: 48px 0 16px; }
.rental-related__grid { margin-top: 0; }
.related-car--mobile { display: none; }
@media (hover:hover) and (pointer:fine) {
  .rental-collections a:not(.m3-interactive):hover { background: var(--m3-surface-container); }
  .rental-page__button:not(.m3-interactive):hover { background: var(--m3-primary-container); color: var(--m3-on-primary-container); }
}
:is(.rental-collections a,.rental-page__button):not(.m3-interactive):active { background: var(--m3-primary-container); color: var(--m3-on-primary-container); }
@media (max-width: 767px) {
  .rental-page__breadcrumbs { margin: 16px 0 0; }
  .rental-page__intro { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .rental-page__intro--illustrated { gap: 22px; }
  .rental-page__facts { padding: 20px; }
  .rental-page__section { margin-top: 32px; margin-bottom: 32px; }
  .rental-page__panels,.rental-page__delivery-group { grid-template-columns: minmax(0,1fr); }
  .rental-page__panel { padding: 20px; }
  .rental-page__table :is(th,td) { padding: 12px; }
}
/* Фото подачи следует размерам и расположению фото на страницах автомобилей. */
@media (min-width: 681px) {
  .rental-page__intro--illustrated {
    grid-template-columns: minmax(0,1fr) minmax(0,1.3fr);
    gap: 24px 32px;
    align-items: stretch;
  }
  .rental-page__intro-copy { order: 0; }
  .rental-page__intro-image {
    order: 1;
    position: relative;
    height: auto;
    min-height: 300px;
  }
  .rental-page__intro-image img { position: absolute; inset: 0; }
}
@media (max-width: 600px) {
  .related-car--mobile { display: flex; }
  .rental-page__delivery :is(th,td) { padding: 12px; }
}
@media (max-width: 380px) {
  .rental-page .car-card__tags .tag,
  .car-page .rental-related .car-card__tags .tag { font-size: 12px; padding-inline: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.rental-collections a,.rental-page__button) { transition: none; }
}

/* Подача автомобиля: оформление секций и связи в стиле главной страницы. */
.rental-page__delivery-section .rental-page__delivery-zone { margin: 0; }
.rental-page__delivery-content {
  margin: 0 24px;
  padding: 16px 0 24px;
  border-top: 1px solid var(--m3-outline-variant);
}
.rental-page__delivery-section .rental-page__delivery-group { display: block; }
.rental-page__delivery-section .rental-page__table-wrap {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.rental-page__delivery-section .rental-page__table-wrap + .rental-page__table-wrap { margin-top: 24px; }
.rental-page__delivery-section .rental-page__delivery th {
  padding: 0 0 4px;
  border-bottom: 0;
  background: transparent;
}
.rental-page__delivery-section .rental-page__delivery td { padding: 12px 0; }
.rental-page__delivery-section .rental-page__delivery tr:last-child td { padding-bottom: 0; }
.rental-page__delivery-section .rental-page__delivery td:last-child { font-weight: var(--weight-strong); }
@media (max-width: 380px) {
  .rental-page__delivery-content { margin-inline: 16px; }
}
.rental-page[data-collection="delivery"] .rental-page__breadcrumbs { margin-bottom: 16px; }
.rental-page[data-collection="delivery"] .section-title {
  justify-content: center;
  text-align: center;
  padding: 48px;
  margin: 0;
}
.rental-page[data-collection="delivery"] .rental-page__section { margin: 0; }
.rental-page[data-collection="delivery"] .faq-section { padding-bottom: 48px; }
.rental-page[data-collection="delivery"] main p { text-align: justify; }
.rental-page[data-collection="delivery"] .rental-page__lead { margin-top: 0; }
.rental-page[data-collection="delivery"] .rental-page__actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.rental-page[data-collection="delivery"] .rental-page__actions .rental-page__button {
  min-width: 0;
  min-height: 48px;
  padding-inline: 8px;
  text-align: center;
}
.rental-page__help-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-items: stretch;
  gap: 16px;
}
.rental-page[data-collection="delivery"] .rental-page__help-card {
  padding: 16px 24px;
  border-radius: var(--m3-shape-extra-large);
  background: var(--m3-surface-container);
}
.rental-page__help-card .contacts-block { gap: 16px; }
.rental-page__help-card .contacts-label--contact {
  align-self: stretch;
  color: var(--m3-on-surface);
  font: var(--font-object-title);
  text-align: left;
}
.rental-page__help-card :is(.contacts-phone,.contacts-email) { margin-bottom: 0; }
/* Даты используют общие поля быстрого бронирования; места — общие поля шторки. */
.rental-page__quick-booking {
  --sheet-gap: var(--booking-fields-gap);
  --sheet-field: 54px;
  min-width: 0;
}
.rental-page__quick-booking .rental-page__booking-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: 1;
  gap: 16px;
  margin: 0;
}
.rental-page__booking-form > .m3-field,
.rental-page__booking-form .booking-card__fields > .m3-field {
  flex: 0 0 var(--sheet-field);
  height: var(--sheet-field);
}
.rental-page__booking-submit {
  width: 100%;
  min-height: 56px;
  flex-shrink: 0;
  margin: auto 0 0;
  font: var(--font-control);
  cursor: pointer;
}
@media (min-width: 768px) {
  .rental-page__quick-booking { --sheet-field: 56px; }
}
@media (min-width: 1024px) {
  .rental-page__help-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
.rental-page[data-collection="delivery"] .rental-page__help-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
  margin: auto 0 0;
}
.rental-page[data-collection="delivery"] .rental-page__help-actions a {
  min-width: 0;
  min-height: 56px;
  padding: 12px 8px;
  gap: 8px;
}
.rental-page[data-collection="delivery"] .rental-page__help-actions svg { flex: 0 0 20px; }
.rental-page[data-collection="delivery"] .rental-page__help-office {
  color: var(--m3-on-surface-variant);
  font: var(--font-secondary);
}
.rental-page[data-collection="delivery"] .rental-page__help-office a { color: var(--m3-primary); text-underline-offset: 3px; }
@media (max-width: 600px) {
  .rental-page[data-collection="delivery"] .rental-page__help-actions { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 360px) {
  .rental-page[data-collection="delivery"] .rental-page__help-card :is(.contacts-phone,.contacts-email) { font-size: var(--type-title); }
}
@media (min-width: 768px) {
  .rental-page[data-collection="delivery"] .section-title { padding: 48px 0; }
}

/* Мобильные кнопки подачи совпадают с быстрым бронированием. */
@media (max-width: 767px) {
  .rental-page[data-collection="delivery"] :is(.rental-page__button,.rental-page__help-actions a) {
    height: 56px;
    min-height: 56px;
    padding-block: 0;
    font: var(--font-control);
  }
  .rental-page[data-collection="delivery"] .rental-page__help-actions { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 380px) {
  .rental-page[data-collection="delivery"] .rental-page__help-card { padding-inline: 16px; }
}

/* Поля и основные кнопки подачи на ПК используют общий размер 48px. */
@media (min-width: 768px) {
  .rental-page__quick-booking { --sheet-field: 48px; }
  .rental-page[data-collection="delivery"] :is(.rental-page__button,.rental-page__help-actions a) {
    height: 48px;
    min-height: 48px;
    padding-block: 0;
    font: var(--font-control);
  }
  /* Длинная подпись помещается в две строки внутри кнопки 48px. */
  .rental-page[data-collection="delivery"] .rental-page__actions .rental-page__button { line-height: 20px; }
  .rental-page__quick-booking .booking-field:not(.has-value):not(:focus-within) .booking-field__label { font: var(--font-control); }
  .rental-page__quick-booking .booking-field:is(.has-value,:focus-within) .booking-field__label { font: var(--font-field-label); }
}

.rental-page__quick-booking .booking-field__label { left: var(--booking-field-inset); }
.rental-page__quick-booking .booking-field__select { padding-inline: var(--booking-field-inset) 24px; }

.rental-page__quick-booking .booking-field__label { font: var(--font-control-small); }
.rental-page__quick-booking .booking-field:is(.has-value,:focus-within) .booking-field__label { font: var(--font-field-label); }
.rental-page__quick-booking .booking-field__select { font: var(--font-control); }
.rental-page__quick-booking .booking-field:is(.has-value,:focus-within) .booking-field__select { padding-top: 16px; }

/* Full price list linked from the footer documents. */
.rental-price-page main { padding-bottom: 48px; }
.rental-price-page .section-title { max-width: none; padding: 48px; font: var(--font-section-title); }
:is(.rental-price-page,.rental-page[data-collection="delivery"]) .rental-page__table tbody tr:nth-child(even) td {
  background-color: color-mix(in srgb,var(--m3-surface-container) 65%,var(--m3-surface-low));
}
:is(.rental-price-page,.rental-page[data-collection="delivery"]) .rental-page__table tfoot th {
  border-top: 1px solid var(--m3-outline-variant);
  border-bottom: 0;
}

/* Numeric columns are centred; the vehicle column and its labels remain left aligned. */
:is(.rental-price-page,.rental-page[data-collection="delivery"]) .rental-page__table :is(th,td):not(:first-child) { text-align: center; }
:is(.rental-price-page,.rental-page[data-collection="delivery"]) .rental-page__table :is(th,td) { vertical-align: middle; }

.rental-price-page .rental-page__home { margin: 32px 0 48px; }
.rental-price-page .rental-page__home a { color: var(--m3-primary); text-underline-offset: 3px; }

.rental-page__breadcrumbs a { display: inline-flex; align-items: center; min-height: 32px; }
