/**
 * 文章内容样式 - 适配自动格式化系统
 *
 * 功能：
 * 1. 为自动格式化的内容提供统一样式
 * 2. 响应式设计，适配PC和移动端
 * 3. 兜底样式，确保未格式化内容也能正常显示
 * 4. 打印样式优化
 */

/* ==================== 文章容器 ==================== */

.article-content,
.article-content-text {
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB",
                 "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.8;
    color: #333;
    background: #fff;
}

.article-content-text {
    padding: 0;
    max-width: none;
}

/* 移动端适配 */
@media (max-width: 768px) {
    .article-content,
    .article-content-text {
        padding: 15px;
        font-size: 15px;
    }

    .article-content-text {
        padding: 0;
    }
}

/* ==================== 普通段落 ==================== */

.article-paragraph {
    text-indent: 2em;           /* 首行缩进2字符 */
    line-height: 1.8;           /* 行高1.8倍 */
    margin: 16px 0;             /* 段落间距 */
    font-size: 16px;
    color: #333;
    text-align: justify;        /* 两端对齐 */
    word-wrap: break-word;      /* 长单词换行 */
    word-break: break-word;     /* 中英文混排换行 */
}

/* 移动端段落样式 */
@media (max-width: 768px) {
    .article-paragraph {
        text-indent: 2em;
        margin: 12px 0;
        font-size: 15px;
        line-height: 1.7;
    }
}

/* 段落内的强调文本 */
.article-paragraph strong {
    font-weight: 600;
    color: #1a3b5d;
}

.article-paragraph em {
    font-style: italic;
    color: #555;
}

/* ==================== 标题样式 ==================== */

.article-heading {
    font-size: 20px;
    font-weight: 600;
    color: #1a3b5d;             /* 律师网站专业色 */
    margin: 24px 0 16px;
    text-indent: 0;             /* 标题不缩进 */
    line-height: 1.5;
    border-left: 4px solid #c9a961;  /* 金色左边框 */
    padding-left: 12px;
}

/* 移动端标题 */
@media (max-width: 768px) {
    .article-heading {
        font-size: 18px;
        margin: 20px 0 12px;
        padding-left: 10px;
    }
}

/* ==================== 列表样式 ==================== */

.article-list {
    margin: 16px 0;
    padding-left: 0;
    list-style: none;
}

.article-list-item {
    padding-left: 2em;
    line-height: 1.8;
    margin: 8px 0;
    position: relative;
    color: #333;
}

/* 列表项前的圆点 */
.article-list-item::before {
    content: "●";
    color: #c9a961;             /* 金色圆点 */
    font-weight: bold;
    position: absolute;
    left: 0.5em;
}

/* 移动端列表 */
@media (max-width: 768px) {
    .article-list-item {
        padding-left: 1.5em;
        margin: 6px 0;
        font-size: 15px;
    }
}

/* ==================== 引用块样式 ==================== */

.article-quote {
    margin: 20px 0;
    padding: 15px 20px;
    background: #f8f9fa;
    border-left: 4px solid #c9a961;
    color: #555;
    font-style: italic;
    line-height: 1.8;
}

.article-quote::before {
    content: """;
    font-size: 32px;
    color: #c9a961;
    line-height: 1;
    margin-right: 8px;
}

/* 移动端引用 */
@media (max-width: 768px) {
    .article-quote {
        padding: 12px 15px;
        margin: 15px 0;
        font-size: 14px;
    }
}

/* ==================== 高亮文本 ==================== */

.article-highlight {
    background: linear-gradient(to bottom, transparent 50%, #fff4cc 50%);
    padding: 2px 4px;
    font-weight: 500;
    color: #1a3b5d;
}

/* ==================== 兜底样式（未格式化内容） ==================== */

/* 如果段落没有类名，应用默认样式 */
.article-content p:not([class]),
.article-content-text p:not([class]) {
    text-indent: 2em;
    line-height: 1.8;
    margin: 16px 0;
    font-size: 16px;
    color: #333;
}

.article-content h3:not([class]),
.article-content-text h3:not([class]) {
    font-size: 20px;
    font-weight: 600;
    color: #1a3b5d;
    margin: 24px 0 16px;
    text-indent: 0;
}

.article-content ul:not([class]),
.article-content-text ul:not([class]) {
    margin: 16px 0;
    padding-left: 2em;
}

.article-content li:not([class]),
.article-content-text li:not([class]) {
    line-height: 1.8;
    margin: 8px 0;
}

.article-content blockquote:not([class]),
.article-content-text blockquote:not([class]) {
    margin: 20px 0;
    padding: 15px 20px;
    background: #f8f9fa;
    border-left: 4px solid #c9a961;
    color: #555;
}

/* ==================== 特殊段落样式 ==================== */

/* 居中对齐 */
.article-paragraph[data-align="center"],
.article-content p[style*="text-align: center"],
.article-content p[style*="text-align:center"],
.article-content-text p[style*="text-align: center"],
.article-content-text p[style*="text-align:center"] {
    text-align: center;
    text-indent: 0;
}

/* 右对齐 */
.article-paragraph[data-align="right"],
.article-content p[style*="text-align: right"],
.article-content p[style*="text-align:right"],
.article-content-text p[style*="text-align: right"],
.article-content-text p[style*="text-align:right"] {
    text-align: right;
    text-indent: 0;
}

/* 无缩进 */
.article-paragraph[data-indent="none"],
.article-content p[style*="text-indent: 0"],
.article-content p[style*="text-indent:0"],
.article-content-text p[style*="text-indent: 0"],
.article-content-text p[style*="text-indent:0"] {
    text-indent: 0;
}

/* ==================== 图片样式 ==================== */

.article-content img,
.article-content-text img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px auto;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 图片说明文字 */
.article-content figcaption,
.article-content-text figcaption {
    text-align: center;
    color: #666;
    font-size: 14px;
    margin-top: 8px;
    font-style: italic;
}

/* ==================== 表格样式 ==================== */

.article-content table,
.article-content-text table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 15px;
}

.article-content table th,
.article-content table td,
.article-content-text table th,
.article-content-text table td {
    border: 1px solid #ddd;
    padding: 12px;
    text-align: left;
}

.article-content table th,
.article-content-text table th {
    background: #f8f9fa;
    font-weight: 600;
    color: #1a3b5d;
}

.article-content table tr:hover,
.article-content-text table tr:hover {
    background: #f8f9fa;
}

/* 移动端表格横向滚动 */
@media (max-width: 768px) {
    .article-content table,
    .article-content-text table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
}

/* ==================== 代码样式 ==================== */

.article-content code,
.article-content-text code {
    background: #f5f5f5;
    padding: 2px 6px;
    border-radius: 3px;
    font-family: "Courier New", Courier, monospace;
    font-size: 14px;
    color: #e83e8c;
}

.article-content pre,
.article-content-text pre {
    background: #f5f5f5;
    padding: 15px;
    border-radius: 4px;
    overflow-x: auto;
    margin: 20px 0;
}

.article-content pre code,
.article-content-text pre code {
    background: none;
    padding: 0;
    color: #333;
}

/* ==================== 链接样式 ==================== */

.article-content a,
.article-content-text a {
    color: #1a3b5d;
    text-decoration: none;
    border-bottom: 1px solid #c9a961;
    transition: all 0.3s ease;
}

.article-content a:hover,
.article-content-text a:hover {
    color: #c9a961;
    border-bottom-color: #1a3b5d;
}

/* ==================== 分隔线 ==================== */

.article-content hr,
.article-content-text hr {
    border: none;
    border-top: 2px solid #e0e0e0;
    margin: 30px 0;
}

/* ==================== 打印样式 ==================== */

@media print {
    .article-content,
    .article-content-text {
        max-width: 100%;
        padding: 0;
        font-size: 12pt;
        color: #000;
    }

    .article-paragraph {
        margin: 10pt 0;
        line-height: 1.6;
    }

    .article-heading {
        page-break-after: avoid;
        color: #000;
        border-left-color: #666;
    }

    .article-content a,
    .article-content-text a {
        color: #000;
        border-bottom: none;
        text-decoration: underline;
    }

    /* 打印时显示链接地址 */
    .article-content a[href]::after,
    .article-content-text a[href]::after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        color: #666;
    }
}

/* ==================== 辅助类 ==================== */

/* 法律文书模板样式 - 全宽显示，不受800px限制 */
.article-content .legal-document,
.article-content-text .legal-document,
.article-content .document-template,
.article-content-text .document-template {
    max-width: none;
    width: 100%;
    margin: 2rem -20px;
    padding: 2.5rem 3rem;
    background: #fafbfc;
    border: 2px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
    font-family: "SimSun", "宋体", serif;
    line-height: 2;
    overflow: visible;
}

/* 文书内的段落不缩进 */
.article-content .legal-document p,
.article-content-text .legal-document p,
.article-content .document-template p,
.article-content-text .document-template p {
    text-indent: 0;
    margin: 1rem 0;
    line-height: 2;
}

/* 文书标题（如：致：xxx） */
.article-content .legal-document > p:first-child,
.article-content-text .legal-document > p:first-child,
.article-content .document-template > p:first-child,
.article-content-text .document-template > p:first-child {
    font-weight: 600;
    font-size: 1.125rem;
    margin-bottom: 1.5rem;
}

/* 文书列表 */
.article-content .legal-document ol,
.article-content-text .legal-document ol,
.article-content .document-template ol,
.article-content-text .document-template ol {
    margin: 1.5rem 0;
    padding-left: 2em;
}

.article-content .legal-document ol li,
.article-content-text .legal-document ol li,
.article-content .document-template ol li,
.article-content-text .document-template ol li {
    text-indent: 0;
    margin: 1rem 0;
    line-height: 2;
}

/* 签名区域 */
.article-content .legal-document .signature-area,
.article-content-text .legal-document .signature-area,
.article-content .document-template .signature-area,
.article-content-text .document-template .signature-area {
    margin-top: 3rem;
    text-indent: 0;
}

/* 下划线填空 */
.article-content .legal-document .underline,
.article-content-text .legal-document .underline,
.article-content .document-template .underline,
.article-content-text .document-template .underline {
    display: inline-block;
    min-width: 12em;
    border-bottom: 1px solid #333;
    text-align: center;
    padding: 0 0.5em;
}

/* 短填空 */
.article-content .legal-document .blank,
.article-content-text .legal-document .blank,
.article-content .document-template .blank,
.article-content-text .document-template .blank {
    display: inline-block;
    min-width: 4em;
    border-bottom: 1px solid #333;
    text-align: center;
    padding: 0 0.5em;
}

/* 移动端适配 */
@media (max-width: 768px) {
    .article-content .legal-document,
    .article-content-text .legal-document,
    .article-content .document-template,
    .article-content-text .document-template {
        margin: 1.5rem -15px;
        padding: 1.5rem 1rem;
        font-size: 14px;
    }
}

/* 清除浮动 */
.article-content::after,
.article-content-text::after {
    content: "";
    display: table;
    clear: both;
}

/* 文本选中样式 */
.article-content ::selection,
.article-content-text ::selection {
    background: #c9a961;
    color: #fff;
}

.article-content ::-moz-selection,
.article-content-text ::-moz-selection {
    background: #c9a961;
    color: #fff;
}

/* ==================== 自动格式化标记（调试用） ==================== */

/* 开发环境下显示自动格式化的内容边框（可选） */
/*
[data-auto-formatted="true"] {
    outline: 1px dashed rgba(201, 169, 97, 0.3);
}
*/
