/* All-Clinic — переопределения поверх Foundation subset (плоский стиль avtocamping) */

.top-bar .menu-text a { color: inherit; }

/* Хлебные крошки */
.breadcrumbs { font-size: 0.85rem; color: #667; margin: 0 0 1rem; }
.breadcrumbs a { color: #1779ba; }
.breadcrumbs .sep { color: #bbb; margin: 0 0.15rem; }

/* Общее */
.muted { color: #888; font-size: 0.85rem; margin: 0.15rem 0; }
.tags  { color: #1779ba; font-size: 0.85rem; margin: 0.3rem 0; }
.lead  { font-size: 125%; line-height: 1.6; }
.section-title { margin: 1.5rem 0 0.75rem; }

/* Карточки сущностей */
.entity-card { margin-bottom: 1rem; }
a.card { color: inherit; display: flex; flex-direction: column; height: 100%; }
a.card:hover { color: inherit; }
a.card .card-section { flex: 1; display: flex; flex-direction: column; }
a.card .card-footer-row { margin-top: auto; padding-top: 0.5rem; display: flex;
  justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 4px; }
a.card h5 { margin-bottom: 0.4rem; }

/* Сетка карточек: вертикальный отступ крупнее, горизонтальный уже (в духе Foundation) */
.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem 0.75rem;            /* row-gap (по высоте) / column-gap (по ширине) */
  margin-bottom: 1.5rem;
}
@media (max-width: 63.9375em) { .card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 39.9375em) { .card-grid { grid-template-columns: 1fr; } }
.card-grid > .cell { width: auto; margin: 0; }
.card-grid .card { margin-bottom: 0; }

/* Унифицированная карточка списка */
.list-card h5 { margin-bottom: 0.35rem; line-height: 1.3; }
.card-desc { color: #556; font-size: 0.85rem; margin: 0; line-height: 1.45;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card-meta { color: #999; font-size: 0.8rem; margin: 0.35rem 0 0; }

/* Списки-ссылки (города, болезни, специализации) */
.link-grid { columns: 3; column-gap: 2rem; list-style: none; margin: 0 0 1.5rem; padding: 0; }
.link-grid li { break-inside: avoid; padding: 0.15rem 0; }
.link-grid li .cnt { color: #999; font-size: 0.85rem; }
@media (max-width: 63.9em){ .link-grid { columns: 2; } }
@media (max-width: 39.9em){ .link-grid { columns: 1; } }

/* Плитки специализаций (двойная ссылка: направление + врач) */
.spec-tiles { display: grid; grid-template-columns: repeat(3,1fr); gap: 0.75rem; margin: 0 0 1.5rem; }
@media (max-width: 63.9em){ .spec-tiles { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 39.9em){ .spec-tiles { grid-template-columns: 1fr; } }
.spec-tile { border: 1px solid #e6e6e6; padding: 0.75rem; background: #fff; }
.spec-tile .field { font-weight: 700; display: block; }
.spec-tile .doc { font-size: 0.85rem; color: #1779ba; }
.spec-tile .cnt { color: #999; font-size: 0.8rem; }

/* Блок «болезнь → кто лечит» */
.pill { display: inline-block; background: #e6f0f7; color: #1468a0; border: 1px solid #cfe1ef;
  padding: 0.2rem 0.55rem; margin: 0.15rem 0.25rem 0.15rem 0; font-size: 0.85rem; }
.icd-badge { display: inline-block; background: #767676; color: #fff; padding: 0.15rem 0.45rem;
  font-size: 0.8rem; margin-left: 0.4rem; vertical-align: middle; }

/* Инфо-блок */
.info-box { background: #f7f8fa; border: 1px solid #e6e6e6; padding: 1rem; margin: 0 0 1.5rem; }
.info-box dl { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 0.35rem 1rem; }
.info-box dt { color: #888; }
.info-box dd { margin: 0; }

/* Ряд «контакты (75%) + вход (25%)» на одном уровне */
.contact-row { display: flex; flex-wrap: wrap; gap: 1rem; align-items: stretch; margin: 0 0 1.5rem; }
.contact-row .info-box   { flex: 3 1 0; min-width: 0; margin: 0; }   /* 75% */
.contact-row .clinic-claim { flex: 1 1 0; min-width: 0; margin: 0; } /* 25% */
@media (max-width: 640px) { .contact-row { flex-direction: column; } }

/* Призыв «Изменить данные о клинике» — яркий акцентный блок рядом с контактами */
.clinic-claim { background: #eef6ff; border: 1px solid #bcdcff; border-left: 4px solid #1779ba;
  padding: 1rem 1.25rem; margin: 0 0 1.5rem; border-radius: 4px; }
.clinic-claim__title { margin: 0 0 0.5rem; font-size: 1.1rem; color: #12557f; }
.clinic-claim__upd { color: #2f7a1e; font-weight: 600; margin: 0 0 0.5rem; }
.clinic-claim p { margin: 0 0 0.6rem; line-height: 1.5; }
.clinic-claim p:last-child { margin-bottom: 0; }
.clinic-claim .button { margin: 0; }

/* Гео-бар (текущий город на сводных страницах) */
.geobar { background:#f7f8fa; border:1px solid #e6e6e6; padding:0.5rem 0.8rem; font-size:0.9rem; margin:0 0 1rem; }
.geobar a { color:#1779ba; }
.geo-nav a strong { color:inherit; font-weight:700; }

/* Пагинатор */
.pager { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 3px; align-items: center; }
.pager a, .pager .cur { display: inline-block; padding: 0.3rem 0.6rem; border: 1px solid #ddd; font-size: 0.85rem; }
.pager .cur { background: #1779ba; color: #fff; border-color: #1779ba; }
.pager-total { color: #999; font-size: 0.85rem; margin-left: 0.3rem; }
.search-form { max-width: 640px; }

/* Футер */
.site-footer { background: #0a0a0a; color: #cfcfcf; padding: 2rem 0; margin-top: 2rem; }
.site-footer a { color: #8fbfe4; }
.site-footer .menu a { color: #8fbfe4; }
.empty-note { color: #888; font-style: italic; }

/* Заголовок вложенного фоллбэка (клиники/врачи центра региона и ближайших) */
.fallback-title { font-size: 1.05rem; margin: 1.1rem 0 0.5rem; color: #445; }

/* Схема проезда (встроенная карта) */
.map-embed { margin: 0 0 1.5rem; border: 1px solid #e6e6e6; line-height: 0; }
.map-embed iframe { width: 100%; display: block; border: 0; }

/* Карта со списком клиник (Leaflet) */
.map-section { margin: 0 0 1.5rem; }
.clinic-map { height: 420px; width: 100%; border: 1px solid #e6e6e6; background: #e6e6e6; }
.clinic-map .popup-name { font-weight: 600; margin: 0 0 0.25rem; }
.clinic-map .popup-link { font-size: 0.9rem; }
@media (max-width: 640px) { .clinic-map { height: 320px; } }
