/* Accommodate real CMS content and galleries containing more than five photos. */
.vehicle > *, .vehicle__summary > * { min-width: 0; }
.vehicle__specs dt, .vehicle__specs dd { min-width: 0; overflow-wrap: anywhere; }
.vehicle__specs dt { flex: 0 0 42%; }
.vehicle-gallery__thumbs button { flex: 0 0 100px; min-width: 80px; }
.vehicle-copy section { min-width: 0; overflow-wrap: anywhere; }
.vehicle-copy table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 20px 0; }
.vehicle-copy th, .vehicle-copy td { padding: 8px; text-align: left; vertical-align: top; border-bottom: 1px solid #333; overflow-wrap: anywhere; font-size: 14px; }
/* Карточки команды можно остановить в любой точке без прилипания к соседней карточке. */
.team__rail, .team__rail.is-dragging { scroll-snap-type: none; }
.team-card { scroll-snap-align: none; }
/* Короткая анимация затемнения дополняет движение панели меню. */
.menu[open]::backdrop { animation: menu-backdrop-in 190ms ease-out both; }
.menu.menu--closing::backdrop { animation: menu-backdrop-out 160ms ease-in both; }
@keyframes menu-backdrop-in { from { background: rgba(0, 0, 0, 0); } to { background: rgba(0, 0, 0, .45); } }
@keyframes menu-backdrop-out { from { background: rgba(0, 0, 0, .45); } to { background: rgba(0, 0, 0, 0); } }
.menu__contacts { margin-top: 20px; border-top: 1px solid #343437; padding-top: 20px; }
.menu__phone { display: flex; width: 100%; }
.menu__socials { --social-size: 60px; justify-content: center; margin-top: 18px; }
.menu__socials .socials__link--circle img { width: 24px; height: 24px; }
@media (prefers-reduced-motion: reduce) {
  .menu[open]::backdrop, .menu.menu--closing::backdrop { animation: none; }
}
@media (max-width: 600px) {
  .vehicle-gallery__thumbs button { flex-basis: 80px; min-width: 80px; }
  .vehicle-gallery__thumbs img { height: 72px; }
}

/* Ссылки на образцы отчётов заметны в карточке услуги и читаются вместе с логотипом. */
.inspection-report-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #cfaf7c;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.inspection-report-link:hover { color: #f0d8b4; }
.inspection-report-link img {
  width: 18px;
  height: 18px;
  flex: none;
  object-fit: cover;
  border-radius: 3px;
}

/* Каналы компании отделены от ссылок для личного обращения. */
.menu__follow { margin-top: 28px; padding-top: 20px; border-top: 1px solid #343437; }
.follow-socials__title { color: #b9b9bb; font-size: 13px; line-height: 1.3; }
.follow-socials__links { display: flex; align-items: center; gap: 9px; margin-top: 12px; }
.follow-socials__link { display: grid; place-items: center; width: 40px; height: 40px; flex: none; border: 1px solid #e0e0e0; border-radius: 50%; background: #f4f4f4; transition: background-color 150ms ease, transform 150ms ease; }
.follow-socials__link:hover { background: #fff; transform: translateY(-2px); }
.follow-socials__link:focus-visible { outline: 2px solid #c3a06d; outline-offset: 3px; }
.follow-socials__link img { display: block; width: 22px; height: 22px; object-fit: contain; }
.follow-socials__link:first-child img { width: 40px; height: 40px; }
.menu__follow .follow-socials__title { text-align: center; }
.menu__follow .follow-socials__links { justify-content: center; }
.footer__top { flex-wrap: wrap; }
.footer__follow { display: flex; justify-content: flex-end; flex-basis: 100%; }
.footer__follow .follow-socials { display: flex; align-items: center; gap: 15px; }
.footer__follow .follow-socials__links { margin-top: 0; }
@media (max-width: 1100px) {
  .footer__follow { justify-content: center; }
}
@media (max-width: 600px) {
  .footer__follow .follow-socials { flex-direction: column; gap: 8px; }
}

/* Заголовок контактной формы сохраняет одну строку при сужении левой колонки. */
.contact__intro { min-width: 0; }
.contact h2 { white-space: nowrap; }
@media (max-width: 1400px) { .contact h2 { font-size: 26px; } }
@media (max-width: 1300px) { .contact h2 { font-size: 24px; } }
@media (max-width: 1200px) { .contact h2 { font-size: 22px; } }
@media (max-width: 600px) { .contact h2 { font-size: 18px; } }
@media (max-width: 400px) { .contact h2 { font-size: 16px; } }
