article {
    padding: var(--content-block-side-padding);
    display: flex;
    flex-direction: column;
    gap: 20svh;
}

section:not(:last-of-type) {
    border-bottom: 2px solid var(--color-control-area-border);
}

ol {
    counter-reset: section; /* Сбрасываем счётчик */
    list-style-type: none; /* Убираем стандартные маркеры */
    padding-left: 20px; /* Отступ для вложенности */
}

ol > li::before {
    content: counters(section, ".") ". "; /* Формат: 1., 1.1., 1.1.1. */
    counter-increment: section; /* Увеличиваем счётчик */
    font-weight: bold; /* Опционально: жирный шрифт для номеров */
}

ol > li {
    margin-block: .5em;
}

ol > li:first-of-type {
    margin-top: 0;
}

ol > li:last-of-type {
    margin-bottom: 0;
}

article h2,
article > section.main-offer > ol > li::before {
    font-size: 1.5rem;
}

article h3,
article > section:not(.main-offer) > ol > li::before,
article ol > li > ol > li:has(h3)::before {
    font-size: 1.2rem;
}


article :is(h1, h2, h3, h4, h5, h6) {
    display: inline-block;
}

article :is(p, li) {
    line-height: 1.5;
}

article ul > li {
    list-style-type: '-';
    padding-left: 1ch;
    margin-inline-start: 2ch;
}

article ul > li:first-child {
    margin-top: 1em;
}

article ul > li:last-child {
    margin-bottom: 1em;
}


.appendix {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.5rem;
    font-weight: bold;
    margin-block: var(--content-block-side-padding) var(--content-block-vertical-padding);
}

.section-header {
    text-align: end;
    width: 30%;
    margin-left: 70%;
}