
/* ===== Универсальный скоуп под сырой HTML ===== */

/*
примечание по интеграции:
контент создается через устаревшую версию визуального редатора froala
эта froala не умеет создавать контен верстая его классами тайлвинда
поэтому чтобы этот контент хоть как то адекватно отображался,
то он помещается внутрь контейнера <div class="raw-html"> ... </div>
а велосипедные стили для содержимого этой обертки
содержатся в файле public/css/raw-html.css
*/

.raw-html {
    color: #0b0b0f;
    font-size: 1rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.raw-html > *:first-child {
    margin-top: 0;
}

.raw-html > *:last-child {
    margin-bottom: 0;
}

.raw-html p {
    margin: 0.75rem 0;
}

.raw-html strong {
    font-weight: 600;
}

.raw-html em {
    font-style: italic;
}

.raw-html a {
    color: #2563eb;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.raw-html a:hover {
    color: #1d4ed8;
}

/* Заголовки */
.raw-html h1,
.raw-html h2,
.raw-html h3,
.raw-html h4,
.raw-html h5,
.raw-html h6 {
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
    font-weight: 600;
    line-height: 1.25;
}

.raw-html h1 {
    font-size: 1.625rem;
}

.raw-html h2 {
    font-size: 1.175rem;
}

.raw-html h3 {
    font-size: 1.125rem;
}

/* Списки */
.raw-html ul,
.raw-html ol {
    margin: 0.75rem 0 0.75rem 1.25rem;
    padding-left: 1.25rem;
}

.raw-html ul {
    list-style: disc;
}

.raw-html ol {
    list-style: decimal;
}

.raw-html li {
    margin: 0.25rem 0;
}

/* Медиа */
.raw-html img,
.raw-html video,
.raw-html svg,
.raw-html canvas,
.raw-html iframe {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0.75rem auto;
    border-radius: 0.75rem;
}

/* Цитаты/разделители */
.raw-html blockquote {
    margin: 1rem 0;
    padding-left: 1rem;
    border-left: 3px solid #e5e7eb;
    color: #6b7280;
    font-style: italic;
}

.raw-html hr {
    border: 0;
    border-top: 1px solid #e5e7eb;
    margin: 1.5rem 0;
}

/* Код */
.raw-html code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
    font-size: 0.925em;
    background: #f4f4f5;
    padding: 0.125rem 0.375rem;
    border-radius: 0.375rem;
}

.raw-html pre {
    background: #f4f4f5;
    padding: 0.75rem;
    border-radius: 0.75rem;
    overflow-x: auto;
}

/* Таблицы (универсально) */
.raw-html table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    overflow: hidden;
    margin: 1rem 0;
}

.raw-html thead tr {
    background: #f6f7f9;
}

.raw-html th,
.raw-html td {
    padding: 0.625rem 0.75rem;
    border-bottom: 1px solid #e5e7eb;
    vertical-align: top;
}

.raw-html tbody tr:nth-child(odd) td {
    background: color-mix(in oklab, #f6f7f9 65%, transparent);
}

/* Если нет thead — мягкая подсветка первой строки */
.raw-html tbody tr:first-child td {
    font-weight: 600;
    background: color-mix(in oklab, #f6f7f9 85%, transparent);
}

/* Ровные поля у типовых блоков */
.raw-html :where(h1, h2, h3, h4, h5, h6, p, ul, ol, pre, table, blockquote) {
    margin-left: 0;
    margin-right: 0;
}
