/* Светлые страницы с содержимым: общий слой для шаблонов `page-privacy` (юридические страницы), `page-price-matrix` и `single-post` (запись блога). Подключается всегда. */

.content-page {
    position: relative;
    padding-top: 140px;
    padding-bottom: 128px;
    border-radius: 0 0 32px 32px;
    border-right: 1px solid var(--stroke-white-15, rgba(251, 251, 251, 0.15));
    border-bottom: 1px solid var(--stroke-white-15, rgba(251, 251, 251, 0.15));
    border-left: 1px solid var(--stroke-white-15, rgba(251, 251, 251, 0.15));
    background: var(--Background-Black, #212121);
    z-index: 3;
    margin-bottom: -32px;
}

.page__wrapper {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.page__header {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
}

.page__title {
    color: #FFF;
    text-align: center;
    font-size: var(--Text-Title-Size-H1, 56px);
    font-style: normal;
    font-weight: 700;
    line-height: 114.286%;
    text-transform: uppercase;
}

.page__last {
    border-radius: 8px;
    border: 1px solid var(--stroke-white-15, rgba(251, 251, 251, 0.15));
    background: var(--island-white-5, rgba(251, 251, 251, 0.05));
    backdrop-filter: blur(10px);
    padding: 7px 15px 7px 7px;
    display: flex;
    gap: 8px;
    align-items: center;
}

.page__last-icon {
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.page__last-text {
    color: var(--Text-White, #FBFBFB);
    font-size: var(--Text-Button-Size-Regular, 18px);
    font-style: normal;
    font-weight: 700;
    line-height: 133.333%;
}

.page__content {
    
}

.page__content p {
    color: var(--text-white-70, rgba(251, 251, 251, 0.70));
    font-family: Satoshi, 'Noto Sans Thai';
    font-size: 18px;
    line-height: 155.556%;
    margin-bottom: 16px;
}

.page__content p strong{
    color: var(--Text-White, #FBFBFB);
    font-weight: 500;
}

.page__content p+h2 {
    margin-top: 40px;
}

.page__content h2 {
    color: #F9AA66;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 28px;
}

.page__content h3 {
    color: var(--Text-White, #FBFBFB);
    font-size: var(--Text-Title-Size-H5, 20px);
    font-weight: 700;
    line-height: 140%;
    margin-bottom: 16px;
}

.page__content a {
    color: #F9AA66;
    text-decoration: none;
}

.page__content a:hover {
    text-decoration: underline;
}

.page__content .wp-block-table {
    border-collapse: separate;
    border-spacing: 8px;
    width: 100%;
}

.page__content .wp-block-table tbody,
.page__content .wp-block-table tr {
    background: transparent;
}

.page__content .wp-block-table td,
.page__content .wp-block-table th {
    padding: 12px 16px;
    border-radius: 12px;
    border: 2px dashed var(--stroke-white-10, rgba(251, 251, 251, 0.10));
}

.page__content .wp-block-table tbody {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page__content .wp-block-table tbody tr {
    display: flex;
    gap: 8px;
    width: 100%;
}

.page__content .wp-block-table tbody tr td {
    align-content: center;
}

.page__content .wp-block-table tr td:first-child:nth-last-child(2) {
    width: 40%;
}

.page__content .wp-block-table tr td:first-child:nth-last-child(2) ~ td {
    width: 60%;
}

@media (max-width: 991.98px) {
    .page__title {
        font-size: 48px;
    }
}

@media (max-width: 767.98px) {
    .page__title {
        font-size: 36px;
    }

    .page__content h2 {
        font-size: 22px;
    }

    .page__content h3 {
        font-size: 18px;
    }

    .page__content p {
        font-size: 16px;
    }
}

/*
 * Контентная область. Скруглённый низ рисует `.teaser::before` из блока
 * TEASER HOME, поэтому собственная рамка шаблона и вынос на -32 снимаются.
 */
body.page-template-page-privacy .content-page,
body.page-template-page-price-matrix .content-page,
body.single-post .content-page {
    margin-bottom: 0;
    padding-top: 140px;
    padding-bottom: 64px;
    border: 0;
    border-radius: 0;
    background: var(--nv-surface-1);
}

/* Читаемая колонка макета — 900px внутри полей 32 (`751:13894`). */
body.page-template-page-privacy .container.small-container,
body.page-template-page-price-matrix .container.small-container,
body.single-post .container.small-container {
    max-width: 964px;
}

body.page-template-page-privacy .page__wrapper,
body.page-template-page-price-matrix .page__wrapper,
body.single-post .page__wrapper {
    gap: 40px;
}

body.page-template-page-privacy .page__header,
body.page-template-page-price-matrix .page__header,
body.single-post .page__header {
    gap: 24px;
}

/* H1 выводит `the_title()`; из макета берётся только оформление (`751:13897`). */
body.page-template-page-privacy .page__title,
body.page-template-page-price-matrix .page__title,
body.single-post .page__title {
    color: var(--nv-object-1);
    font-size: 52px;
    line-height: 64px;
}

/* Плашка даты обновления — `751:13899`. */
body.page-template-page-privacy .page__last,
body.page-template-page-price-matrix .page__last,
body.single-post .page__last {
    padding: 8px 16px 8px 8px;
    border-color: var(--nv-surface-4);
    background: var(--nv-surface-2);
    color: var(--nv-object-1);
}

body.page-template-page-privacy .page__last-text,
body.page-template-page-price-matrix .page__last-text,
body.single-post .page__last-text {
    color: var(--nv-object-1);
    font-size: 18px;
    line-height: 24px;
}

/*
 * Вывод `the_content()`. Разметку генерирует WordPress, поэтому оформляются
 * теги внутри `.page__content`, а не классы; сам контент не менялся.
 * Вертикальные зазоры макета собираются схлопыванием соседних margin:
 * раздел↔раздел 32, заголовок↔текст 28, подзаголовок↔текст 16, абзац↔абзац 20.
 */
body.page-template-page-privacy .page__content,
body.page-template-page-price-matrix .page__content,
body.single-post .page__content {
    overflow-wrap: break-word;
}

body.page-template-page-privacy .page__content p,
body.page-template-page-price-matrix .page__content p,
body.single-post .page__content p {
    color: var(--nv-object-2);
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 20px;
}

body.page-template-page-privacy .page__content > p:last-child,
body.page-template-page-price-matrix .page__content > p:last-child,
body.single-post .page__content > p:last-child {
    margin-bottom: 0;
}

/* Вводный абзац макета набран Satoshi Medium цветом основного текста (`751:13903`). */
body.page-template-page-privacy .page__content p strong,
body.page-template-page-price-matrix .page__content p strong,
body.single-post .page__content p strong,
body.page-template-page-privacy .page__content li strong,
body.page-template-page-price-matrix .page__content li strong,
body.single-post .page__content li strong {
    color: var(--nv-object-1);
    font-weight: 500;
}

body.page-template-page-privacy .page__content em,
body.page-template-page-price-matrix .page__content em,
body.single-post .page__content em {
    font-style: italic;
}

/* Нумерованные разделы — `751:13907`. */
body.page-template-page-privacy .page__content h2,
body.page-template-page-price-matrix .page__content h2,
body.single-post .page__content h2 {
    color: var(--nv-primary);
    font-size: 24px;
    line-height: 36px;
    font-weight: 700;
    margin-top: 32px;
    margin-bottom: 28px;
}

/* Подразделы — `1115:17688`. h4 в контенте не встречается, оформляем заодно. */
body.page-template-page-privacy .page__content h3,
body.page-template-page-price-matrix .page__content h3,
body.single-post .page__content h3,
body.page-template-page-privacy .page__content h4,
body.page-template-page-price-matrix .page__content h4,
body.single-post .page__content h4 {
    color: var(--nv-object-1);
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
    margin-top: 28px;
    margin-bottom: 16px;
}

body.page-template-page-privacy .page__content > h2:first-child,
body.page-template-page-price-matrix .page__content > h2:first-child,
body.single-post .page__content > h2:first-child,
body.page-template-page-privacy .page__content > h3:first-child,
body.page-template-page-price-matrix .page__content > h3:first-child,
body.single-post .page__content > h3:first-child,
body.page-template-page-privacy .page__content > h4:first-child,
body.page-template-page-price-matrix .page__content > h4:first-child,
body.single-post .page__content > h4:first-child {
    margin-top: 0;
}

/*
 * Ссылок в макете нет — юридический текст показан там сплошным. Цвет берём
 * тот же, что у остальных встроенных ссылок светлой темы (`--nv-primary`,
 * как в `.ui-check__link`), а подчёркивание, в отличие от тёмной версии,
 * держим постоянным: контраст оранжевого на `--nv-surface-1` — 2.72:1,
 * и одного цвета для различения ссылки в сплошном юридическом тексте мало.
 * `overflow-wrap: anywhere` держит длинные URL внутри колонки на узких экранах.
 */
body.page-template-page-privacy .page__content a,
body.page-template-page-price-matrix .page__content a,
body.single-post .page__content a {
    color: var(--nv-primary);
    text-decoration: underline;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
    transition: color .2s ease;
}

body.page-template-page-privacy .page__content a:hover,
body.page-template-page-price-matrix .page__content a:hover,
body.single-post .page__content a:hover {
    color: var(--nv-primary-2);
}

body.page-template-page-privacy .page__content a:focus-visible,
body.page-template-page-price-matrix .page__content a:focus-visible,
body.single-post .page__content a:focus-visible {
    outline: 2px solid var(--nv-object-1);
    outline-offset: 2px;
    border-radius: 2px;
}

/*
 * Списки. В Privacy Policy их нет, и в макете они не показаны, поэтому
 * типографика взята от абзаца, а маркер — акцентом палитры. Нумерация `ol`
 * остаётся штатной: правило возвращает списку браузерный `list-style`,
 * который глобальный сброс темы (`ul { list-style: none }`) снимает.
 */
body.page-template-page-privacy .page__content ul,
body.page-template-page-price-matrix .page__content ul,
body.single-post .page__content ul,
body.page-template-page-privacy .page__content ol,
body.page-template-page-price-matrix .page__content ol,
body.single-post .page__content ol {
    margin: 0 0 20px;
    padding-left: 24px;
    color: var(--nv-object-2);
}

body.page-template-page-privacy .page__content ul,
body.page-template-page-price-matrix .page__content ul,
body.single-post .page__content ul {
    list-style: disc;
}

body.page-template-page-privacy .page__content ol,
body.page-template-page-price-matrix .page__content ol,
body.single-post .page__content ol {
    list-style: decimal;
}

body.page-template-page-privacy .page__content li,
body.page-template-page-price-matrix .page__content li,
body.single-post .page__content li {
    color: var(--nv-object-2);
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 8px;
}

body.page-template-page-privacy .page__content li:last-child,
body.page-template-page-price-matrix .page__content li:last-child,
body.single-post .page__content li:last-child {
    margin-bottom: 0;
}

body.page-template-page-privacy .page__content li::marker,
body.page-template-page-price-matrix .page__content li::marker,
body.single-post .page__content li::marker {
    color: var(--nv-primary);
}

body.page-template-page-privacy .page__content li > ul,
body.page-template-page-price-matrix .page__content li > ul,
body.single-post .page__content li > ul,
body.page-template-page-privacy .page__content li > ol,
body.page-template-page-price-matrix .page__content li > ol,
body.single-post .page__content li > ol {
    margin-top: 8px;
    margin-bottom: 0;
}

/*
 * Таблицы — `751:14731`: сетка 1fr/2fr, зазор 8, пунктирная рамка ячеек.
 * Разметка Gutenberg (`figure.wp-block-table > table`) не меняется.
 *
 * Блок PAGE выше раскладывает ту же таблицу флексом (`tbody`/`tr` → flex).
 * Здесь раскладка возвращается табличной: зазор 8 даёт `border-spacing`,
 * пропорцию 1:2 — проценты при `table-layout: fixed`. Так ширина считается
 * от контейнера, а не от min-content строки (флекс-версия на узких экранах
 * растягивала таблицу до 700px и включала прокрутку внутри `.wp-block-table`),
 * и у строк и ячеек остаются их табличные роли для скринридеров.
 */
body.page-template-page-privacy .page__content .wp-block-table,
body.page-template-page-price-matrix .page__content .wp-block-table,
body.single-post .page__content .wp-block-table {
    margin: 32px 0;
}

/*
 * `border-spacing` добавляет зазор и по краям таблицы — компенсируем выносом.
 * `min-width` снимает запас 700px из `css/post.css`: он поставлен под таблицы
 * блога, где нужна прокрутка, а здесь колонки должны считаться от контейнера.
 */
body.page-template-page-privacy .page__content .wp-block-table table,
body.page-template-page-price-matrix .page__content .wp-block-table table,
body.single-post .page__content .wp-block-table table {
    width: calc(100% + 16px);
    min-width: 0;
    margin: 0 -8px;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 8px;
}

body.page-template-page-privacy .page__content .wp-block-table tbody,
body.page-template-page-price-matrix .page__content .wp-block-table tbody,
body.single-post .page__content .wp-block-table tbody {
    display: table-row-group;
}

body.page-template-page-privacy .page__content .wp-block-table tbody tr,
body.page-template-page-price-matrix .page__content .wp-block-table tbody tr,
body.single-post .page__content .wp-block-table tbody tr {
    display: table-row;
    width: auto;
}

body.page-template-page-privacy .page__content .wp-block-table td,
body.page-template-page-price-matrix .page__content .wp-block-table td,
body.single-post .page__content .wp-block-table td,
body.page-template-page-privacy .page__content .wp-block-table th,
body.page-template-page-price-matrix .page__content .wp-block-table th,
body.single-post .page__content .wp-block-table th {
    display: table-cell;
    vertical-align: middle;
    border-color: var(--nv-surface-4);
    color: var(--nv-object-2);
    font-size: 16px;
    line-height: 20px;
    overflow-wrap: break-word;
}

body.page-template-page-privacy .page__content .wp-block-table th,
body.page-template-page-price-matrix .page__content .wp-block-table th,
body.single-post .page__content .wp-block-table th {
    color: var(--nv-object-1);
    font-weight: 700;
    text-align: left;
}

body.page-template-page-privacy .page__content .wp-block-table tr td:first-child:nth-last-child(2),
body.page-template-page-price-matrix .page__content .wp-block-table tr td:first-child:nth-last-child(2),
body.single-post .page__content .wp-block-table tr td:first-child:nth-last-child(2) {
    width: 33.3333%;
}

body.page-template-page-privacy .page__content .wp-block-table tr td:first-child:nth-last-child(2) ~ td,
body.page-template-page-price-matrix .page__content .wp-block-table tr td:first-child:nth-last-child(2) ~ td,
body.single-post .page__content .wp-block-table tr td:first-child:nth-last-child(2) ~ td {
    width: 66.6667%;
}

/* Разделителей и цитат в текущем контенте нет — оформляем на запас. */
body.page-template-page-privacy .page__content hr,
body.page-template-page-price-matrix .page__content hr,
body.single-post .page__content hr {
    height: 0;
    margin: 32px 0;
    border: 0;
    border-top: 1px solid var(--nv-surface-4);
}

body.page-template-page-privacy .page__content blockquote,
body.page-template-page-price-matrix .page__content blockquote,
body.single-post .page__content blockquote {
    margin: 32px 0;
    padding: 16px 24px;
    border-left: 2px solid var(--nv-primary);
    border-radius: 0 12px 12px 0;
    background: var(--nv-surface-2);
}

body.page-template-page-privacy .page__content blockquote p:last-child,
body.page-template-page-price-matrix .page__content blockquote p:last-child,
body.single-post .page__content blockquote p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    /* Ниже 1440 макета нет — вертикаль ужимаем по логике темы. */
    body.page-template-page-privacy .content-page,
    body.page-template-page-price-matrix .content-page,
    body.single-post .content-page {
        padding-top: 128px;
    }

    body.page-template-page-privacy .page__title,
    body.page-template-page-price-matrix .page__title,
    body.single-post .page__title {
        font-size: 44px;
        line-height: 52px;
    }
}

@media (max-width: 767.98px) {
    body.page-template-page-privacy .content-page,
    body.page-template-page-price-matrix .content-page,
    body.single-post .content-page {
        padding-top: 112px;
        padding-bottom: 48px;
    }

    body.page-template-page-privacy .page__wrapper,
    body.page-template-page-price-matrix .page__wrapper,
    body.single-post .page__wrapper {
        gap: 32px;
    }

    body.page-template-page-privacy .page__title,
    body.page-template-page-price-matrix .page__title,
    body.single-post .page__title {
        font-size: 36px;
        line-height: 44px;
    }

    body.page-template-page-privacy .page__content p,
    body.page-template-page-price-matrix .page__content p,
    body.single-post .page__content p,
    body.page-template-page-privacy .page__content li,
    body.page-template-page-price-matrix .page__content li,
    body.single-post .page__content li {
        font-size: 16px;
        line-height: 26px;
    }

    body.page-template-page-privacy .page__content h2,
    body.page-template-page-price-matrix .page__content h2,
    body.single-post .page__content h2 {
        font-size: 22px;
        line-height: 32px;
    }

    body.page-template-page-privacy .page__content h3,
    body.page-template-page-price-matrix .page__content h3,
    body.single-post .page__content h3,
    body.page-template-page-privacy .page__content h4,
    body.page-template-page-price-matrix .page__content h4,
    body.single-post .page__content h4 {
        font-size: 18px;
        line-height: 26px;
    }
}

@media (max-width: 575.98px) {
    body.page-template-page-privacy .page__title,
    body.page-template-page-price-matrix .page__title,
    body.single-post .page__title {
        font-size: 28px;
        line-height: 36px;
    }

    /*
     * Макета на этой ширине нет. Поля ячеек ужимаем, а раскладку переводим
     * на `auto`: при `fixed` доля 1/3 опускалась до ~70px и слова в первой
     * колонке рвались посередине. На `auto` проценты остаются ориентиром,
     * но колонка не становится уже своего min-content; таблица по-прежнему
     * укладывается в контейнер и прокрутки не даёт.
     */
    body.page-template-page-privacy .page__content .wp-block-table table,
    body.page-template-page-price-matrix .page__content .wp-block-table table,
    body.single-post .page__content .wp-block-table table {
        table-layout: auto;
    }

    /*
     * Перенос внутри слова здесь выключается: он нужен был, чтобы длинное
     * слово не вылезло из колонки фиксированной ширины, но при `auto` он же
     * обнуляет min-content колонки, и она схлопывается обратно. Снимаем оба
     * источника: `overflow-wrap` темы и `word-break` ядра WordPress
     * (`.wp-block-table .has-fixed-layout td` в block-library). Длинные URL
     * в ячейке по-прежнему переносит правило для `a` выше.
     */
    body.page-template-page-privacy .page__content .wp-block-table td,
    body.page-template-page-price-matrix .page__content .wp-block-table td,
    body.single-post .page__content .wp-block-table td,
    body.page-template-page-privacy .page__content .wp-block-table th,
    body.page-template-page-price-matrix .page__content .wp-block-table th,
    body.single-post .page__content .wp-block-table th {
        padding: 10px 12px;
        overflow-wrap: break-word;
        word-break: normal;
    }
}

@media (max-width: 419.98px) {
    body.page-template-page-privacy .page__title,
    body.page-template-page-price-matrix .page__title,
    body.single-post .page__title {
        font-size: 24px;
        line-height: 32px;
    }

    body.page-template-page-privacy .page__last-text,
    body.page-template-page-price-matrix .page__last-text,
    body.single-post .page__last-text {
        font-size: 16px;
    }
}

body.page-template-page-price-matrix .section,
body.single-post .section {
    background: var(--nv-surface-1);
}

/* Title/H2 40/52 и Body text/Medium Medium 18/28 из макета. */
body.page-template-page-price-matrix .section__title,
body.single-post .section__title {
    color: var(--nv-object-1);
}

body.page-template-page-price-matrix .section__description,
body.single-post .section__description {
    color: var(--nv-object-2);
    font-weight: 500;
}
