

/* Автор статьи */
.author-block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 24px;
    background: #f9fafb;
    padding: 24px;
    border-radius: 16px;
    justify-content: center;
    margin: 40px 0;
}

.author-block img {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #e5e7eb;
    flex-shrink: 0;
}

.author-block .author-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
    max-width: 500px;
}

.author-block .author-text .role {
    font-size: 14px;
    opacity: 0.7;
}

.author-block .author-text .name {
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    color: #111;
}

.author-block .author-text .bio {
    font-size: 15px;
    line-height: 1.5;
    opacity: 0.9;
}

.author-block .author-text .date {
    margin-top: 6px;
    font-size: 14px;
    opacity: 0.8;
}

/* Похожие статьи */
.related-articles {
    padding: 40px 20px;
    background: #f9f9f9;
}

.related-articles .section-title {
    text-align: center;
    margin-bottom: 32px;
}

.related-articles .section-title h2 {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 600;
}

.related-articles .section-title p {
    margin: 0;
    opacity: 0.8;
}

.related-articles .articles-row {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    justify-content: center;
    margin-bottom: 32px;
}

.related-articles .article-card {
    flex: 1 1 300px;
    max-width: 340px;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
}

.related-articles .article-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.related-articles .article-card .card-body {
    padding: 18px;
}

.related-articles .article-card .card-body a {
    text-decoration: none;
    color: #111;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
}

/* Адаптив */
@media (max-width: 768px) {
    .hero .heading {
        font-size: 28px;
    }

    .author-block {
        flex-direction: column;
        text-align: center;
    }

    .author-block .author-text {
        max-width: 100%;
    }

    .related-articles .article-card {
        flex: 1 1 100%;
        max-width: 100%;
    }
}


.clinic-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

/* ====== Адаптивность ====== */
@media (max-width: 900px) {
    .hero {
        min-height: 70vh;
    }

    .hero .heading {
        font-size: 1.9rem;
    }

    .hero-sub {
        font-size: 1.05rem;
    }
}

@media (max-width: 600px) {
    .hero {
        min-height: 80vh;
    }

    .hero .heading {
        font-size: 1.6rem;
    }

    .hero-sub {
        font-size: 1rem;
    }
}



/* RELATED ARTICLES */
.related-articles {
  padding: 40px 20px;
  background: #f9f9f9;
}
.related-header {
  text-align: center;
  margin-bottom: 32px;
}
.related-header h2 {
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 8px;
}
.related-header p {
  margin: 0;
  opacity: 0.8;
}
.related-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  margin-bottom: 32px;
}
.related-card {
  flex: 1 1 300px;
  max-width: 340px;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
  display: flex;
  flex-direction: column;
}
.related-thumb img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
}
.related-body {
  padding: 18px;
}
.related-body a {
  text-decoration: none;
  color: #111;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}


.breadcrumb {
  font-family: Arial, sans-serif;
  font-size: 14px;
  margin-bottom: 16px;
  margin-top: 16px;
}

.breadcrumb a {
  text-decoration: none;
  color: #007bff;
  transition: color 0.2s;
}

.breadcrumb a:hover {
  color: #0056b3;
}

.breadcrumb .separator {
  margin: 0 6px;
  color: #6c757d;
}

.breadcrumb .current {
  font-weight: bold;
  color: #111;
}
 

 /* ========== ОФОРМЛЕНИЕ СПИСКОВ ВНУТРИ .consult-card ========== */

 /* Общие отступы для всех списков внутри .consult-card */
 .consult-card ul,
 .consult-card ol {
     margin: 0 0 1rem 0;
     padding-left: 0;
     line-height: 1.45;
     color: #0f172a;
     font-size: 1rem;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
 }

 /* ---------- Маркированные списки (ul) — карточки с точкой (в .consult-card) ---------- */
 .consult-card ul {
     list-style: none;
     padding-left: 0;
 }

 .consult-card ul li {
     position: relative;
     padding: 0.65rem 1rem 0.65rem 3rem;
     margin-bottom: 0.5rem;
     background: #ffffff;
     border-radius: 10px;
     box-shadow: 0 6px 18px rgba(15, 23, 42, 0.04);
     border: 1px solid rgba(15, 23, 42, 0.04);
     transition: transform .18s ease, box-shadow .18s ease;
 }

 .consult-card ul li:hover {
     transform: translateY(-4px);
     box-shadow: 0 12px 30px rgba(15, 23, 42, 0.07);
 }

 /* стиль «плавающей точки» */
 .consult-card ul li::before {
     content: "";
     position: absolute;
     left: 1rem;
     top: 50%;
     transform: translateY(-50%);
     width: 12px;
     height: 12px;
     border-radius: 50%;
     background: linear-gradient(135deg, #2563eb 0%, #06b6d4 100%);
     box-shadow: 0 4px 10px rgba(37, 99, 235, 0.16);
     border: 2px solid rgba(255, 255, 255, 0.45);
 }

 /* ---------- Нумерованные списки (ol) — шаги/процесс (в .consult-card) ---------- */
 .consult-card ol {
     counter-reset: ol-counter;
     list-style: none;
     padding-left: 0;
 }

 .consult-card ol li {
     counter-increment: ol-counter;
     position: relative;
     padding: 0.9rem 1rem 0.9rem 4.2rem;
     margin-bottom: 0.8rem;
     background: #ffffff;
     border-radius: 10px;
     border: 1px solid rgba(14, 165, 233, 0.06);
     box-shadow: 0 4px 12px rgba(2, 6, 23, 0.03);
 }

 /* круглый номер слева */
 .consult-card ol li::before {
     content: counter(ol-counter);
     position: absolute;
     left: 1rem;
     top: 50%;
     transform: translateY(-50%);
     width: 38px;
     height: 38px;
     border-radius: 50%;
     line-height: 38px;
     text-align: center;
     font-weight: 700;
     color: #fff;
     background: linear-gradient(135deg, #06b6d4 0%, #2563eb 100%);
     box-shadow: 0 6px 18px rgba(37, 99, 235, 0.12);
     font-size: 0.95rem;
 }

 /* Подпись/вспомогательный текст внутри li (если есть) */
 .consult-card ul li small,
 .consult-card ol li small {
     display: block;
     color: #6b7280;
     margin-top: 0.35rem;
     font-size: .9rem;
 }

 /* --------- Адаптивность: уменьшаем отступы на маленьких экранах --------- */
 @media (max-width: 600px) {
     .consult-card ul li {
         padding: 0.55rem 0.8rem 0.55rem 2.6rem;
     }

     .consult-card ul li::before {
         left: 0.8rem;
         width: 10px;
         height: 10px;
     }

     .consult-card ol li {
         padding: 0.7rem 0.8rem 0.7rem 3.6rem;
     }

     .consult-card ol li::before {
         left: 0.8rem;
         width: 32px;
         height: 32px;
         line-height: 32px;
         font-size: 0.9rem;
     }
 }

 /* ========== Быстро вернуть "обычный" вид для отдельных списков ========== */
 /* Если нужно сбросить стиль конкретному списку, применяйте .consult-card .plain-list */
 .consult-card .plain-list {
     list-style: disc;
     padding-left: 1.5rem;
 }

 .consult-card .plain-list li {
     background: none;
     border: none;
     box-shadow: none;
     padding: 0;
     margin: 0 0 0.5rem 0;
     position: static;
 }

 .consult-card .plain-list li::before {
     content: none !important;
 }

 /* ========== ПЕЧАТЬ: упрощаем вид при печати ========== */
 @media print {

     .consult-card ul li,
     .consult-card ol li {
         box-shadow: none !important;
         background: transparent !important;
         border: none !important;
         padding-left: 0.6rem !important;
         margin-bottom: 0.3rem !important;
     }

     .consult-card ul li::before,
     .consult-card ol li::before {
         display: none !important;
     }

     .consult-card .plain-list {
         list-style: disc;
         padding-left: 1.5rem;
     }
 }
 

 p {
     margin-bottom: 1rem;
     /* было примерно 1rem, стало x2 */
     line-height: 1.7;
     /* приятнее читается, можно убрать если не нужно */
 }