/* ============================================================
 * home.css —— 首页主体区块样式（业务外观层）
 * 布局由 BS5 栅格（.row / .col-*）负责，本文件只覆盖外观
 * 轮播统一由 Swiper 11 实现
 * ============================================================ */

/* ---------- 区块：左轮播 + 右稿件列表 ----------
 * 结构：
 *   <div class="row g-lg-4 g-3 home-main">
 *       <div class="col-lg-7 col-12">  .swiper.home-swiper（焦点图）
 *       <div class="col-lg-5 col-12">  .home-news > .news-tabs + .swiper.news-swiper
 * 桌面端 gap = 32px（自定义 gutter-x），移动端 = 16px
 */
/* ============================================================
 * 顶部导航大轮播：4 个导航 ↔ 4 个 slide（左右滑动切换）
 * ============================================================ */
.page-swiper {
    margin-top: 28px;
}

/* 关键：slide 是 flex 子项，min-width:0 防止 nowrap 内容把宽度撑爆 */
.page-swiper .swiper-slide {
    min-width: 0;
}

/* 未建设栏目的占位 */
.page-blank {
    padding: 140px 0;
    color: #A6B4C6;
    font-size: 16px;
    text-align: center;
}

.home-main {
    --bs-gutter-x: 2rem;       /* 桌面水平 32px */
    --bs-gutter-y: 1.5rem;     /* 窄屏两列堆叠时的垂直间距 */
}

@media (max-width: 991.98px) {
    .home-main {
        --bs-gutter-x: 1rem;   /* 平板水平 16px */
    }
}

@media (max-width: 767.98px) {
    .home-main {
        --bs-gutter-y: 1rem;   /* 移动垂直 16px */
    }
}

/* ============================================================
 * 左：焦点图轮播（Swiper）
 * 结构：
 *   <div class="swiper home-swiper">
 *       <div class="swiper-wrapper">
 *           <div class="swiper-slide"><img/><div class="home-caption"/></div>
 *       </div>
 *       <div class="swiper-pagination home-swiper-pagination"/>
 *       <div class="swiper-button-prev home-swiper-prev"/>
 *       <div class="swiper-button-next home-swiper-next"/>
 *   </div>
 * ============================================================ */
.home-swiper {
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
    height: 400px;
}

.home-swiper .swiper-slide {
    position: relative;
    overflow: hidden;
}

.home-swiper .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 8 / 5;       /* 保持 640×400 比例，移动端等比缩 */
    object-fit: cover;
}

/* 底部标题条 */
.home-caption {
    position: absolute;
    right: 100px;
    bottom: 0;
    left: 0;
    padding: 30px 16px;
    text-align: left;
    background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0));
}

.home-caption h5 {
    margin: 0;
    overflow: hidden;
    color: #fff;
    font-size: 16px;
    font-weight: normal;
    line-height: 24px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 指示圆点：避让底部标题条 */
.home-swiper-pagination {
    left: auto !important;
    bottom: 18px !important;
    right:10px !important;
    width: 100px !important;
}

.home-swiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: rgba(255, 255, 255, .5);
    opacity: 1;
}

.home-swiper .swiper-pagination-bullet-active {
    background: #fff;
}

/* 控制箭头：略放大，hover 加深 */
.home-swiper-prev,
.home-swiper-next {
    width: 8%;
    opacity: .55;
    transition: opacity 180ms ease;
}

.home-swiper-prev:hover,
.home-swiper-next:hover {
    opacity: 1;
}

/* <992 时左右两列已上下堆叠，焦点图占满整行宽度，高度改为跟随图片比例。
   注意：必须写在上面 .home-swiper{height:400px} 之后，同优先级下后面的才生效 */
@media (max-width: 991.98px) {
    .home-swiper {
        height: auto;
    }
}

/* ============================================================
 * 右：栏目稿件列表
 * 结构：
 *   <div class="home-news">
 *       <div class="news-tabs">
 *           <button class="news-tab active" data-slide="0">重要信息</button>
 *           <button class="news-tab"        data-slide="1">工作动态</button>
 *           <button class="news-tab"        data-slide="2">基层动态</button>
 *       </div>
 *       <div class="swiper news-swiper">
 *           <div class="swiper-wrapper">
 *               <div class="swiper-slide"><ul class="news-list">…</ul></div> × 3
 *           </div>
 *       </div>
 *   </div>
 * JS：hover/click tab → newsSwiper.slideTo(i)；slideChange → 同步 tab.active
 * ============================================================ */
.home-news {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;          /* 关键：解除 flex 自动最小尺寸按内容撑宽 */
    height: 100%;
    min-height: 0;
}

/* ---------- 栏目头：3 个栏目靠左（与稿件左边缘对齐）+「更多」靠右 ---------- */
.news-head {
    display: flex;
    align-items: center;
    height: 50px;
}

.news-tabs {
    display: flex;
    align-items: center;
    height: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* 栏目不再等分：宽度随内容，左对齐到列表左边缘 */
.news-tab {
    flex: 0 0 auto;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #333;
    text-decoration: none;   /* 栏目现为 a 标签 */
    font-size: 22px;
    line-height: 50px;
    text-align: left;
    white-space: nowrap;
    cursor: pointer;
    transition: color 200ms ease;
}

.news-tab + .news-tab {
    margin-left: 40px;
}

.news-tab:hover,
.news-tab:focus {
    color: #1A6CBD;
}

.news-tab.active {
    color: #1A6CBD;
    font-weight: bold;
}

/* 「更多」：推到最右侧 */
.news-more {
    flex: 0 0 auto;
    margin-left: auto;
    padding-left: 12px;
    color: #888;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: color 180ms ease;
}

.news-more::after {
    margin-left: 3px;
    content: "\203A";      /* › */
    font-size: 16px;
    vertical-align: -1px;
}

.news-more:hover,
.news-more:focus {
    color: #1A6CBD;
}

/* ---------- 列表 swiper：填充列内剩余高度 ---------- */
.news-swiper {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;          /* 关键：没有它，flex 的 min-width:auto 会让容器
                              按标题 nowrap 的内容宽度撑到上万 px，
                              Swiper 再据此设置 slide 宽度 → 宽度爆炸、日期被裁掉 */
    max-width: 100%;
    min-height: 0;
    overflow: hidden;
}

.news-swiper .swiper-slide {
    height: auto;
    min-width: 0;
    box-sizing: border-box;
}

/* 列表内容 */
.news-list {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-list li {
    display: flex;
    align-items: center;
    height: 50px;          /* 桌面端 7 条 ≈ 308px */
}

.news-list li a {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    height: 100%;
    color: #333;
    font-size: 18px;
    text-decoration: none;
    transition: color 180ms ease;
}

.news-list li a:hover,
.news-list li a:focus {
    color: #1A6CBD;
}

/* 标题前的菱形色块装饰 */
.news-list li a::before {
    display: block;
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    margin-right: 12px;
    background: #32C5FF;
    content: "";
    transition: background-color 180ms ease;
    clip-path: polygon(50% 0%, 80% 50%, 50% 100%, 20% 50%);
}

.news-list li a:hover::before,
.news-list li a:focus::before {
    background: #1A6CBD;
}

.news-title {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    font-size: 18px;
    line-height: 20px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.news-date {
    display: block;
    flex: 0 0 auto;
    margin-left: 16px;
    color: #999;
    font-size: 16px;
}

/* ============================================================
 * 专题轮播（Swiper）
 * 3 张 380×120 图片铺满 1200px，间距 30px；
 * 翻页按钮在 1200px 区域外侧（桌面）或收回两端（窄屏）
 * ============================================================ */
.specials {
    margin-top: 40px;
}

.specials-inner {
    position: relative;       /* 按钮外放定位基准 */
}

.swiper-specials {
    height: 120px;
}

.swiper-specials .swiper-slide {
    height: 120px;
}

.swiper-specials .swiper-slide a {
    display: block;
    height: 120px;
    font-size: 0;
}

.swiper-specials .swiper-slide img {
    display: block;
    width: 100%;
    height: 120px;
    object-fit: cover;
}

/* 翻页按钮：圆形白底，桌面默认放 1200 区域外 */
.specials-nav {
    --swiper-navigation-size: 14px;
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 36px;
    height: 36px;
    margin-top: -18px;
    background: rgba(255, 255, 255, .3);
    border: 1px solid #D9E4EF;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .08);
    color: #fff;
}

.specials-nav-prev { left: 5px; }
.specials-nav-next { right: 5px; }

/* 视口不够宽时收回两端（1200 内容 + 两侧各 56px 按钮 = 1312，故 1312 以下收回） */
@media (max-width: 1311.98px) {
    .specials-nav-prev { left: 6px; }
    .specials-nav-next { right: 6px; }
}

/* ============================================================
 * 服务平台（slide 2）
 * 8 个服务入口：≥768px 四列两行，<768px 两列
 * ============================================================ */
.fwpt-grid {
    --bs-gutter-x: 2.375rem;   /* 列间距 38px */
    --bs-gutter-y: 2rem;       /* 行间距 32px */
}

.fwpt-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 38px 16px 34px;
    border: 1px solid #E9EFF7;
    border-radius: 6px;
    /* 背景：从上到下的浅蓝渐变，底部淡出到透明 */
    background-color: transparent;
    background-image: linear-gradient(to bottom, rgba(243, 247, 254, 1), rgba(243, 247, 254, 0));
    text-decoration: none;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.fwpt-card:hover,
.fwpt-card:focus {
    border-color: #1A6CBD;
    box-shadow: 0 6px 18px rgba(26, 108, 189, .12);
}

.fwpt-icon {
    display: block;
    width: 52px;
    height: 52px;
    object-fit: contain;      /* 各图标长宽比不同，统一装进 52×52 盒子 */
}

.fwpt-name {
    margin-top: 18px;
    color: #333;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
}

/* 底部横幅（占位图，直接替换 images/fwpt-banner.png 即可） */
.fwpt-banner {
    display: block;
    margin-top: 32px;
    font-size: 0;
    line-height: 0;
}

.fwpt-banner img {
    display: block;
    width: 100%;
    height: auto;
}

/* ============================================================
 * 互动交流（slide 3）
 * 左列：3 个入口卡片 + 栏目头 + 信件列表（Swiper 横向切换）
 * 右列：新闻发布会图文 + 举报电话
 * 列宽比贴近设计稿（左略宽于右），<992 上下堆叠
 * ============================================================ */
@media (min-width: 992px) {
    .hdjl-side-l { flex: 0 0 auto; width: 55%; }
    .hdjl-side-r { flex: 0 0 auto; width: 45%; }
}

.hdjl-main {
    --bs-gutter-x: 1.5rem;     /* 24px，比默认略紧，贴近设计稿列宽 */
    --bs-gutter-y: 1.5rem;
    margin-top: 10px;
}

/* ---------- 3 个入口卡片 ---------- */
.hdjl-entries {
    --bs-gutter-x: 1.375rem;   /* 22px */
}

.hdjl-entry {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px 12px 22px;
    border: 1px solid rgba(223, 240, 255, 1);
    border-radius: 6px;
    background-color: transparent;
    background-image: linear-gradient(to bottom, rgba(243, 247, 254, 1),rgba(243, 247, 254, 0) );
    text-decoration: none;
    transition: border-color 200ms ease, box-shadow 200ms ease;
    box-shadow: 0 2px 6px rgba(26, 108, 189, .08);
}

.hdjl-entry:hover,
.hdjl-entry:focus {
    border-color: #1A6CBD;
    box-shadow: 0 6px 18px rgba(26, 108, 189, .12);
}

.hdjl-entry-icon {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.hdjl-entry-name {
    margin-top: 12px;
    color: #333;
    font-size: 16px;
    line-height: 22px;
}

/* ---------- 栏目头：信箱选登 / 咨询选登 + 更多 ---------- */
.hdjl-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 44px;
    margin-top: 24px;
}

.hdjl-tabs {
    display: flex;
    align-items: center;
    height: 100%;
    min-width: 0;
}

.hdjl-tab {
    flex: 0 0 auto;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #666;
    font-size: 20px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: color 200ms ease;
    text-decoration: none;   /* 栏目现为 a 标签 */
}

.hdjl-tab + .hdjl-tab {
    margin-left: 32px;
}

.hdjl-tab:hover,
.hdjl-tab:focus,
.hdjl-tab.active {
    color: #1A6CBD;
}

.hdjl-tab.active {
    font-weight: bold;
}

.hdjl-more {
    flex: 0 0 auto;
    margin-left: auto;
    padding-left: 12px;
    color: #999;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: color 180ms ease;
}

.hdjl-more:hover,
.hdjl-more:focus {
    color: #1A6CBD;
}

/* ---------- 信件列表 ---------- */
.hdjl-swiper {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.hdjl-swiper .swiper-slide {
    height: auto;
    min-width: 0;
}

.hdjl-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hdjl-item {
    margin: 0 -12px;
    padding: 0 12px;
    border-bottom: 1px solid #C1D6F0;
}

.hdjl-item:hover,
.hdjl-item:focus-within {
    background-color: #F7F9FC;
}

/* 左列：标题 / 答复信息（自动宽）  右列：印章（固定宽，跨满左侧两行 → 与整行垂直居中） */
.hdjl-item-link {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;    /* 必须显式声明两行，印章才跨得过来 */
    align-items: center;
    padding: 15px 0;
    text-decoration: none;
}

.hdjl-item-row {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    align-items: center;
    min-width: 0;
}

.hdjl-item-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    color: #333;
    font-size: 18px;
    line-height: 26px;
    white-space: nowrap;
    text-overflow: ellipsis;
    transition: color 180ms ease;
}
.hdjl-item-title .icon {
   margin-right: 6px;
}

.hdjl-item-link:hover .hdjl-item-title,
.hdjl-item-link:focus .hdjl-item-title {
    color: #1A6CBD;
}

.hdjl-item-seal {
    grid-column: 2;
    grid-row: 1 / 3;
    margin-left: 20px;
}

.hdjl-item-seal img {
    display: block;
    width: 60px;
    height: 60px;
}

.hdjl-item-meta {
    grid-column: 1;
    grid-row: 2;
    display: block;
    margin-top: 8px;
    color: #999;
    font-size: 14px;
    line-height: 20px;
}

.hdjl-item-dept {
    margin-left: 24px;
}

/* ---------- 右列：新闻发布会 ---------- */
.hdjl-news-title {
    display: flex;
    align-items: center;
    margin: 0 0 18px;
    color: #1A6CBD;
    font-size: 20px;
    font-weight: bold;
    line-height: 28px;
}
.hdjl-news-title svg.icon {
    font-size: 40px;
    margin-right: 18px;
}
.hdjl-news {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hdjl-news li + li {
    margin-top: 20px;
}

.hdjl-news-link {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    border:1px solid #C1D6F0;
    padding: 10px 10px;
}

.hdjl-news-thumb {
    display: block;
    flex: 0 0 auto;
    width: 136px;
    height: auto;
}

.hdjl-news-text {
    display: -webkit-box;
    flex: 1 1 auto;
    min-width: 0;
    margin-left: 14px;
    overflow: hidden;
    color: #333;
    font-size: 16px;
    line-height: 24px;
    transition: color 180ms ease;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.hdjl-news-link:hover .hdjl-news-text,
.hdjl-news-link:focus .hdjl-news-text {
    color: #1A6CBD;
}

/* ---------- 举报电话 ---------- */
.hdjl-phones {
    --bs-gutter-x: 1.375rem;
    margin-top: 26px;
}

.hdjl-phone {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 16px;
    border-radius: 4px;
    background: #F3F7FE;
}

.hdjl-phone-icon {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    margin-right: 12px;
}

.hdjl-phone-text {
    display: block;
    min-width: 0;
}

.hdjl-phone-label {
    display: block;
    color: #1A6CBD;
    font-size: 14px;
    line-height: 20px;
}

.hdjl-phone-num {
    display: block;
    margin-top: 2px;
    color: #1A6CBD;
    font-size: 18px;
    font-weight: bold;
    line-height: 26px;
    white-space: nowrap;
}

/* ============================================================
 * 政务信息（slide 4）
 * 第 1 行：6 个入口卡片 ｜ 通知公告
 * 第 2 行：政府采购组 ｜ 政策法规组（两者均为「栏目头 + Swiper 列表」）
 * ============================================================ */
.zwxx-main {
    --bs-gutter-x: 1.5rem;     /* 24px */
    --bs-gutter-y: 2.5rem;     /* 行间距 40px，对应设计稿两行栏目头的间距 */
}

/* ---------- 6 个入口卡片 ---------- */
.zwxx-entries {
    --bs-gutter-x: 1.75rem;    /* 列间距 28px */
    --bs-gutter-y: 2.5rem;     /* 行间距 40px */
}

.zwxx-entry {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px 12px 22px;
    border: 1px solid #E9EFF7;
    border-radius: 6px;
    background-color: transparent;
    background-image: linear-gradient(to bottom, rgba(243, 247, 254, 1), rgba(243, 247, 254, 0));
    text-decoration: none;
    transition: border-color 200ms ease, box-shadow 200ms ease;
}

.zwxx-entry:hover,
.zwxx-entry:focus {
    border-color: #1A6CBD;
    box-shadow: 0 6px 18px rgba(26, 108, 189, .12);
}

.zwxx-entry-icon {
    display: block;
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.zwxx-entry-name {
    margin-top: 12px;
    color: #333;
    font-size: 16px;
    line-height: 22px;
}

/* ---------- 栏目头（「通知公告」与两组 Tab 共用外观） ---------- */
.zwxx-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 34px;
    margin-bottom: 10px;
}

.zwxx-head-title,
.zwxx-tabs {
    display: flex;
    align-items: center;
    height: 100%;
    min-width: 0;
    margin: 0;
}

.zwxx-head-title {
    color: #1A6CBD;
    font-size: 20px;
    font-weight: bold;
    line-height: 1;
}

.zwxx-tab {
    flex: 0 0 auto;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #333;
    text-decoration: none;   /* 栏目现为 a 标签 */
    font-size: 20px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: color 200ms ease;
}

.zwxx-tab + .zwxx-tab {
    margin-left: 30px;
}

.zwxx-tab:hover,
.zwxx-tab:focus,
.zwxx-tab.active {
    color: #1A6CBD;
}

.zwxx-tab.active {
    font-weight: bold;
}

.zwxx-more {
    flex: 0 0 auto;
    margin-left: auto;
    padding-left: 12px;
    color: #999;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    transition: color 180ms ease;
}

.zwxx-more:hover,
.zwxx-more:focus {
    color: #1A6CBD;
}

/* ---------- 列表（4/5 条，标题 + 右侧日期） ---------- */
.zwxx-swiper {
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.zwxx-swiper .swiper-slide {
    height: auto;
    min-width: 0;
}

.zwxx-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.zwxx-list li {
    display: flex;
    align-items: center;
    height: 44px;
}

.zwxx-list li a {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    height: 100%;
    color: #333;
    font-size: 16px;
    text-decoration: none;
    transition: color 180ms ease;
}

.zwxx-list li a:hover,
.zwxx-list li a:focus {
    color: #1A6CBD;
}

/* 标题前的菱形（与新闻频道同款） */
.zwxx-list li a::before {
    display: block;
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    margin-right: 12px;
    background: #32C5FF;
    content: "";
    clip-path: polygon(50% 0%, 80% 50%, 50% 100%, 20% 50%);
    transition: background-color 180ms ease;
}

.zwxx-list li a:hover::before,
.zwxx-list li a:focus::before {
    background: #1A6CBD;
}

.zwxx-title {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    font-size: 16px;
    line-height: 20px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.zwxx-date {
    display: block;
    flex: 0 0 auto;
    margin-left: 16px;
    color: #999;
    font-size: 14px;
}

/* ============================================================
 * 响应式断点（移动端）
 * < md（<768）：轮播与列表上下堆叠；字号、菱形、行高适配
 * ============================================================ */
@media (max-width: 767.98px) {

    /* 移动端：左右两列上下堆叠，加大上下间距 */
    .home-main {
        --bs-gutter-y: 1.25rem;
    }

    /* 列表：字号缩、行高缩 */
    .news-head { height: 44px; }
    .news-tab { font-size: 16px; }
    .news-tab + .news-tab { margin-left: 24px; }
    .news-more { font-size: 13px; }
    .news-more::after { font-size: 15px; }

    .news-list li { height: 40px; }
    .news-list li a { font-size: 15px; }
    .news-title { font-size: 15px; line-height: 18px; }
    .news-date { margin-left: 12px; font-size: 13px; }
    .news-list li a::before { width: 6px; height: 6px; margin-right: 10px; }

    /* 轮播：标题条字号缩 */
    .home-caption h5 { font-size: 14px; line-height: 20px; }

    /* 专题：移动端高度自适应，太窄时缩成 2 张或 1 张 */
    .specials { margin-top: 28px; }

    /* 大轮播 / 占位 */
    .page-swiper { margin-top: 20px; }
    .page-blank { padding: 90px 0; }

    /* 服务平台：卡片缩小、间距收紧 */
    .fwpt-grid { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
    .fwpt-card { padding: 24px 10px 22px; border-radius: 4px; }
    .fwpt-icon { width: 44px; height: 44px; }
    .fwpt-name { margin-top: 12px; font-size: 14px; line-height: 20px; }
    .fwpt-banner { margin-top: 22px; }

    /* 互动交流：卡片/列表/右列整体缩小 */
    .hdjl-entry { padding: 16px 8px 14px; border-radius: 4px; }
    .hdjl-entry-icon { width: 32px; height: 32px; }
    .hdjl-entry-name { margin-top: 8px; font-size: 14px; line-height: 20px; }

    .hdjl-head { height: 38px; margin-top: 18px; }
    .hdjl-tab { font-size: 16px; }
    .hdjl-tab + .hdjl-tab { margin-left: 20px; }

    .hdjl-item-title { font-size: 15px; }
    .hdjl-item-title::before { width: 16px; height: 16px; margin-right: 8px; }
    .hdjl-item-meta { font-size: 13px; }
    .hdjl-item-seal img { width: 40px; height: 40px; }

    .hdjl-news-title { margin-bottom: 12px; font-size: 18px; line-height: 24px; }
    .hdjl-news-title::before { width: 24px; height: 24px; }
    .hdjl-news-thumb { width: 104px; }
    .hdjl-news-text { margin-left: 10px; font-size: 15px; line-height: 22px; }

    .hdjl-phones { --bs-gutter-x: 1rem; margin-top: 18px; }
    .hdjl-phone { padding: 12px; }
    .hdjl-phone-icon { width: 30px; height: 30px; margin-right: 8px; }
    .hdjl-phone-num { font-size: 17px; line-height: 24px; }

    /* 互动交流左右列在 <992 已是 col-12 堆叠，这里补垂直间距 */
    .hdjl-main { --bs-gutter-y: 1.25rem; }

    /* 政务信息：卡片缩小、栏目头与列表字号缩 */
    .zwxx-main { --bs-gutter-y: 1.5rem; }
    .zwxx-entries { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
    .zwxx-entry { padding: 16px 8px 14px; border-radius: 4px; }
    .zwxx-entry-icon { width: 32px; height: 32px; }
    .zwxx-entry-name { margin-top: 8px; font-size: 14px; line-height: 20px; }

    .zwxx-head { height: 28px; margin-bottom: 6px; }
    .zwxx-head-title { font-size: 17px; }
    .zwxx-tab { font-size: 16px; }
    .zwxx-tab + .zwxx-tab { margin-left: 18px; }

    .zwxx-list li { height: 40px; }
    .zwxx-list li a { font-size: 15px; }
    .zwxx-title { font-size: 15px; line-height: 18px; }
    .zwxx-list li a::before { width: 6px; height: 6px; margin-right: 10px; }
    .zwxx-date { margin-left: 12px; font-size: 13px; }
}

@media (max-width: 575.98px) {
    .page-swiper { margin-top: 16px; }
    .fwpt-name { font-size: 13px; }

    .hdjl-entry-name { font-size: 13px; }
    .hdjl-item-dept { margin-left: 12px; }
    .hdjl-item-seal img { width: 34px; height: 34px; }
    .hdjl-phone-label { font-size: 13px; }
    .hdjl-phone-num { font-size: 16px; }
    .hdjl-news-thumb { width: 92px; }

    .zwxx-entry-name { font-size: 13px; }
    .zwxx-head-title { font-size: 16px; }
    .zwxx-tab { font-size: 16px; }
    .zwxx-tab + .zwxx-tab { margin-left: 14px; }
    .zwxx-list li { height: 38px; }
    .zwxx-list li a { font-size: 14px; }
    .zwxx-title { font-size: 14px; }
    .zwxx-date { display: none; }      /* 太窄时隐藏日期，让标题独占 */

    .news-tab { font-size: 14px; }
    .news-tab + .news-tab { margin-left: 16px; }
    .news-more { font-size: 12px; }
    .news-list li { height: 38px; }
    .news-list li a { font-size: 14px; }
    .news-title { font-size: 14px; }
    .news-date { display: none; }      /* 太窄时隐藏日期，让标题独占 */
}

/* ============================================================
 * 右侧新媒体矩阵二维码（固定悬浮，不随页面滚动）
 * 4 张图 86px 宽、文字已烙在图上；视口 <1400 时隐藏（会盖住 1200 容器内容）
 * ============================================================ */
.qr-dock {
    position: fixed;
    top: 50%;
    right: 16px;
    z-index: 90;
    margin: 0;
    padding: 10px;
    list-style: none;
    background: #fff;
    border: 1px solid #E3ECF5;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(16, 58, 110, .12);
    transform: translateY(-50%);
}

.qr-dock li + li {
    margin-top: 8px;
}

.qr-dock img {
    display: block;
    width: 86px;
    height: auto;
}

@media (max-width: 1399.98px) {
    .qr-dock {
        display: none;
    }
}
