/* Дилеры, страница дилера, контакты. */

.dealers, .dealer-page, .contacts { display: contents; }
.dealers__tools { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; }
.dealers__chips { min-width: 0; }
.dealers__city { padding: 22px 28px 10px; }
.dealers__city-title { display: flex; align-items: baseline; gap: 10px; margin-bottom: 6px; font: 500 22px/28px var(--font-primary); }
.dealers__city-title span { font: 400 15px/1 var(--font-primary); color: var(--text-secondary); }

.dealer-row { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.2fr) auto minmax(0, 1.1fr); gap: var(--space-4); align-items: center; padding: var(--space-4) 0; border-top: 1px solid var(--border-subtle); }
.dealer-row__name { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.dealer-row__title { font: 500 16px/22px var(--font-primary); color: var(--text-primary); overflow-wrap: anywhere; transition: color var(--dur-fast) var(--ease); }
.dealer-row__title:hover { color: var(--brand-primary); }
.dealer-row__badges { display: flex; flex-wrap: wrap; gap: 6px; }
.dealer-row__badge, .dealer-page__badge, .contacts__badge { font: var(--font-caption); letter-spacing: var(--tracking-caption); text-transform: uppercase; color: var(--text-secondary); }
.dealer-row__address { display: flex; flex-direction: column; gap: 2px; min-width: 0; font: 400 15px/22px var(--font-primary); overflow-wrap: anywhere; }
.dealer-row__address small { font-size: 13px; line-height: 18px; color: var(--text-secondary); }
.dealer-row__phone { font: 400 15px/22px var(--font-primary); color: var(--text-primary); white-space: nowrap; }
.dealer-row__phone:hover { color: var(--brand-primary); }
.dealer-row__cars { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.dealer-row__stock { display: flex; align-items: center; gap: 4px; font: 400 14px/20px var(--font-primary); color: var(--text-primary); white-space: nowrap; }
.dealer-row__stock b { font-weight: 500; }
.dealer-row__stock:hover { color: var(--brand-primary); }
@media (max-width: 1279px) { .dealer-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .dealer-row__cars { justify-content: flex-start; } }
@media (max-width: 759px) { .dealers__city { padding: 18px var(--space-4); } .dealer-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } }

/* Страница дилера */
.dealer-page__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4) 20px; padding: 28px 30px; }
.dealer-page__who { display: flex; align-items: center; gap: var(--space-4); min-width: 0; }
.dealer-page__logo { flex: none; display: grid; place-items: center; width: 72px; height: 72px; border-radius: var(--radius-xl); overflow: hidden; background: var(--surface-secondary); }
.dealer-page__logo img { width: 100%; height: 100%; object-fit: cover; }
.dealer-page__logo--empty span { font: 700 22px/1 var(--font-primary); color: var(--text-primary); }
.dealer-page__text { min-width: 0; }
.dealer-page__title { font: var(--font-h1); letter-spacing: var(--tracking-h1); overflow-wrap: anywhere; }
.dealer-page__meta { display: flex; flex-wrap: wrap; gap: 4px var(--space-3); margin-top: 6px; font: var(--font-body); color: var(--text-secondary); }
.dealer-page__badges { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-2); }
.dealer-page__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.dealer-page__about { grid-column: 1 / -1; max-width: 760px; font: var(--font-body); color: var(--text-secondary); white-space: pre-line; }
.dealer-page__sec { padding: 22px 30px 30px; }
.dealer-page__h2 { display: flex; align-items: baseline; gap: 10px; font: 500 22px/28px var(--font-primary); }
.dealer-page__h2 span { font: 400 15px/1 var(--font-primary); color: var(--text-secondary); }
.dealer-page__branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-4); }
.dealer-page__branch { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding: var(--space-4); border-radius: var(--radius-xl); background: var(--surface-secondary); }
.dealer-page__branch-text { display: flex; flex-direction: column; gap: 6px; font: 400 15px/22px var(--font-primary); }
.dealer-page__branch-text b { font-weight: 500; overflow-wrap: anywhere; }
.dealer-page__branch-text a, .dealer-page__branch-text span { display: inline-flex; align-items: center; gap: var(--space-2); }
.dealer-page__branch-text a { color: var(--text-primary); }
.dealer-page__branch-text a:hover { color: var(--brand-primary); }
.dealer-page__muted { color: var(--text-secondary); }
.dealer-page__cars-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.dealer-page__all { display: flex; align-items: center; gap: 4px; font: 400 14px/20px var(--font-primary); color: var(--text-secondary); white-space: nowrap; }
.dealer-page__all:hover { color: var(--brand-primary); }
.dealer-page__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); }
.branch-map { display: flex; flex-direction: column; gap: var(--space-2); }
.branch-map__frame { width: 100%; height: 220px; border: 0; border-radius: var(--radius-md); background: var(--color-white-v1); }
.branch-map__link { font: var(--font-ui-text); color: var(--color-green); }
@media (max-width: 1279px) { .dealer-page__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .dealer-page__branches { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 899px) { .dealer-page__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); } }
@media (max-width: 759px) {
  .dealer-page__head { grid-template-columns: minmax(0, 1fr); padding: 18px var(--space-4); }
  .dealer-page__logo { width: 56px; height: 56px; }
  .dealer-page__title { font-size: 26px; line-height: 31px; }
  .dealer-page__sec { padding: 18px var(--space-4); }
}

/* Контакты */
.contacts__channels { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.contacts__channel { display: flex; align-items: center; gap: var(--space-3); min-width: 0; padding: 10px var(--space-4) 10px 10px; border-radius: var(--radius-xl); background: var(--surface-secondary); color: var(--text-primary); transition: background var(--dur-fast) var(--ease); }
.contacts__channel:hover { background: var(--surface-tertiary); color: var(--text-primary); }
.contacts__channel-icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: var(--radius-lg); background: var(--color-white); }
.contacts__channel-text { display: flex; flex-direction: column; min-width: 0; }
.contacts__channel-text small { font: 400 13px/18px var(--font-primary); color: var(--text-secondary); }
.contacts__channel-text b { font: 500 16px/22px var(--font-primary); overflow-wrap: anywhere; }
.contacts__city { padding: 22px 28px 28px; }
.contacts__city-title { display: flex; align-items: baseline; gap: 10px; margin-bottom: var(--space-4); font: 500 22px/28px var(--font-primary); }
.contacts__city-title span { font: 400 15px/1 var(--font-primary); color: var(--text-secondary); }
.contacts__branches { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.contacts__branch { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding: var(--space-4); border-radius: var(--radius-xl); background: var(--surface-secondary); }
.contacts__branch-text { display: flex; flex-direction: column; gap: 6px; }
.contacts__branch-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-2); font: 500 16px/22px var(--font-primary); }
.contacts__branch-title a { color: var(--text-primary); overflow-wrap: anywhere; }
.contacts__branch-title a:hover { color: var(--brand-primary); }
.contacts__line { display: flex; align-items: flex-start; gap: var(--space-2); font: 400 15px/22px var(--font-primary); color: var(--text-primary); }
.contacts__line svg { flex: none; margin-top: 2px; color: var(--text-tertiary); }
.contacts__line span { min-width: 0; overflow-wrap: anywhere; }
.contacts__line--muted { color: var(--text-secondary); }
.contacts__phone:hover { color: var(--brand-primary); }
@media (max-width: 1023px) { .contacts__branches { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 759px) { .contacts__channel { flex: 1 1 100%; } .contacts__city { padding: 18px var(--space-4); } }
