/* layout.css
/* ===== ОСНОВНАЯ РАЗМЕТКА ===== */
.page-wrapper {
    position: relative;
    min-height: 100vh;
    width: 100%;
    max-width: 100%;
}

/* Основной контейнер - НОВАЯ ВЕРСИЯ */
.main-container {
    width: 100%;
    max-width: 1200px; /* Фиксированная ширина для контента */
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
}

/* Боковые колонки (для рекламы) - ИСПРАВЛЕНО */
.ad-sidebar {
    position: fixed;
    top: 80px;
    bottom: 0;
    width: 200px; /* Ширина рекламной зоны */
    background: var(--sidebar-bg);
    z-index: 900;
    overflow-y: auto;
    padding: 20px;
    border-left: 1px solid var(--border-color);
}

.ad-sidebar.left {
    left: calc(50% - 600px); /* 50% от центра минус половина ширины контента (600px) */
    border-left: none;
    border-right: 1px solid var(--border-color);
}

.ad-sidebar.right {
    right: calc(50% - 600px); /* 50% от центра минус половина ширины контента (600px) */
}

/* Отступы для основного контента при наличии боковых колонок */
.has-sidebars .main-container {
    padding: 0;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Сетки для контента */
.grid {
    display: grid;
    gap: 20px;
}

.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }

/* Флекс-контейнеры */
.flex {
    display: flex;
}

.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.flex-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Отступы секций */
.section {
    padding: 60px 0;
}

.section-sm {
    padding: 40px 0;
}

.section-lg {
    padding: 80px 0;
}