/*
 * ProkatLike rich-text typography (V7).
 * Tailwind Preflight removes default margins, font sizes, and list markers.
 * Restore these ONLY for user-authored HTML, never for the site UI, forms or menus.
 * Loaded after the Vite bundle; no frontend rebuild is required.
 */

/* Sources: CMS pages, product descriptions, category descriptions,
 * article bodies, and HTML answers to product questions. */
:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) {
    font-size: 16px;
    line-height: 1.72;
    overflow-wrap: break-word;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(p) {
    margin: 0 0 1.05em;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(h1, h2, h3, h4, h5, h6) {
    font-family: var(--font-site, 'PT Sans', Arial, sans-serif);
    color: inherit;
    font-weight: 700;
    line-height: 1.28;
    letter-spacing: 0;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(h1) {
    margin: 1.5em 0 .65em;
    font-size: clamp(28px, 3.2vw, 34px);
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(h2) {
    margin: 1.45em 0 .6em;
    font-size: clamp(22px, 2.5vw, 27px);
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(h3) {
    margin: 1.4em 0 .55em;
    font-size: clamp(19px, 2.1vw, 22px);
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(h4, h5, h6) {
    margin: 1.25em 0 .55em;
    font-size: 18px;
}

/* Do not add a large empty space at the beginning or end of a content block. */
:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) > :where(h1, h2, h3, h4, h5, h6):first-child {
    margin-top: 0;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) > :last-child {
    margin-bottom: 0;
}

/* "Описание" is a page section title, not an arbitrary rich-text heading. */
.product-description > h2:first-child {
    margin: 0 0 22px;
    font-size: 30px;
    line-height: 1.15;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(ul, ol) {
    margin: .75em 0 1.15em;
    padding-inline-start: 1.6em;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(ul) {
    list-style: disc outside;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(ol) {
    list-style: decimal outside;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(ul ul) {
    list-style-type: circle;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(li + li) {
    margin-top: .35em;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(li > p) {
    margin-bottom: .35em;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(a) {
    color: var(--brand, #2d4b9b);
    text-decoration: underline;
    text-underline-offset: 2px;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(a:hover) {
    color: var(--brand-dark, #213b82);
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(blockquote) {
    margin: 1.25em 0;
    padding: .25em 0 .25em 1.1em;
    border-left: 3px solid var(--brand, #2d4b9b);
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(hr) {
    border: 0;
    border-top: 1px solid var(--line, #e3e6ec);
    margin: 1.6em 0;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(img, svg, video, iframe) {
    max-width: 100%;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(img) {
    height: auto;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(table) {
    width: 100%;
    max-width: 100%;
    margin: 1.2em 0;
    border-collapse: collapse;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(th, td) {
    padding: .65em .75em;
    border: 1px solid var(--line, #e3e6ec);
    text-align: left;
    vertical-align: top;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(th) {
    font-weight: 700;
}

:is(.static-content, .product-description, .category-description, .article-page .prose, .question-list details > div) :where(pre) {
    overflow-x: auto;
    max-width: 100%;
    margin: 1.2em 0;
    padding: 1em;
    background: var(--surface, #f4f5f7);
    border-radius: 6px;
    white-space: pre;
}

@media (max-width: 640px) {
    .product-description > h2:first-child {
        font-size: 26px;
    }
}
