/* Article image styles */
.article-body img {
    border-radius: 16px;
    max-width: 100%;
    height: auto;
    display: block;
    margin: 16px 0;
}

/* ===== Generic tables inside article body ===== */
/* Стилизация "голых" <table> в контенте статей (без классов) */

.article-body table,
.dynamic-loaded-body table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.5;
    margin: 24px 0;
    overflow: hidden;
    border: 1px solid var(--border-color);
    border-radius: 16px;
    box-shadow: var(--shadow-sm);
}

.article-body table th,
.article-body table td,
.dynamic-loaded-body table th,
.dynamic-loaded-body table td {
    padding: 12px 20px;
    text-align: left;
    border-bottom: 1px solid var(--border-color);
    vertical-align: top;
}

.article-body table th,
.dynamic-loaded-body table th {
    background: var(--bg-light);
    font-weight: 600;
    color: var(--article-text-primary);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.article-body table tr:last-child td,
.dynamic-loaded-body table tr:last-child td {
    border-bottom: none;
}

.article-body table tr:hover td,
.dynamic-loaded-body table tr:hover td {
    background: rgba(16, 137, 255, 0.03);
}

.article-body table td:first-child,
.dynamic-loaded-body table td:first-child {
    font-weight: 500;
    color: var(--article-text-primary);
}

/* Обёртка таблиц для горизонтального скролла на мобильных */
.article-body .table-wrapper,
.dynamic-loaded-body .table-wrapper {
    overflow-x: auto;
    margin: 24px 0;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    box-shadow: var(--shadow-sm);
}

.article-body .table-wrapper table,
.dynamic-loaded-body .table-wrapper table {
    margin: 0;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* Заглушки изображений в статьях (место для будущих фото) */
.article-body .article-image-placeholder,
.dynamic-loaded-body .article-image-placeholder {
    margin: 24px 0;
    border: 1px dashed var(--border-color);
    border-radius: 16px;
    background:
        repeating-linear-gradient(45deg, var(--bg-light), var(--bg-light) 14px, rgba(16, 137, 255, 0.03) 14px, rgba(16, 137, 255, 0.03) 28px);
    padding: 28px 20px;
    text-align: center;
    box-shadow: var(--shadow-sm);
}

.article-body .article-image-name,
.dynamic-loaded-body .article-image-name {
    font-size: 13px;
    color: var(--article-text-secondary);
    font-style: italic;
    line-height: 1.6;
}

/* Подпись к изображению (div-замена figcaption, т.к. HtmlPurifier вырезает figure/figcaption) */
.article-body .article-image .article-image-caption,
.dynamic-loaded-body .article-image .article-image-caption {
    padding: 12px 16px;
    font-size: 13px;
    color: var(--article-text-secondary);
    background: var(--bg-light);
    text-align: center;
    font-style: italic;
    line-height: 1.5;
}
