/* Дополнения к theme.min.css для страниц из CMS */
.fonin { height: 530px; width: 100%; object-fit: cover; display: block; }
.cms-hero .fonin { filter: brightness(.45); }
.cms-hero .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.7); }
.cms-hero .text-white-70 { color: rgba(255,255,255,.75); }
.cms-card-img { height: 220px; object-fit: cover; }
.cms-gallery img { width: 100%; height: 200px; object-fit: cover; }
.cms-content { font-size: 1rem; line-height: 1.65; }
.cms-content h2 { font-size: 1.5rem; margin: 1.75rem 0 .75rem; }
.cms-content h2:first-child { margin-top: 0; }
.cms-content h3 { font-size: 1.25rem; margin: 1.5rem 0 .5rem; }
.cms-content img { max-width: 100%; height: auto; display: block; margin: .75rem 0 1.25rem; }
.cms-content ul, .cms-content ol { padding-left: 1.25rem; margin-bottom: 1rem; }
.cms-content table { width: 100%; margin-bottom: 1rem; border-collapse: collapse; }
.cms-content td, .cms-content th { border: 1px solid rgba(0,0,0,.1); padding: .5rem .75rem; }
/* Раздел текста: заголовок, ниже фото слева (col-md-4) и текст справа; фото тянется на высоту текста */
.cms-section { padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px solid rgba(0,0,0,.08); }
.cms-section:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.cms-section > h2 { margin: 0 0 1rem; }
.cms-section-media { position: relative; min-height: 260px; }
.cms-content .cms-section-media img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; object-fit: cover; border-radius: .5rem; }
.cms-section-text > :last-child { margin-bottom: 0; }
.cms-section-row + .cms-section-row { margin-top: 1.5rem; }
/* фото с короткими подписями — сеткой карточек той же ширины col-md-4 */
.cms-figure { margin: 0; height: 100%; }
.cms-content .cms-figure img { width: 100%; height: 220px; margin: 0 0 .5rem; object-fit: cover; border-radius: .5rem; }
.cms-figure figcaption { font-size: .95rem; }
/* несколько фото в одном ряду — колонкой, делят высоту текста */
.cms-media-stack { display: flex; flex-direction: column; gap: 1rem; }
.cms-content .cms-media-stack img { position: static; flex: 1 1 0; min-height: 200px; height: auto; }
@media (max-width: 767.98px) {
  .cms-section-media { min-height: 0; height: 240px; }
  .cms-section-media.cms-media-stack { height: auto; }
  .cms-content .cms-media-stack img { flex: none; height: 240px; }
  .fonin { height: 640px; }
  .cms-hero .card-title.fs-50, .cms-hero .card-title.h1 { font-size: 1.75rem; }
  .cms-card-img { height: 180px; }
}
