/* krivix SEO, этап 3 (13.10.2026): оформление нашего контента — только внутри .kx.
   Страницы «О производителе», «Доска Бильгоу», статьи блога. Шаблон сбрасывает h2/h3/ul/strong
   (Meyer reset), поэтому заголовки, списки и таблицы стилизуем здесь. Подключается из krivix_seo.php. */

.info-article .kx { --kx-text: #333; --kx-pink: #F07FAE; --kx-pink-dark: #B0306A; --kx-tint: #FDF2F7; --kx-line: #EFD9E3; --kx-muted: #666; }

/* Шаблон даёт .info-article 18px/23px (1,28) — тесно для длинного текста; нашему блоку — 1,45 */
.info-article .kx { line-height: 1.45; }
/* Отступ до подвала после вопросов-ответов и подписи (Кирилл Евгеньевич 13.10.2026) */
.info-article .kx { padding-bottom: 64px; }
.info-article .kx p { margin: 0 0 16px; }
/* Колонка по центру (Кирилл Евгеньевич 13.10.2026): шаблон широкий (до 1170px, до 130 знаков в строке),
   наш текст и таблицы — одной колонкой 740px по центру (~78 знаков). Картинка страницы — над текстом по центру. */
.info-article .kx { max-width: 740px; margin-left: auto; margin-right: auto; }
.info-article:has(> .kx) > img,
.info-article .news-detail:has(.kx) > img.detail_picture { float: none; display: block; width: auto; height: auto; max-width: min(100%, 420px); max-height: 420px; margin: 0 auto 24px; }
.info-article .news-detail:has(.kx) > br { display: none; }
.section.info:has(.kx) > .title--info { max-width: 740px; margin-left: auto; margin-right: auto; }
/* Рядом с картинкой шаблона (.info-article img — float:left 470px) абзац с max-width сжимался до колонки ~120px.
   flow-root: блок встаёт рядом с картинкой целиком, а не обтекает её; маркеры списков не наезжают на картинку */
.info-article .kx p,
.info-article .kx ul,
.info-article .kx h2,
.info-article .kx h3,
.info-article .kx .kx-faq { display: flow-root; }
.info-article .kx .kx-lead { font-size: 20px; line-height: 28px; }
.info-article .kx strong { font-weight: 700; }
/* Таблица не помещается рядом с картинкой и уходит под неё — заголовок перед таблицей уходит вместе с ней */
.info-article .kx h2:has(+ .kx-table) { clear: both; }
.info-article .kx h2 { font-size: 26px; line-height: 34px; font-weight: 700; margin: 40px 0 14px; }
.info-article .kx h3 { font-size: 20px; line-height: 26px; font-weight: 700; margin: 26px 0 10px; }

.info-article .kx ul { margin: 0 0 20px; }
.info-article .kx ul li { position: relative; padding-left: 22px; margin: 0 0 10px; }
.info-article .kx ul li::before { content: ""; position: absolute; left: 4px; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--kx-pink); }

.info-article .kx a { color: var(--kx-text); text-decoration: underline; text-decoration-color: var(--kx-pink); text-underline-offset: 3px; }
.info-article .kx a:hover { color: var(--kx-pink-dark); }
.info-article .kx a:focus-visible { outline: 2px solid var(--kx-pink-dark); outline-offset: 2px; border-radius: 2px; }

/* Нумерованный список: шаблон сбрасывает ol (Meyer reset), без этого номеров не видно (13.10.2026) */
.info-article .kx ol { display: flow-root; margin: 0 0 20px; padding-left: 28px; list-style: decimal; }
.info-article .kx ol li { margin: 0 0 10px; padding-left: 4px; }
.info-article .kx ol li::marker { font-weight: 700; color: var(--kx-pink-dark); }

/* Фото внутри текста с подписью; шаблонный float у .info-article img снимаем (13.10.2026) */
.info-article .kx .kx-figure { margin: 24px auto; max-width: 360px; }
.info-article .kx .kx-figure img { float: none; display: block; width: 100%; max-width: 100%; height: auto; margin: 0; border-radius: 10px; }
.info-article .kx .kx-figure--wide { max-width: 100%; }
.info-article .kx .kx-figure figcaption { margin-top: 8px; font-size: 15px; line-height: 21px; color: var(--kx-muted); text-align: center; }

/* Описание в карточке товара: наши описания — абзацами <p>, шаблон обнуляет отступы абзацев (13.10.2026) */
.product-descr-text p { margin: 0 0 12px; }
.product-descr-text p:last-child { margin-bottom: 0; }
.product-descr-text a { color: inherit; text-decoration: underline; text-decoration-color: #F07FAE; text-underline-offset: 3px; }

/* Таблицы */
.info-article .kx .kx-table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 16px; line-height: 22px; }
.info-article .kx .kx-table th,
.info-article .kx .kx-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--kx-line); }
.info-article .kx .kx-table thead th { background: var(--kx-tint); font-weight: 700; }
.info-article .kx .kx-table tbody th { font-weight: 700; }
.info-article .kx .kx-price { font-weight: 700; white-space: nowrap; }
.info-article .kx .kx-table td[data-label="Размер"],
.info-article .kx .kx-table td[data-label="Вес"] { white-space: nowrap; }
.info-article .kx .kx-table tbody th a { text-decoration: none; }
.info-article .kx .kx-table tbody th a:hover { text-decoration: underline; text-decoration-color: var(--kx-pink); }

/* Кнопка «Купить»: обводка фирменным розовым, тёмный текст — белый на #F07FAE даёт 2,6:1 */
.info-article .kx a.kx-buy { display: inline-block; margin-top: 8px; padding: 8px 18px; border: 2px solid var(--kx-pink); border-radius: 22px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.info-article .kx a.kx-buy:hover { background: var(--kx-tint); color: var(--kx-text); }

/* Вопросы и ответы */
.info-article .kx .kx-faq { margin: 0 0 24px; border-top: 1px solid var(--kx-line); }
.info-article .kx .kx-faq details { border-bottom: 1px solid var(--kx-line); }
.info-article .kx .kx-faq summary { position: relative; padding: 16px 40px 16px 0; font-weight: 700; cursor: pointer; list-style: none; }
.info-article .kx .kx-faq summary::-webkit-details-marker { display: none; }
.info-article .kx .kx-faq summary::after { content: "+"; position: absolute; right: 8px; top: 13px; font-size: 26px; line-height: 26px; color: var(--kx-pink-dark); }
.info-article .kx .kx-faq details[open] summary::after { content: "−"; }
.info-article .kx .kx-faq summary:focus-visible { outline: 2px solid var(--kx-pink-dark); outline-offset: 2px; }
.info-article .kx .kx-faq details p { margin: 0 0 16px; }

.info-article .kx .kx-note { font-size: 15px; line-height: 21px; color: var(--kx-muted); }
.info-article .kx .kx-sign { clear: both; margin-top: 32px; padding-top: 14px; border-top: 1px solid var(--kx-line); font-size: 15px; line-height: 21px; color: var(--kx-muted); }

@media only screen and (max-width: 650px) {
    .info-article .kx { padding-bottom: 44px; }
    .info-article .kx .kx-lead { font-size: 17px; line-height: 24px; }
    .info-article .kx h2 { font-size: 21px; line-height: 28px; margin: 30px 0 10px; }
    .info-article .kx h3 { font-size: 18px; line-height: 24px; }
    .info-article .kx ul li::before { top: 7px; }

    /* Широкие таблицы на телефоне — карточками: каждая строка отдельным блоком, подписи из data-label */
    .info-article .kx .kx-table--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .info-article .kx .kx-table--stack,
    .info-article .kx .kx-table--stack tbody,
    .info-article .kx .kx-table--stack tr,
    .info-article .kx .kx-table--stack th,
    .info-article .kx .kx-table--stack td { display: block; width: auto; }
    .info-article .kx .kx-table--stack tr { margin: 0 0 12px; padding: 12px 14px; border: 1px solid var(--kx-line); border-radius: 10px; }
    .info-article .kx .kx-table--stack th,
    .info-article .kx .kx-table--stack td { padding: 4px 0; border: 0; }
    .info-article .kx .kx-table--stack tbody th { font-size: 17px; }
    .info-article .kx .kx-table--stack td[data-label]::before { content: attr(data-label); display: block; font-size: 13px; line-height: 18px; color: var(--kx-muted); }
    /* Карточка модели: цена и кнопка — в строке с названием, справа */
    .info-article .kx .kx-table--stack tr.kx-row-price { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; }
    .info-article .kx .kx-table--stack tr.kx-row-price > * { grid-column: 1 / -1; }
    .info-article .kx .kx-table--stack tr.kx-row-price > th { grid-column: 1; grid-row: 1; }
    .info-article .kx .kx-table--stack tr.kx-row-price > td.kx-col-price { grid-column: 2; grid-row: 1; text-align: right; }
    .info-article .kx .kx-table--stack tr.kx-row-price > td.kx-col-price::before { display: none; }
}
