.sms__heading.text-center,
.sms-heading.text-center,
.sms.text-center .sms__heading,
.sms.text-center .sms-heading {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.sms__heading.text-right,
.sms-heading.text-right,
.sms.text-right .sms__heading,
.sms.text-right .sms-heading {
    margin-left: auto;
    margin-right: 0;
    text-align: right;
}

.sms__heading:not(.text-center):not(.text-right),
.sms-heading:not(.text-center):not(.text-right),
.sms:not(.text-center):not(.text-right) .sms__heading,
.sms:not(.text-center):not(.text-right) .sms-heading {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

/* Section style: светлая секция user-container */
.container.user-container {
    background-color: var(--theme-sand, #faf9f5);
}

/* Центрирование видео-блока (AEM .video имеет левый margin) */
.video {
    margin-left: auto;
    margin-right: auto;
}

/* Центрирование изображений без явного выравнивания (core image) */
.wp-block-image:not(.alignleft):not(.alignright):not(.aligncenter) {
    text-align: center;
}
.wp-block-image:not(.alignleft):not(.alignright):not(.aligncenter) > img {
    margin-left: auto;
    margin-right: auto;
}

/* Обязательное поле: звёздочка (вынесено из inline-стиля) */
.bbraun-form-required {
    color: red;
}

/* ===== Раскладка секций (универсальные правила) ===== */

/* Основной контейнер контента: параметры, как у .container в AEM-редизайне. */
.entry-content {
    max-width: 1184px;
    margin: 0 auto;
    padding: 0 16px;
    box-sizing: border-box;
}

/* Полноширинные блоки (медиа-герой) выходят за контейнер на всю ширину экрана. */
.entry-content > .mediahero {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: 100vw;
}

/* Слайдер тизеров выходит за контейнер на всю ширину (как в AEM). */
.entry-content ._teaser-slider,
.bbraun-section .container > ._teaser-slider,
.bbraun-section > ._teaser-slider {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Текст слайда (p внутри .image-teaser__text) — белый, как задано в clientlib
   (._teaser-slider__item .image-teaser__text { color:#fff }), а не серый дефолт. */
._teaser-slider__item .image-teaser__text p,
._teaser-slider__item .image-teaser__text--paragraph {
    color: #fff;
}

/* Медиа в двух колонках занимает строго свою колонку и не растягивает блок. */
.two-column-container .cmp-container > div {
    min-width: 0;
    overflow: hidden;
}
.two-column-container .cmp-container img,
.two-column-container .cmp-container .cmp-image,
.two-column-container .cmp-container .cmp-video {
    max-width: 100%;
}

/* Контентный контейнер внутри секции: ограничение ширины. */
.container {
    max-width: 1184px;
    box-sizing: border-box;
}

/* Блоки WP не используют сетку AEM — убираем float у полноширинных колонок. */
.aem-GridColumn.aem-GridColumn--default--12 {
    float: none;
    clear: none;
}

/* Секция с фоном: полноширинная подложка на слое cmp-container, контент по центру. */
.bbraun-section {
    position: relative;
    z-index: 0;
}
.bbraun-section > .cmp-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    max-width: 100vw;
    margin: 0;
    padding: 0;
    display: block;
    transform: translateX(-50%);
    z-index: -1;
    pointer-events: none;
}
.bbraun-section.sand > .cmp-container,
.bbraun-section.user-container > .cmp-container {
    background-color: var(--theme-sand, #faf9f5);
}
.bbraun-section.white > .cmp-container,
.bbraun-section.mybbraun--light > .cmp-container {
    background-color: #fff;
}
.bbraun-section.mybbraun--dark > .cmp-container {
    background-color: var(--theme-primary, #00a97a);
}
/* Единые отступы контента внутри окрашенной секции (как .user-container в AEM: padding 3rem 0). */
.bbraun-section.sand,
.bbraun-section.white,
.bbraun-section.user-container,
.bbraun-section.mybbraun--light,
.bbraun-section.mybbraun--dark {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
