/* ============================================================
   single.css — 文章页样式
   ============================================================ */


/* ========== 基础骨架 ========== */
.single .full-page { background: #fff; }
.single .breadcrumb { margin: 0 0 20px; }

@media (min-width: 1024px) {
    .single .breadcrumb { margin: 0 0 30px; }
}

/* ========== 标题区 ========== */
.hero-container {
    width: 100%;
    margin: 0 auto;
    padding: 0 16px;
    margin-bottom: 20px;
    background: var(--bg-page);
}

@media (min-width: 1024px) {
    .hero-container {
        margin: 0;
        padding: 0 24px;
    }
}

@media (min-width: 1200px) {
    .hero-container {
        padding: 0 30px;
    }
}

.hero-container .container {
    width: 100%;
    max-width: var(--max);
    margin: 0 auto;
    padding: 20px 0 0;
}

@media (min-width: 1024px) {
    .hero-container .container {
        padding: 40px 0 0;
    }
}

/* ========== 标题与元信息 ========== */
.article-header {
    padding: 0;
    margin-bottom: 20px;
}

.article-title {
    font-size: 24px;
    margin: 0 0 8px 0;
    color: var(--theme-color);
    line-height: 1.3;
}

.article-meta {
    display: flex;
    font-size: 12px;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    color: var(--text-muted);
}

.article-author {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.article-author-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--theme-color);
    font-weight: 600;
}

.article-author-link:hover { opacity: .75; }

.article-author-avatar img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.article-author-name { line-height: 24px; }

@media (min-width: 1024px) {
    .article-header {
        padding: 0 24px;
        margin-bottom: 40px;
    }

    .article-title {
        font-size: 42px;
        margin-bottom: 20px;
    }
}

@media (min-width: 1200px) {
    .article-header {
        padding: 0 30px;
    }

    .article-title {
        max-width: 70%;
        font-size: 50px;
    }
}

/* ========== 文章容器 ========== */
.article-page-wrapper {
    margin: 0 auto;
    padding-bottom: 50px;
    flex: 1;
}

.article-container {
    display: block;
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 16px 0;
}

@media (min-width: 1024px) {
    .article-page-wrapper {
        max-width: 1440px;
        margin: 40px auto 0;
    }

    .article-container {
        display: block;
        padding: 0 24px 40px;
    }
}

@media (min-width: 1200px) {
    .article-container {
        display: grid;
        grid-template-columns: 250px minmax(0, 1fr);
        gap: 40px;
        align-items: start;
        padding: 0 30px 40px;
    }
}

/* ========== 左栏工具区 ========== */
.article-toc {
    display: none;
    align-self: start;
    min-width: 0;
}

.toc-inner {
    width: 100%;
}

.toc-scroll {
    max-height: calc(100vh - 108px);
    overflow-y: auto;
    scrollbar-width: none;
    padding-right: 4px;
}

.toc-scroll::-webkit-scrollbar { display: none; }

/* 工具按钮 */
.tool-btns {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 24px;
    padding: 0 4px;
}

.tool-btn {
    all: unset;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    margin-bottom: 4px;
    background: #fff;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    color: var(--text-normal);
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.tool-btn:hover {
    border-color: var(--theme-color);
    background: var(--alpha-black-04);
    color: var(--theme-color);
}

.tool-btn:active {
    transform: scale(0.96);
}

/* 文章目录 */
.toc-nav {
    margin-bottom: 8px;
}

.toc-title {
    margin: 0 0 14px;
    padding-left: 2px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--text-muted);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.toc-list {
    list-style: none;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid rgba(76, 59, 113, 0.12);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.72);
    position: relative;
}

.toc-item { margin: 0; }

.toc-link {
    position: relative;
    display: block;
    padding: 6px 0 6px 18px;
    font-size: 14px;
    line-height: 1.55;
    color: var(--text-normal);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color .2s ease, transform .2s ease;
}

.toc-link::before {
    content: "";
    position: absolute;
    left: -3px;
    top: 13px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d8d3e2;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.toc-link:hover {
    color: var(--theme-color);
    transform: translateX(1px);
}

.toc-link:hover::before {
    background: rgba(76, 59, 113, 0.55);
}

.toc-link.is-active {
    color: var(--theme-color);
    font-weight: 600;
}

.toc-link.is-active::before {
    background: var(--theme-color);
    transform: scale(1.15);
    box-shadow: 0 0 0 4px rgba(76, 59, 113, 0.10);
}

@media (min-width: 1200px) {
    .article-toc {
        display: block;
        width: 250px;
        min-width: 250px;
        padding-right: 0;
        position: relative;
        align-self: start;
    }

    .toc-inner {
        position: relative;
        width: 100%;
    }

    .toc-scroll {
        max-height: calc(100vh - 134px);
        overflow-y: auto;
        padding-right: 4px;
    }

    .toc-title {
        margin-bottom: 12px;
        font-size: 13px;
    }

    .toc-list {
        padding: 18px 18px 16px;
    }

    .tool-btns {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 8px;
        margin-bottom: 28px;
        padding: 0;
    }

    .tool-btn {
        justify-content: flex-start;
        padding-left: 14px;
    }
}

/* ========== 正文区 ========== */
.article-content-wrapper {
    width: 100%;
    min-width: 0;
}

/* 特色图片 */
.article-hero {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--radius-xs);
    margin: 0 0 24px;
    background: var(--bg-placeholder);
}

.article-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.article-hero-caption {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-muted);
    text-align: right;
}

/* 正文开始 */
.article-body {
    display: flex;
    flex-direction: column;
}

.article-main { min-width: 0; }

@media (min-width: 1024px) {
    .article-hero {
        aspect-ratio: 16 / 9;
        margin: 0 0 40px;
        height: auto;
        border-radius: var(--radius-md);
    }

    .article-body {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 300px;
        gap: 40px;
        align-items: start;
    }

    .article-main {
        min-width: 0;
    }

    .article-sidebar {
        margin-top: 0;
    }
}

@media (min-width: 1200px) {
    .article-body {
        grid-template-columns: minmax(0, 1fr) 320px;
        gap: 40px;
    }
}

/* ========== 正文排版 ========== */
.article-content {
    font-size: 17px;
    color: var(--text-dark);
    line-height: 1.9;
    text-align: left;
    letter-spacing: 0;
    word-spacing: 0;
}

.article-content p {
    margin: 0 0 24px 0;
    line-height: 1.9;
}

.article-content ul li {
    margin-bottom: 20px;
}

.article-content a {
    color: var(--link-color-pink);
    text-decoration-line: underline;
    text-underline-offset: 3px;
}

.article-content a:hover {
    color: var(--link-color);
}

.article-content h2 {
    font-size: clamp(20px, 4vw, 24px);
    font-weight: 700;
    color: var(--theme-color);
    scroll-margin-top: 20px;
}

.article-content img:not(.product-img):not(.spotlight-product-img) {
    width: 100%;
    height: auto;
    border-radius: var(--radius-xs);
}

.article-illustration {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    margin: 8px 0 16px;
}

@media (min-width: 1024px) {
    .article-content img:not(.product-img):not(.spotlight-product-img) {
        width: 100%;
        display: block;
    }
}

/* ========== 速览卡 ========== */
.cwp-em-card {
    margin: 0 0 30px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    background: #fff;
    overflow: hidden;
}

.em-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 30px;
    font-weight: bold;
}

.cwp-em-card.is-collapsed .em-header {
    border-bottom-color: transparent;
}

.em-badge { font-size: 18px; }

.em-header button {
    display: inherit;
    align-items: center;
    margin-right: -5px;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    border: 0;
    background: transparent !important;
    cursor: pointer;
    color: var(--text-muted);
}

.infobox-toggle {
    transition: transform 0.3s ease;
}

.em-content-wrapper {
    display: grid;
    grid-template-rows: 1fr;
    padding: 0 30px 20px;
    transition: grid-template-rows 0.3s ease-out, padding 0.3s ease;
}

.cwp-em-card.is-collapsed .em-content-wrapper {
    grid-template-rows: 0fr;
    padding: 0 30px;
}

.em-content-inner { overflow: hidden; font-size: 16px; }

.em-grid-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 0 15px;
    margin-bottom: 15px;
    border-bottom: 1px dashed #e5e7eb;
}

.em-grid-row:last-child,
.em-grid-row.no-border {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.em-grid-row.single_column { grid-template-columns: 1fr; }

.em-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    padding: 0;
}

.em-grid-row:not(.single_column) .em-item + .em-item {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px dashed #e5e7eb;
}

.item-label {
    font-size: 12px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: var(--text-muted);
}

.item-val { line-height: 1.5; }

/* 速览补充 */
.border-dashed {
    border-bottom-style: dashed;
    border-bottom-color: #e5e7eb;
}

.em-row-bottom {
    display: none;
}

.em-row-bottom .em-item { padding: 0; }

/* 风险等级 */
.tips-text { color: #ff7d7a; }
.tips-text-green { color: #27ae60; }

.risk-stars { letter-spacing: 2px; }
.risk-text { margin-left: 10px; }
.risk-label { font-weight: 700; }
.risk-level-1 { color: #f9cad2; }
.risk-level-2 { color: #f6b0bc; }
.risk-level-3 { color: #f396a6; }
.risk-level-4 { color: #f07d95; }
.risk-level-5 { color: #fe6d84; }

/* 品种页 */
.maomi-pinzhong .em-grid-row:not(.single_column),
.gougou-pinzhong .em-grid-row:not(.single_column) {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.maomi-pinzhong .em-grid-row:not(.single_column) .em-item + .em-item,
.gougou-pinzhong .em-grid-row:not(.single_column) .em-item + .em-item {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

/* 疾病 / 药物 / 症状 移动端 */
.maomi-jibing .em-content-inner,
.gougou-jibing .em-content-inner,
.maomi-yaowu .em-content-inner,
.gougou-yaowu .em-content-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
}

.maomi-jibing .em-content-inner > .em-grid-row,
.gougou-jibing .em-content-inner > .em-grid-row,
.maomi-yaowu .em-content-inner > .em-grid-row,
.gougou-yaowu .em-content-inner > .em-grid-row {
    display: contents;
}

.maomi-jibing .em-content-inner > .em-grid-row > .em-item,
.gougou-jibing .em-content-inner > .em-grid-row > .em-item,
.maomi-yaowu .em-content-inner > .em-grid-row > .em-item,
.gougou-yaowu .em-content-inner > .em-grid-row > .em-item {
    position: relative;
    grid-column: 1 / -1;
    padding: 0 0 18px;
    margin-bottom: 18px;
    border-bottom: none;
}

.maomi-jibing .em-content-inner > .em-grid-row > .em-item + .em-item,
.gougou-jibing .em-content-inner > .em-grid-row > .em-item + .em-item,
.maomi-yaowu .em-content-inner > .em-grid-row > .em-item + .em-item,
.gougou-yaowu .em-content-inner > .em-grid-row > .em-item + .em-item {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.maomi-yaowu .em-grid-row,
.gougou-yaowu .em-grid-row {
    border-bottom: none !important;
}

/* 药物卡 */
.maomi-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:nth-child(1),
.maomi-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:nth-child(2),
.gougou-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:nth-child(1),
.gougou-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:nth-child(2),
.maomi-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:nth-child(1),
.maomi-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:nth-child(2),
.gougou-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:nth-child(1),
.gougou-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:nth-child(2) {
    grid-column: auto;
}

.maomi-yaowu .em-content-inner > .em-grid-row > .em-item::after,
.gougou-yaowu .em-content-inner > .em-grid-row > .em-item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-bottom: 1px dashed #e5e7eb;
    pointer-events: none;
}

.maomi-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:first-child::after,
.gougou-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:first-child::after,
.maomi-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:first-child::after,
.gougou-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:first-child::after {
    width: calc(200% + 16px);
}

.maomi-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:last-child::after,
.gougou-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:last-child::after,
.maomi-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:last-child::after,
.gougou-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:last-child::after,
.maomi-yaowu .em-content-inner > .em-grid-row:last-child > .em-item::after,
.gougou-yaowu .em-content-inner > .em-grid-row:last-child > .em-item::after {
    content: none;
}

.maomi-yaowu .em-content-inner > .em-grid-row:last-child > .em-item,
.gougou-yaowu .em-content-inner > .em-grid-row:last-child > .em-item {
    margin-bottom: 0;
}

@media (min-width: 1024px) {
    .em-grid-row {
        grid-template-columns: 1fr;
        gap: 0;
        background: none;
    }

    .em-item {
        padding: 0;
        justify-content: flex-start;
    }

    .em-grid-row .em-item + .em-item {
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px dashed #e5e7eb;
    }

    .maomi-pinzhong .em-grid-row:not(.single_column) .em-item + .em-item,
    .gougou-pinzhong .em-grid-row:not(.single_column) .em-item + .em-item {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
    }

    .single_column { grid-column: 1 / -1; }

    .maomi-jibing .em-content-inner,
    .gougou-jibing .em-content-inner {
        display: block;
    }

    .maomi-jibing .em-content-inner > .em-grid-row,
    .gougou-jibing .em-content-inner > .em-grid-row {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 15px;
        padding: 0 0 15px;
        border-bottom: 1px dashed #e5e7eb;
    }

    .maomi-jibing .em-content-inner > .em-grid-row:first-child,
    .gougou-jibing .em-content-inner > .em-grid-row:first-child {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .maomi-jibing .em-content-inner > .em-grid-row:last-child,
    .gougou-jibing .em-content-inner > .em-grid-row:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }

    .maomi-jibing .em-content-inner > .em-grid-row > .em-item,
    .gougou-jibing .em-content-inner > .em-grid-row > .em-item {
        position: static;
        grid-column: auto;
        margin: 0;
        padding: 0;
    }

    .maomi-jibing .em-content-inner > .em-grid-row > .em-item::after,
    .gougou-jibing .em-content-inner > .em-grid-row > .em-item::after {
        content: none;
    }

    .maomi-jibing .em-content-inner > .em-grid-row:first-child > .em-item + .em-item,
    .gougou-jibing .em-content-inner > .em-grid-row:first-child > .em-item + .em-item {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
    }

    .maomi-jibing .em-content-inner > .em-grid-row:not(:first-child) > .em-item + .em-item,
    .gougou-jibing .em-content-inner > .em-grid-row:not(:first-child) > .em-item + .em-item {
        margin-top: 18px;
        padding-top: 18px;
        border-top: 1px dashed #e5e7eb;
    }

    .maomi-zhengzhuang .em-content-inner > .em-grid-row:nth-child(1),
    .gougou-zhengzhuang .em-content-inner > .em-grid-row:nth-child(1) {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }

    .maomi-zhengzhuang .em-content-inner > .em-grid-row:nth-child(1) .em-item + .em-item,
    .gougou-zhengzhuang .em-content-inner > .em-grid-row:nth-child(1) .em-item + .em-item {
        margin-top: 0;
        padding-top: 0;
        border-top: none;
    }

    .maomi-zhengzhuang .em-content-inner > .em-grid-row:nth-child(2),
    .maomi-zhengzhuang .em-content-inner > .em-grid-row:nth-child(3),
    .gougou-zhengzhuang .em-content-inner > .em-grid-row:nth-child(2),
    .gougou-zhengzhuang .em-content-inner > .em-grid-row:nth-child(3) {
        grid-template-columns: 1fr;
    }

    .maomi-yaowu .em-content-inner,
    .gougou-yaowu .em-content-inner {
        gap: 0 20px;
    }

    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:nth-child(1),
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:nth-child(2),
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(2) > .em-item:nth-child(1),
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(2) > .em-item:nth-child(2),
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:nth-child(1),
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:nth-child(2),
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:nth-child(1),
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:nth-child(2),
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(2) > .em-item:nth-child(1),
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(2) > .em-item:nth-child(2),
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:nth-child(1),
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:nth-child(2) {
        grid-column: auto;
    }

    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(n + 4) > .em-item,
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(n + 4) > .em-item {
        grid-column: 1 / -1;
    }

    .maomi-yaowu .em-content-inner > .em-grid-row > .em-item::after,
    .gougou-yaowu .em-content-inner > .em-grid-row > .em-item::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        border-bottom: 1px dashed #e5e7eb;
        pointer-events: none;
    }

    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:first-child::after,
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(2) > .em-item:first-child::after,
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:first-child::after,
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:first-child::after,
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(2) > .em-item:first-child::after,
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:first-child::after {
        width: calc(200% + 20px);
    }

    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:last-child::after,
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(2) > .em-item:last-child::after,
    .maomi-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:last-child::after,
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(1) > .em-item:last-child::after,
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(2) > .em-item:last-child::after,
    .gougou-yaowu .em-content-inner > .em-grid-row:nth-child(3) > .em-item:last-child::after,
    .maomi-yaowu .em-content-inner > .em-grid-row:last-child > .em-item::after,
    .gougou-yaowu .em-content-inner > .em-grid-row:last-child > .em-item::after {
        content: none;
    }

    .maomi-yaowu .em-content-inner > .em-grid-row:last-child > .em-item,
    .gougou-yaowu .em-content-inner > .em-grid-row:last-child > .em-item { margin-bottom: 0; }
}

/* ========== 百科参考资料 ========== */
.article-content .reference-header {
    font-size: 20px;
    padding-top: 20px;
    border-top: var(--border-color) 1px solid;
}

.article-content .reference-list {
    list-style: disc;
    padding-left: 0;
}

.article-content .reference-list li {
    font-size: 14px;
    list-style: none;
    margin-bottom: 0;
}

.article-content .reference-list li a {
    color: var(--link-color);
}

.show-more-refs {
    display: inline-flex;
    align-items: center;
    padding: 0 14px 0 12px;
    font-size: 14px;
    height: 32px;
    line-height: 33px;
    border: 1px solid var(--theme-color);
    color: var(--theme-color);
    background: #fff;
    border-radius: 999px;
    cursor: pointer;
}

.show-more-refs:before {
    padding-right: 5px;
    font-family: 'icomoon' !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "▾";
}

/* ========== 标签 ========== */
.article-tags-wrap { margin: 36px 0 0; }

.article-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.article-tags .tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border-radius: 999px;
    background: var(--bg-page);
    color: var(--text-normal);
    font-size: 14px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.article-tags .tag:hover {
    background: rgba(76, 59, 113, 0.08);
    color: var(--theme-color);
    transform: translateY(-1px);
}

/* ========== 提示块 ========== */
.callout {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 0 30px;
    font-size: 13px;
    line-height: 1.6;
    color: var(--text-normal);
    background-color: var(--bg-page);
    padding: 16px;
    border-radius: var(--radius-md);
}

.callout .urgent-toggle {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    text-decoration: underline;
    cursor: pointer;
    color: var(--link-color);
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.6;
    transition: color 0.3s;
}

.callout .urgent-body {
    display: grid;
    width: 100%;
    grid-template-rows: 1fr;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--border-color);
    transition: grid-template-rows .3s ease-out, margin-top .2s ease, padding .2s ease, opacity .25s ease;
}

.callout .urgent-body.is-hidden {
    grid-template-rows: 0fr;
    margin-top: 0;
    padding-top: 0;
    border-top: none;
    opacity: 0;
}

.callout .urgent-body ul {
    line-height: 28px;
    margin: 0;
    padding-left: 20px;
    overflow: hidden;
}

.callout .urgent-body ul li {
    margin: 0 0 8px 0;
    list-style: disc;
    color: var(--text-dark);
}

.faq-q {
    font-size: 20px;
    font-weight: 600;
}

/* ========== 分享组件 ========== */
.share-modal-content {
    max-width: 360px;
    text-align: center;
    padding: 32px 24px;
}

.share-wechat-area {
    margin: 24px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.share-footer-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, .05);
}

.share-btn-item {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    overflow: visible !important;
}

.share-btn-icon {
    width: 32px;
    height: 32px;
    background: #f5f5f7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    flex-shrink: 0;
    transition: all .2s cubic-bezier(.4, 0, .2, 1);
}

.share-btn-item:hover .share-btn-icon {
    background: #e8e8ed;
    color: var(--text-main);
    transform: translateY(-2px);
}

.share-btn-item::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    background: #fff;
    color: var(--text-main);
    padding: 6px 12px;
    border-radius: var(--radius-xs);
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    box-shadow: var(--shadow-md);
    opacity: 0;
    pointer-events: none;
    transition: all .2s cubic-bezier(.2, .8, .2, 1);
}

.share-btn-item:hover::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.share-btn-item.copy-success::after {
    background: var(--theme-color) !important;
    color: #fff !important;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(76, 59, 113, 0.3);
}

.share-popover-container { display: none; }

#qrcode {
    padding: 25px;
    margin: 0 auto 20px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-sm);
}

.btn-edit { display: none !important; }

/* 分享图标 */
.icon-share {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 30 30' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M23 12.29v5.55c0 2.84-2.32 5.16-5.16 5.16H6.16c-2.84 0-5.16-2.32-5.16-5.16V6.16C1 3.32 3.32 1 6.16 1h3.84'/%3E%3Cpolyline points='16.03 1.34 23 3.73 17.55 8.68'/%3E%3Cpath d='M8.41 18.45s-.99-6.09 3.83-10.52c3.99-3.67 9.09-3.83 9.09-3.83'/%3E%3C/svg%3E");
}

.icon-qq {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20.29 24'%3E%3Cpath d='M17.74,10c.02-.31.04-.63.04-.94,0-5.01-3.42-9.07-7.65-9.07S2.48,4.05,2.48,9.07c0,.33.02.65.04.98C1.24,12.62-.68,18.05.24,19.68c.11.2,1.22-.87,2.11-2.57.02,1.9.98,3.62,2.53,4.82-1.26.22-2.42,1.02-2.33,1.44.15.7,3.25.85,7.04.31.02,0,.04,0,.09-.02.15,0,.31.02.46.02s.31,0,.46-.02c.02,0,.04,0,.09.02,3.81.55,6.89.39,7.04-.31.09-.41-1.07-1.22-2.33-1.44,1.55-1.2,2.51-2.94,2.53-4.86.87,1.74,2.03,2.83,2.14,2.62.92-1.64-1.05-7.13-2.31-9.68h0Z'/%3E%3C/svg%3E");
}

.icon-weibo {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M10.1 18.07c-3.98.39-7.41-1.41-7.67-4.02-.26-2.61 2.76-5.05 6.74-5.44 3.98-.39 7.41 1.4 7.67 4.02 0.26 2.6-2.76 5.05-6.74 5.44ZM9.05 14.96c-.38.62-1.21.88-1.83.6-.61-.28-.79-.99-.41-1.59 0.38-.59 1.18-.86 1.79-.6 0.62 0.26 0.82 0.97 0.44 1.59ZM10.32 13.34c-.14.24-.45.35-.69.25-.24-.09-.31-.36-.18-.59 0.14-.23 0.44-.35 0.67-.24 0.24 0.09 0.31 0.36 0.18 0.6ZM10.5 10.62c-1.89-.49-4.03.45-4.86 2.12-.84 1.7-.03 3.59 1.89 4.21 1.98 0.64 4.32-.34 5.13-2.18 0.8-1.79-.2-3.64-2.16-4.15ZM18.06 9.39c-.35-.1-.57-.18-.4-.61 0.37-.98 0.42-1.8 0-2.4-.78-1.11-2.91-1.05-5.36-.03 0 0-.77 0.33-.57-.27 0.38-1.22 0.31-2.22-.27-2.81-1.34-1.34-4.87 0.04-7.89 3.08C1.31 8.61 0 11.02 0 13.09c0 3.98 5.1 6.39 10.09 6.39 6.54 0 10.89-3.8 10.89-6.82 0-1.82-1.55-2.85-2.91-3.28ZM19.97 4.3c-.77-.86-1.91-1.19-2.96-.96-.44 0.09-.71 0.51-.62 0.93 0.09 0.42 0.51 0.69 0.93 0.6 0.51-.1 1.07 0.04 1.44 0.46 0.38 0.42 0.47 0.98 0.32 1.47-.14 0.41 0.09 0.86 0.51 0.99 0.4 0.12 0.86-.1 0.99-.51 0.33-1.02 0.12-2.18-.65-3.03ZM22.38 2.11c-1.58-1.76-3.9-2.42-6.05-1.97-.5 0.1-.81 0.59-.71 1.08 0.1 0.5 0.59 0.81 1.08 0.71 1.53-.33 3.18 0.15 4.3 1.38 1.11 1.25 1.43 2.94 0.95 4.42-.17 0.48 0.11 1.01 0.59 1.16 0.48 0.16 0.99-.1 1.16-.59 0.67-2.09 0.24-4.48-1.34-6.23Z'/%3E%3C/svg%3E");
}

.icon-copy {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M22.33,1.67h0c2.23,2.23,2.23,5.88,0,8.11l-4.77,4.77c-2.81,2.81-7.6,1.99-9.13-1.52,1.68-1.46,2.5-.99,4.11-.31.94.4,2.05.19,2.82-.58l4.66-4.66c1.01-1.01,1.01-2.66,0-3.66-1.01-1.01-2.66-1.01-3.66,0l-3.34,3.34c-1.11-.53-2.35-.69-3.54-.47.24-.41.54-.8.88-1.13l3.87-3.87c2.23-2.23,5.88-2.23,8.11,0h0ZM1.67,22.33h0c2.23,2.23,5.88,2.23,8.11,0l4.02-4.02c.35-.35.66-.75.91-1.18-1.31.33-2.71.19-3.93-.41l-3.29,3.29c-1.01,1.01-2.66,1.01-3.66,0-1.01-1.01-1.01-2.66,0-3.66l4.66-4.66c.95-.95,2.86-1.24,4.3.08,1.39-.15,1.93-.41,2.8-1.24-1.85-3.26-6.45-3.75-9.13-1.07L1.67,14.22c-2.23,2.23-2.23,5.88,0,8.11h0Z'/%3E%3C/svg%3E");
}

.icon-qq,
.icon-copy { width: 16px; height: 16px; }

.icon-weibo {
    width: 18px;
    height: 18px;
    margin-top: 2px;
}

@media (min-width: 1200px) {
    .share-popover-container {
        display: flex;
        position: relative;
        align-items: center;
    }

    .share-popover-panel {
        position: absolute;
        right: 60px;
        bottom: -20px;
        width: 220px;
        padding: 30px 20px 24px;
        background: #fff;
        border-radius: var(--radius-sm);
        text-align: center;
        box-shadow: 0 10px 40px rgba(0, 0, 0, .08);
        z-index: 100;
        opacity: 0;
        visibility: hidden;
        transform: translateX(10px) scale(.98);
        transition: opacity .3s cubic-bezier(.2, .8, .2, 1), transform .3s cubic-bezier(.2, .8, .2, 1), visibility 0s .3s;
    }

    .share-panel-header {
        font-size: 17px;
        font-weight: 600;
        color: var(--text-main);
        margin-bottom: 10px;
    }

    #qrcode {
        width: 160px;
        height: 160px;
        padding: 15px;
        margin: 0 auto;
    }

    .share-tip {
        font-size: 13px;
        color: var(--text-muted);
        margin: 10px 0 24px;
        letter-spacing: .5px;
    }

    .share-popover-container:hover .share-popover-panel {
        opacity: 1;
        visibility: visible;
        transform: translateX(0) scale(1);
        transition-delay: 0s;
    }

    .share-popover-panel::before {
        content: "";
        position: absolute;
        top: -20px;
        bottom: -20px;
        right: -24px;
        left: 0;
        z-index: -1;
        background: transparent;
    }

    .btn-edit { display: flex !important; }
}

/* ========== 侧边栏 ========== */
.article-sidebar {
    display: block;
    margin-top: 32px;
}

@media (min-width: 1024px) {
    .article-sidebar {
        display: block;
        margin-top: 0;
    }

    .sidebar-sticky {
        position: sticky;
        top: 80px;
    }
}

/* ========== 相关推荐（统一列表） ========== */
.article-related {
    padding: 32px 0 0;
    border-top: 1px solid var(--border-color);
    margin-top: 12px;
}

.related-title,
.sidebar-title {
    margin: 0 0 18px;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 700;
    color: var(--text-dark);
    letter-spacing: -0.01em;
}

.related-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.related-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-decoration: none;
    color: var(--theme-color);
    border-radius: 14px;
    transition: background .2s ease, transform .2s ease;
}

.related-item:hover {
    background: rgba(76, 59, 113, 0.04);
}

.related-thumb {
    position: relative;
    display: block;
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border-radius: 10px;
    background: #ece9f2;
}

.related-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.related-thumb.is-placeholder {
    background: linear-gradient(135deg, #efeaf7 0%, #e3dcef 100%);
}

.related-thumb-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 18px;
    font-weight: 700;
    color: var(--theme-color);
    letter-spacing: .02em;
}

.related-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.related-item-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--link-color);
    font-size: 16px;
    line-height: 1.45;
    font-weight: 500;
}

.related-item-title:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.related-item-desc {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-dark);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.related-empty {
    margin: 0;
    font-size: 14px;
    color: var(--text-muted);
}

.sidebar-related { padding-top: 2px; }

/* 侧边栏推荐 */
.related-list--sidebar .related-item {
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
    border-radius: 0;
    margin: 0;
}

.related-list--sidebar .related-item:last-child { border-bottom: none; }

.related-list--sidebar .related-item:hover {
    background: transparent;
    transform: translateX(-2px);
}

.related-list--sidebar .related-thumb {
    flex-basis: 80px;
    width: 80px;
    height: 80px;
    border-radius: 10px;
}

.related-list--sidebar .related-item-title {
    font-size: 18px;
    -webkit-line-clamp: 2;
}

.related-item.no-thumb .related-info { flex: 1; }

@media (min-width: 1024px) {
    .sidebar-related .sidebar-title {
        font-size: 18px;
        margin-bottom: 16px;
    }
}

/* ========== 参考来源 ========== */
.reference-sources-block {
    margin-top: 40px;
    padding: 20px;
    background: var(--element-bg-light);
    border-left: 4px solid var(--theme-color);
    font-size: 13px;
    color: var(--text-normal);
    border-radius: var(--radius-xs);
}

.reference-sources-block p { margin: 0 0 8px; }
.reference-sources-block p:last-child {
    margin-bottom: 0;
    color: var(--text-main);
    font-weight: 600;
}

/* ========== 反馈区（移动端默认） ========== */
.article-feedback {
    margin: 28px 0 0;
    padding-top: 24px;
    border-top: 1px solid var(--border-color);
    text-align: center;
}

.article-feedback-title {
    margin: 0 0 10px;
    font-size: 24px;
    line-height: 1.28;
    font-weight: 760;
    color: var(--theme-color);
    letter-spacing: -0.02em;
}

.article-feedback-desc {
    margin: 0 0 18px;
    font-size: 16px;
    line-height: 1.7;
    color: var(--text-dark);
}

.article-feedback-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

.article-feedback-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    width: 100%;
}

.article-feedback-btn {
    appearance: none;
    min-width: 130px;
    height: 50px;
    padding: 0 22px;
    border: 2px solid var(--theme-color);
    border-radius: 999px;
    background: #fff;
    color: var(--theme-color);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

.article-feedback-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(76, 59, 113, 0.12);
    background: rgba(76, 59, 113, 0.04);
}

.article-feedback-btn.is-active {
    background: var(--theme-color);
    color: #fff;
}

/* 点赞按钮 */
.article-like,
.article-like--inside-feedback {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
}

.like-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 50px;
    padding: 0 22px;
    border: 2px solid rgba(76, 59, 113, 0.22);
    border-radius: 999px;
    background: #fff;
    color: var(--theme-color);
    font-weight: 700;
    cursor: pointer;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
}

.like-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
    border-color: var(--link-color-pink);
}

.like-btn.liked {
    background: var(--link-color-pink);
    border-color: var(--link-color-pink);
    color: #fff;
}

.like-btn.liked .icon-like {
    background-color: #fff;
    opacity: 1;
}

.like-btn.liked .like-count {
    color: rgba(255, 255, 255, 0.82);
}

.icon-like {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
    transition: background-color 0.3s ease;
}

.like-text {
    display: inline-block;
    transition: color 0.3s ease;
    will-change: transform;
}

.like-count {
    color: var(--text-muted);
    font-weight: 600;
    transition: color 0.3s ease;
}

.text-pop {
    animation: textPop 0.3s ease;
}

/* ========== 标签（移动端默认） ========== */
.article-tags-wrap {
    margin: 28px 0 0;
}

.article-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.article-tags .tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--bg-page);
    color: var(--text-normal);
    font-size: 13px;
    text-decoration: none;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}

.article-tags .tag:hover {
    background: rgba(76, 59, 113, 0.08);
    color: var(--theme-color);
    transform: translateY(-1px);
}

@media (min-width: 1024px) {
    .article-feedback {
        margin-top: 36px;
        padding-top: 34px;
        text-align: left;
    }

    .article-feedback-title {
        font-size: clamp(24px, 3.2vw, 34px);
        line-height: 1.18;
    }

    .article-feedback-desc {
        margin-bottom: 24px;
        font-size: 18px;
    }

    .article-feedback-bar {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 28px;
        flex-wrap: wrap;
    }

    .article-feedback-actions {
        justify-content: flex-start;
        align-items: center;
        gap: 16px;
        width: auto;
        flex: 1 1 auto;
    }

    .article-feedback-btn {
        min-width: 150px;
        height: 56px;
        padding: 0 32px;
        font-size: 18px;
    }

    .article-like {
        justify-content: flex-end;
        width: auto;
    }

    .article-like--inside-feedback {
        flex: 0 0 auto;
        width: auto;
    }

    .like-btn {
        height: 56px;
        padding: 0 30px;
    }

    .article-tags-wrap {
        margin-top: 36px;
    }

    .article-tags {
        justify-content: flex-start;
        gap: 10px;
    }

    .article-tags .tag {
        min-height: 38px;
        padding: 0 16px;
        font-size: 14px;
    }
}

/* ========== 免责声明 · 隐私政策 ========== */
.legal-title {
    font-size: clamp(28px, 4.8vw, 36px);
    font-weight: 750;
    color: var(--theme-color);
    text-align: center;
    margin: 0;
    padding: 10px 0;
    letter-spacing: -0.01em;
    background: transparent;
    border-bottom: none;
}

.legal-content-body {
    position: relative;
    line-height: 30px;
}

.legal-content-body::before {
    content: "";
    display: block;
    height: 1px;
    background: #ddd;
    margin: 10px 0 12px;
}

.legal-content-body h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--theme-color);
    margin: 30px 0 20px;
}

@media (min-width: 1024px) {
    .legal-title {
        background: none;
        border-bottom: none;
    }
}

/* ========== 阅读进度条 ========== */
.reading-progress { display: none; }

@media (min-width: 1024px) {
    .reading-progress {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        height: 3px;
        width: 0%;
        background: var(--theme-color);
        z-index: 70;
        transition: width .12s linear;
    }
}

/* ========== 文章页精准广告 ========== */

/* 横幅广告 */
.ad-banner-link {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    line-height: 0;
    border-radius: var(--radius-sm);
    overflow: hidden;
    transition: transform .22s cubic-bezier(.22, .61, .36, 1);
}

.ad-banner-link:hover {
    transform: translateY(-2px);
}

.ad-banner-link .ad-banner-img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 !important;
}

/* 商品带货广告 */
.spotlight-product-card {
    position: relative !important;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0;
    padding: 14px;
    background: var(--alpha-black-04);
    border: none;
    border-radius: var(--radius-sm);
    color: var(--text-main);
    text-decoration: none !important;
    transition: transform .15s ease, background .15s ease;
}

.spotlight-product-card:hover {
    transform: translateY(-1px);
    background: #f1f1f4;
}

.spotlight-product-img {
    display: block;
    flex: 0 0 84px;
    width: 84px;
    height: 84px;
    border-radius: var(--radius-sm);
    object-fit: cover;
}

.spotlight-product-info {
    flex: 1;
    min-width: 0;
}

.spotlight-product-title {
    display: -webkit-box;
    overflow: hidden;
    color: var(--text-main);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.spotlight-product-price {
    margin-top: 8px;
    color: var(--brand-red);
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}

.spotlight-product-cta {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
}

.spotlight-buy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 14px;
    border-radius: var(--radius-pill);
    background: var(--brand-red);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

/* 文字广告 */
.ad-text-link-card {
    position: relative !important;
    margin: 32px 0;
    padding: 10px 20px 20px;
    background: var(--bg-page);
    border-radius: var(--radius-sm);
}

.ad-text-tag {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--text-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ad-text-main-title {
    display: block;
    margin-bottom: 8px;
    color: var(--theme-color);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
}

.ad-text-main-title:hover {
    text-decoration: underline;
}

.ad-text-description {
    margin-bottom: 20px;
    color: var(--text-dark);
    font-size: 14px;
    line-height: 1.6;
}

.ad-text-sitelinks {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

@media (min-width: 1024px) {
    .ad-text-sitelinks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.ad-sitelink-item {
    display: flex;
    flex-direction: column;
    text-decoration: none;
}

.ad-sitelink-title {
    margin-bottom: 2px;
    color: var(--theme-color);
    font-size: 14px;
    font-weight: 600;
}

.ad-sitelink-desc {
    color: var(--text-muted);
    font-size: 12px;
}

/* “广告”标签 */
.spotlight-product-card::after,
.ad-banner-link::after,
.ad-text-link-card::after {
    position: absolute;
    z-index: 10;
    content: "广告";
    color: var(--text-muted);
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    opacity: 0.5;
    pointer-events: none;
}

.spotlight-product-card::after {
    right: 12px;
    bottom: 8px;
}

.ad-text-link-card::after {
    right: 16px;
    bottom: 12px;
}

.ad-banner-link::after {
    right: 8px;
    bottom: 8px;
    z-index: 5;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.4);
    color: rgba(0, 0, 0, 0.4);
    opacity: 1;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

@media (min-width: 1024px) {
    .spotlight-product-card {
        padding: 24px;
        gap: 24px;
    }

    .spotlight-product-title { font-size: 18px; }
    .spotlight-product-price { font-size: 26px; }

    .spotlight-buy-btn {
        height: 48px;
        padding: 0 24px;
    }
}

/* ========== 全站广告 ========== */
.article-ad-slot { margin: 28px 0; }
.article-ad-slot--top { margin-top: 20px; margin-bottom: 28px; }
.article-ad-slot--bottom { margin-top: 32px; margin-bottom: 20px; }
.article-ad-slot img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

/* ============================================================
   仅用于打印
   ============================================================ */
@media print {
    @page {
        size: A4;
        margin: 20mm 10mm;
    }

    body,
    .full-page,
    .article-page-wrapper,
    .container {
        padding: 0;
        margin: 0;
    }

    .topbar-inner,
    .breadcrumb,
    .article-meta,
    .article-toc,
    .cwp-em-card,
    .callout,
    .article-tags-wrap,
    .article-feedback,
    .floating-actions,
    .article-sidebar,
    .site-footer,
    .spotlight-product-card,
    .ad-banner-link,
    .ad-custom-html-box,
    .reference-header,
    .reference-list {
        display: none;
    }

    html,
    body,
    .article-page,
    .article-container {
        height: auto;
        overflow: visible;
    }

    .container { max-width: none; }

    .reference-sources-block {
        padding: 20px 0;
        border: none;
        border-top: 1px solid var(--border-color);
        border-radius: 0;
    }

    .reference-sources-block p { font-style: italic; }

    h1,
    h2,
    h3 {
        break-after: avoid-page;
        page-break-after: avoid;
    }

    h1 { font-size: 42px !important; }

    figure,
    table,
    blockquote {
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    p,
    ul,
    ol,
    table { break-inside: auto; }

    * {
        box-shadow: none;
        text-shadow: none;
    }
}