/* 第 20 轮 · 四级政策扶持体系（政务蓝白，PC / 手机共用） */
.pol-wrap { max-width: 1200px; margin: 0 auto; color: #1f2733; padding-top: 0; }
/* 政策解析页：内容与导航栏之间不留间距（权重需压过 body.pc-body .shell.shell-single .stage） */
body.on-analysis.pc-body .shell.shell-single .stage { padding-top: 0; }

.pol-tabs { display: flex; gap: 8px; padding: 22px 0 8px; flex-wrap: wrap; }
.pol-tab { border: 1px solid #d8e1ec; background: #fff; color: #3c4d60; border-radius: 4px;
    padding: 9px 18px; font-size: 14px; cursor: pointer; font-family: inherit; line-height: 1.4;
    transition: background .15s, border-color .15s, color .15s; }
.pol-tab b { font-weight: 600; color: #8b98a8; margin-left: 4px; }
.pol-tab:hover { border-color: #1a5284; color: #1a5284; }
.pol-tab.active { background: #1a5284; border-color: #1a5284; color: #fff; }
.pol-tab.active b { color: #c9dcf0; }

.pol-level { padding: 30px 0 6px; }
.pol-level-head { display: flex; align-items: center; gap: 16px; padding-bottom: 16px;
    border-bottom: 1px solid #e3e9f0; margin-bottom: 20px; flex-wrap: wrap; }
.pol-level-title { display: flex; align-items: baseline; gap: 12px; }
.pol-level-title h2 { margin: 0; font-size: 21px; font-weight: 700; color: #17365d; }
.pol-level-desc { margin: 0; font-size: 13px; color: #6b7787; flex: 1 1 260px; }
.pol-count { font-size: 12.5px; color: #1a5284; background: #eef4fb;
    border-radius: 3px; padding: 5px 11px; white-space: nowrap; }

.pol-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pol-card { position: relative; background: #fff; border: 1px solid #e1e8f0; border-left: 3px solid #1a5284;
    border-radius: 4px; padding: 20px 22px 18px; min-width: 0;
    transition: border-color .15s, box-shadow .15s, transform .15s; }
.pol-card:hover { border-color: #b9cfe6; box-shadow: 0 6px 20px rgba(26, 82, 132, .09); transform: translateY(-2px); }
.pol-card-top { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.pol-badge { font-size: 12px; color: #1a5284; background: #eef4fb; border-radius: 3px; padding: 3px 9px; }
.pol-hot { font-size: 12px; color: #a8591b; background: #fdf3e7; border-radius: 3px; padding: 3px 9px; }
.pol-demo { font-size: 12px; color: #7a8694; background: #f1f4f7; border-radius: 3px; padding: 3px 9px; }
.pol-card h3 { margin: 0 0 8px; font-size: 16.5px; line-height: 1.55; font-weight: 600; color: #1d2937; }
.pol-title-link { color: inherit; text-decoration: none; transition: color .15s; }
.pol-title-link:hover { color: #1a5284; text-decoration: underline; }
.pol-top { font-size: 12px; color: #1a5284; background: #eaf2fb; border-radius: 3px; padding: 3px 9px; }
.pol-meta { font-size: 12.5px; color: #83909f; margin-bottom: 10px; }
.pol-summary { margin: 0 0 12px; font-size: 13.5px; line-height: 1.8; color: #4a5a6b; }
.pol-detail { border-top: 1px dashed #e3e9f0; padding-top: 11px; }
.pol-detail summary { cursor: pointer; font-size: 13px; color: #1a5284; list-style: none; outline: none; }
.pol-detail summary::-webkit-details-marker { display: none; }
.pol-detail summary i { font-style: normal; margin-left: 4px; }
.pol-detail[open] summary i { display: inline-block; transform: rotate(180deg); }
.pol-body { margin-top: 12px; font-size: 13.5px; line-height: 1.95; color: #41505f;
    background: #f8fafc; border-radius: 4px; padding: 14px 16px; }
.pol-source { margin-top: 12px; font-size: 12px; color: #8b98a8; }
.pol-empty { padding: 20px; font-size: 13.5px; color: #7a8694; background: #f8fafc; border-radius: 4px; }

/* 导语下方「最新政策发布」模块 */
.pol-latest { margin: 0 0 6px; background: #f7fafd; border: 1px solid #e3ecf5; border-radius: 6px; padding: 20px 22px 14px; }
/* （旧版多条列表样式已弃用，现「最新政策发布」改为单条 pol-feature，仅标题 + 一行简介） */

/* 政策详情页 */
.pol-detail-page { padding-top: 8px; }
.pol-back { display: inline-block; margin: 14px 0 22px; font-size: 13.5px; color: #1a5284; text-decoration: none; }
.pol-back:hover { text-decoration: underline; }
.pol-detail-card { border-left-width: 4px; }
.pol-detail-title { margin: 0 0 10px; font-size: 24px; line-height: 1.4; font-weight: 700; color: #17365d; }
.pol-body-full { margin-top: 16px; padding-top: 16px; border-top: 1px dashed #e3e9f0; }
.pol-body-full h3 { margin: 0 0 10px; font-size: 15px; font-weight: 700; color: #26527e; }
.pol-body-full { font-size: 14px; line-height: 1.95; color: #41505f; }

/* 最新政策发布 - 单条（大标题 + 下方摘要） */
.pol-latest-single { padding: 22px 24px; }
.pol-feature { display: block; text-decoration: none; }
.pol-feature-title { margin: 0 0 12px; font-size: 30px; line-height: 1.45; font-weight: 700; color: #17365d;
    text-align: center; transition: color .15s; }
.pol-feature:hover .pol-feature-title { color: #1a5284; }
.pol-feature-summary { margin: 0 auto; max-width: 820px; font-size: 14.5px; line-height: 1.9; color: #4a5a6b;
    text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* 摘要超出一行时由 JS 加 pol-sum-clip：左对齐并保留 2 字符首行缩进；不满一行保持居中 */
.pol-feature-summary.pol-sum-clip { text-align: left; text-indent: 2em; }

/* 国家层级：首卡 + 右侧列表 */
.pol-national .pol-nat-body { display: flex; gap: 24px; align-items: flex-start; }
.pol-nat-feature { flex: 0 0 360px; max-width: 360px; }
.pol-nat-feature .pol-card { margin: 0; }
.pol-nat-side { flex: 1 1 auto; min-width: 0; border-left: 1px solid #e3e9f0; padding-left: 24px; }
.pol-nat-side-head { font-size: 13px; color: #6b7787; margin-bottom: 4px; font-weight: 600; }
.pol-siderow { display: flex; align-items: baseline; gap: 10px; text-decoration: none; color: #1d2937;
    padding: 11px 0; border-bottom: 1px dashed #e8eef4; transition: color .15s; }
.pol-siderow:last-child { border-bottom: none; }
.pol-siderow:hover { color: #1a5284; }
.pol-dot { color: #1a5284; font-size: 16px; line-height: 1; flex: 0 0 auto; }
.pol-side-title { flex: 1 1 auto; min-width: 0; font-size: 14.5px; line-height: 1.6;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pol-side-date { flex: 0 0 auto; font-size: 12.5px; color: #9aa8b8; }

/* 省 / 市 / 县三级：卡片列表 + 翻页 */
.pol-list { display: flex; flex-direction: column; gap: 10px; }
.pol-row { display: flex; align-items: center; gap: 14px; text-decoration: none;
    background: #fff; border: 1px solid #e6edf4; border-radius: 4px; padding: 14px 16px;
    transition: border-color .15s, box-shadow .15s, transform .15s; min-width: 0; }
.pol-row:hover { border-color: #b9cfe6; box-shadow: 0 6px 18px rgba(26, 82, 132, .08); transform: translateY(-1px); }
.pol-row-badge { flex: 0 0 auto; font-size: 12px; color: #1a5284; background: #eef4fb; border-radius: 3px; padding: 4px 10px; }
.pol-row-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pol-row-main b { font-size: 15px; font-weight: 600; color: #1d2937; line-height: 1.5; }
.pol-row-main small { font-size: 12.5px; line-height: 1.6; color: #6b7787; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pol-row-date { flex: 0 0 auto; font-size: 12.5px; color: #9aa8b8; }
.pol-row-arrow { flex: 0 0 auto; color: #1a5284; font-style: normal; font-size: 15px; }
.pol-pager { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 16px; }
.pol-pg { border: 1px solid #d8e1ec; background: #fff; color: #3c4d60; border-radius: 4px;
    padding: 7px 16px; font-size: 13px; cursor: pointer; font-family: inherit; transition: .15s; }
.pol-pg:hover:not([disabled]) { border-color: #1a5284; color: #1a5284; }
.pol-pg[disabled] { opacity: .45; cursor: not-allowed; }
.pol-pg-info { font-size: 13px; color: #6b7787; }

@media (max-width: 900px) {
    .pol-grid { grid-template-columns: 1fr; }
    /* 竖排时必须 stretch，否则 align-items:flex-start 会让右侧列表按内容宽度撑开、把整页挤出屏幕 */
    .pol-national .pol-nat-body { flex-direction: column; align-items: stretch; }
    .pol-nat-feature { flex-basis: auto; max-width: none; }
    .pol-nat-side { border-left: none; padding-left: 0; border-top: 1px solid #e3e9f0; padding-top: 16px; width: 100%; }
}
@media (max-width: 640px) {
    .pol-wrap { padding-left: 14px; padding-right: 14px; padding-top: 4px; }
    /* 筛选标签：等宽三列网格（原来 nowrap 横向滚动，最右「广平县」会被裁在屏幕外） */
    .pol-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px 7px; padding: 14px 0 6px; overflow: visible; }
    .pol-tab { display: flex; align-items: center; justify-content: center; gap: 5px; min-width: 0;
        white-space: nowrap; padding: 8px 6px; font-size: 12.5px;
        border-radius: 999px; border-color: #d6e1ef; background: #f7fafd; color: #34506d;
        box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset; }
    .pol-tab b { display: inline-block; min-width: 18px; margin-left: 0; padding: 0 4px;
        border-radius: 999px; background: #e4edf8; color: #4a6b8f;
        font-size: 11px; line-height: 18px; text-align: center; }
    .pol-tab.active { background: linear-gradient(135deg, #1a5284, #2f7bd9);
        border-color: transparent; color: #fff; box-shadow: 0 7px 15px -7px rgba(26, 82, 132, .8); }
    .pol-tab.active b { background: rgba(255, 255, 255, .24); color: #fff; }
    .pol-level { padding: 24px 0 4px; }
    .pol-level-head { gap: 10px; }
    .pol-level-title h2 { font-size: 18px; }
    .pol-level-desc { flex-basis: 100%; order: 3; font-size: 12.5px; }
    .pol-count { margin-left: auto; }
    .pol-latest { padding: 16px 14px 10px; }
    .pol-feature-title { font-size: 22px; }
    .pol-card { padding: 16px 16px 14px; }
    .pol-card h3 { font-size: 15.5px; }
    .pol-row { flex-wrap: wrap; gap: 6px 12px; }
    .pol-row-main { flex-basis: 100%; order: 3; }
    .pol-row-date { order: 2; margin-left: auto; }
    .pol-pager { justify-content: center; }
}
