/* Карточки врачей. Каркас страницы — в ../subpage.css. */
.doctor-list { display: grid; gap: 10px; }
.doctors-page { padding-bottom: 0; }
.doctor-card { display: block; padding: 12px; border: 1px solid var(--line); border-radius: 18px; color: inherit; background: var(--white); text-decoration: none; }
.doctor-card:hover, .doctor-card:focus-visible { border-color: var(--green-2); }
.doctor-open { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; }
.doctor-photo { flex: none; display: block; width: 72px; height: 72px; border-radius: 16px; overflow: hidden; background: var(--mint); }
.has-photo .doctor-photo { width: clamp(100px, 29vw, 128px); height: 132px; }
.doctor-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 18%; }
.doctor-initials { display: grid; place-items: center; width: 100%; height: 100%; color: var(--green); font-family: Georgia, serif; font-size: 1.5rem; }
.doctor-info { flex: 1; min-width: 0; display: grid; gap: 3px; }
.doctor-name { font-weight: 750; font-size: 0.98rem; line-height: 1.25; }
.doctor-specialty { color: var(--green-2); font-size: 0.82rem; font-weight: 650; line-height: 1.3; }
.doctor-free { color: #176b43; font-size: 0.76rem; font-weight: 700; line-height: 1.35; }
.doctor-meta { color: var(--muted); font-size: 0.76rem; line-height: 1.35; }
.doctor-chevron { flex: none; width: 18px; height: 18px; fill: none; stroke: var(--muted); stroke-width: 2; }
.doctor-summary { display: -webkit-box; margin: 10px 0 0; overflow: hidden; color: var(--ink); font-size: 0.86rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.seo-city-links { display: flex; flex-wrap: wrap; gap: 7px 10px; margin: 22px 0; color: var(--muted); font-size: .8rem; }
.seo-city-links a { color: var(--green); font-weight: 700; }
