.main-glass-content {
    /* Основной контейнер с эффектом стекла */
    width: 90vw; /* Увеличено с 60vw до 90vw */
    max-width: 1800px; /* Увеличено с 1200px до 1800px */
    box-shadow: 0 4px 32px rgba(40,0,60,0.12); /* Тень вокруг блока */
    backdrop-filter: blur(12px) saturate(140%); /* Эффект размытия и насыщенности фона */
    -webkit-backdrop-filter: blur(12px) saturate(140%); /* Для поддержки в Safari */
    border-radius: 22px; /* Закругленные углы */
    margin: -5px auto 0 auto; /* Отступ сверху и центрирование по горизонтали */
    display: flex; /* Использование flex-контейнера */
    flex-direction: column; /* Элементы располагаются в колонку */
    /* align-items: flex-start; */ /* Удалено или пересмотрено. Может ограничивать ширину внутренних блоков */
    justify-content: center; /* Центрирование по вертикали */
    text-align: left; /* Текст по левому краю */
    /* Неоновый градиент для рамки */
    box-shadow:
        0 0 0 8px transparent, /* увеличено с 4px до 8px */
        0 0 32px 8px #88689b, /* увеличено с 16px 2px до 32px 8px */
        0 0 64px 16px #5c497d; /* увеличено с 32px 8px до 64px 16px */
    position: relative;
    /* Дополнительно для flex-контейнера, чтобы элементы могли занимать всю ширину */
    align-items: stretch; /* Позволяет дочерним элементам растягиваться на всю ширину */
    padding: 20px; /* Добавлен общий внутренний отступ для содержимого */
}

.main-glass-content::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 22px;
    padding: 0;
    z-index: 1;
    pointer-events: none;
    border: 8px solid transparent; /* увеличено с 4px до 8px */
    background: linear-gradient(90deg, #810ec3, #7522b9, #9b0991, #0d6e8c);
    background-size: 300% 300%;
    animation: neon-gradient 6s linear infinite;
    -webkit-mask: linear-gradient(#8a8989 0 0) content-box, linear-gradient(#9a9a9a 0 0);
    mask: linear-gradient(#8a8989 0 0) content-box, linear-gradient(#9a9a9a 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

@keyframes neon-gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

.main-glass-content h1 {
    /* Стили для заголовка h1 внутри .main-glass-content */
    font-family: 'Segoe UI', 'Arial Black', Arial, sans-serif; /* Шрифты */
    color: #cfaed4; /* Цвет текста */
    font-size: 2em; /* Размер шрифта */
    text-align: center; /* Центрирование текста */
    margin: 0.5em 0 0.3em 0; /* Отступы сверху и снизу */
    font-weight: 700; /* Жирный шрифт */
    letter-spacing: 1px; /* Межбуквенное расстояние */
    text-shadow: 1px 2px 8px #1b001e, 0 0 2px #fff; /* Тень текста */
    width: 80vw; /* Ширина на всю ширину окна */
    /* left: 50%; */ /* Убран left/transform для центрирования, если контейнер уже flex-контейнер и выравнивает элементы. */
    /* position: relative; */ /* Если h1 не выходит за пределы потока, relative не всегда нужен */
    /* transform: translateX(-50%); */ /* Убран left/transform */
    /* Центрирование h1 внутри flex-конконтейнера .main-glass-content */
    align-self: center;
    width: auto; /* Позволяем заголовку занимать необходимую ширину, а не фиксированную vw */
    max-width: 90%; /* Ограничиваем максимальную ширину для предотвращения переполнения */
    box-sizing: border-box; /* Включаем padding и border в ширину */
    padding: 0 1em; /* Добавляем горизонтальный padding, чтобы текст не прилипал к краям */
}

.main-glass-content h2 {
    font-family: 'Segoe UI', 'Arial', sans-serif; /* Шрифты */
    color: #ece6ed; /* Цвет текста */
    font-size: 1.7em; /* Размер шрифта */
    text-align: center; /* Центрирование текста */
    margin: 0.2em 0 0.5em 0; /* Отступы сверху и снизу */
    font-weight: 700; /* Жирный шрифт */
    letter-spacing: 0.5px; /* Межбуквенное расстояние */
    text-shadow: 1px 2px 6px #686868, 0 0 1px #fff; /* Тень текста */
    max-width: 100%; /* Максимальная ширина 100% */
    box-sizing: border-box; /* Включает padding и border в ширину */
    overflow-wrap: break-word; /* Перенос длинных слов */
    word-break: break-word; /* Перенос слов при необходимости */
    padding-left: 0.7em; /* Отступ слева как у абзаца */
    padding-right: 0.7em; /* Добавлен отступ справа для симметрии */
    align-self: flex-start; /* Выравниваем по левому краю внутри flex-контейнера */
}


/* Общие стили для списков */
ul {
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
    width: 100%;
    box-sizing: border-box;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Элементы списка */
.main-glass-content li {
    position: relative;
    color: #9ac4c1;
    text-shadow: #1b001e 1px 2px 6px, #fff 0 0 1px;
    box-sizing: border-box;
    margin-bottom: 1em;
    text-align: justify;
    line-height: 1.9;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    display: block;
    padding-right: 1em;
    margin-left: 4em; /* Абзац для всех номеров */
    width: auto;
    max-width: calc(100% - 4em - 1em);
}

/* Номер правила */
.rule-number {
    position: absolute;
    left: -4em;
    top: 0;
    width: 3.5em;
    text-align: right;
    font-weight: bold;
    color: #cfaed4;
    font-family: 'Segoe UI', Arial, sans-serif;
    padding-right: 0.5em;
    pointer-events: none;
    white-space: nowrap;
}

/* Заголовки и преамбулы */
.preamble {
    margin-top: 0;
    margin-bottom: 1em;
    text-align: center;
    box-sizing: border-box;
    padding-left: 1.5em;
    padding-right: 1.5em;
    text-indent: 0;
    white-space: normal;
    line-height: 1.9;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    width: 100%;
}

/* b и span на одной строке */
.rule-number + b,
.rule-number + b + span {
    display: inline;
    vertical-align: baseline;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    box-sizing: border-box;
    width: auto;
    margin: 0;
    padding: 0;
}

/* Удаляем <br> внутри li */
li > br {
    display: none;
}

/* Стили для шапки и подвала */
.header-footer {
    width: 100%;
    text-align: center;
    color: #bfa3d1;
    font-size: 1em;
    font-family: 'Segoe UI', Arial, sans-serif;
    padding: 0.5em 0;
    opacity: 0.85;
    letter-spacing: 0.5px;
    white-space: normal;
    line-height: 1.9;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    box-sizing: border-box;
    padding-left: 1em;
    padding-right: 1em;
}

.header-footer.header {
    border-bottom: 1px solid #88689b;
    margin-bottom: 1em;
}

.header-footer.footer {
    border-top: 1px solid #88689b;
    margin-top: 1em;
}
