/* ==========================================================================
   КОНТЕЙНЕРЫ
   ========================================================================== */

.container,
.single-page-container {
    max-width: var(--container-max) !important;
    margin: 0 auto;
    padding: 0 var(--trds-container-padding);
    box-sizing: border-box;
}

.container .trds-tradition-slider {
    position: relative;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.container-fluid .trds-tradition-slider {
    position: relative;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

@supports (width: 100dvw) {
    .container .trds-tradition-slider,
    .container-fluid .trds-tradition-slider {
        width: 100%;
        max-width: 100%;
    }
}

@media (min-width: 768px) {
    .container,
    .single-page-container {
        max-width: var(--trds-container-max);
    }
}

/* ==========================================================================
   ШАБЛОННЫЕ КОНТЕЙНЕРЫ (site-container)
   ========================================================================== */

/*
   Базовый контейнер страниц — max 1580px (98.75rem).
   Fallback явно указывает то же значение на случай,
   если переменная не загружена.
   */
.site-container {
    margin-inline: auto;
    max-width: var(--trds-container-max, min(98.75rem, 100% - 2rem));
    padding-inline: var(--trds-container-padding, clamp(1rem, 3vw, 2rem));
    width: 100%;
}

/*
   Шаблон с боковой панелью — CSS grid.
   */
.site-container--with-sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--trds-sidebar-width, 280px);
    gap: var(--trds-space-4xl);
    align-items: start;
}

/*
   Защита от переполнения контента в колонку сайдбара.
   */
.site-container--with-sidebar > .site-main {
    min-width: 0;
}

.site-container--with-sidebar > .site-main img,
.site-container--with-sidebar > .site-main iframe {
    max-width: 100%;
}

/*
   Шаблон «Контент записи без сайдбара» — ширина 1280px.
   */
.site-container--wide-1536 {
    --trds-container-max: var(--trds-container-xl);
}

/*
   Шаблон 1380px с боковой панелью.
   Явно задаёт ширину 1380px и наследует grid-разметку с сайдбаром.
   */
.site-container--wide-1380-with-sidebar {
    max-width: 1380px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) var(--trds-sidebar-width, 280px);
    gap: 4rem;
    align-items: start;
}

.site-container--full .trds-tradition-slider {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    max-width: none;
}

/*
   Адаптив: сайдбар складывается в одну колонку.
   */
@media (max-width: 768px) {
    .site-container--with-sidebar,
    .site-container--wide-1380-with-sidebar {
        grid-template-columns: 1fr;
        padding-top: var(--trds-space-3xl);
    }
}

/* ==========================================================================
   СПЕЦИАЛЬНЫЕ СТРАНИЦЫ — переопределения контейнера
   ========================================================================== */

.page-id-387 .container {
    max-width: var(--trds-container-max) !important;
}

body.page-id-387 {
    margin: 0 auto !important;
}

/*
   Bootstrap Bootstrap-страницы: убираем абсолютное позиционирование сайдбара.
   */
@media (min-width: 960px) {
    body.page:not(.home) .single-page-container > .row > .trds-content-wrap {
        margin-right: 0 !important;
    }

    body.page:not(.home) .single-page-container > .row > .trds-sidebar-wrap {
        position: relative !important;
        right: auto !important;
        top: auto !important;
        width: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}
