/* FTRC 新官网前台样式（响应式，沿用老站政府天蓝配色）
   主色 #056AB8 / 导航渐变 #39A4DC→#056AB8 / 链接hover #016FB8 / 文字 #555 */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Microsoft YaHei',Tahoma,Verdana,sans-serif; color:#555; background:#f5f7fa; font-size:15px; line-height:1.7; }
a { color:#555; text-decoration:none; transition:color .15s; }
a:hover { color:#016FB8; }
img { max-width:100%; height:auto; }
.container { max-width:1200px; margin:0 auto; padding:0 16px; }

/* 顶条 */
.topbar { background:#056AB8; color:#fff; font-size:13px; padding:6px 0; }

/* 头部 Banner：CSS 科技蓝背景（多层渐变+光斑）+ 两行文字两端对齐 */
.site-header { background:#fff; }
.header-banner {
    background: url('/static/uploads/banner/banner_v3_1920x400.png') center center/cover no-repeat, linear-gradient(125deg,#000a1f 0%,#002247 50%,#001530 100%);
    padding:62px 24px;
    text-align:center;
}
.header-banner .banner-link { display:inline-block; max-width:1080px; width:100%; text-decoration:none; }
.header-banner .banner-title {
    color:#fff; font-size:44px; font-weight:bold; letter-spacing:3px;
    text-shadow:0 2px 12px rgba(0,0,0,.6); margin:0; text-align:center;
}
.header-banner .banner-subtitle {
    color:#fff; font-size:15px; letter-spacing:.5px; line-height:1.5;
    margin:14px 0 0; text-shadow:0 2px 8px rgba(0,0,0,.85); text-align:center;
}
@media (max-width:600px){
    .header-banner { padding:30px 14px; }
    .header-banner .banner-title { font-size:17px; letter-spacing:0; }
    .header-banner .banner-subtitle { font-size:11px; }
}

/* 主导航 */
.main-nav { background:linear-gradient(to bottom,#39A4DC,#056AB8); }
.nav-list { list-style:none; display:flex; flex-wrap:wrap; }
.nav-list li { flex:1 1 auto; }
.nav-list a { display:block; color:#fff; padding:13px 10px; font-size:15px; font-weight:bold; text-align:center; }
.nav-list a:hover { background:rgba(0,0,0,.18); }
.nav-list a.active, .nav-list a.active:hover { background:rgba(0,0,0,.32); }
.nav-toggle, .nav-overlay, .nav-close { display:none; }   /* 桌面隐藏，移动端 @media 内显示 */

/* 主体 */
.site-main { min-height:420px; padding:28px 0; }

/* 通用板块标题（梯形胶囊，照老站风格，纯CSS实现） */
.section-title { position:relative; background:linear-gradient(to right,#3CB1FF,#0069AD); color:#fff; font-size:17px; font-weight:bold; padding:9px 18px; border-radius:3px; margin-bottom:14px; display:flex; justify-content:space-between; align-items:center; }
.section-title .more { font-size:13px; font-weight:normal; color:#eaf6ff; white-space:nowrap; flex-shrink:0; margin-left:12px; }

/* 新闻列表 */
.news-list { list-style:none; background:#fff; border-radius:4px; padding:6px 18px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.news-list li { display:flex; justify-content:space-between; align-items:center; padding:11px 0; border-bottom:1px dotted #ddd; }
.news-list li:last-child { border-bottom:none; }
.news-list li::before { content:'›'; color:#056AB8; font-weight:bold; margin-right:8px; }
.news-list .ttl { flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:17px; }
.news-list .date { color:#999; font-size:14px; margin-left:12px; }
/* 首页右栏版块（主题教育/公告/党史）不显示日期；左栏时政/新闻保留 */
.home-right .news-list .date { display:none; }

/* 栅格 */
.row { display:flex; flex-wrap:wrap; gap:20px; }
.col-main { flex:0 0 calc(66.66% - 10px); }
.col-side { flex:0 0 calc(33.33% - 10px); }

/* 首页：左右布局 */
.home-row { display:flex; flex-wrap:wrap; gap:22px; }
.home-left { flex:0 0 calc(64% - 11px); min-width:0; }
.home-right { flex:0 0 calc(36% - 11px); min-width:0; }
@media (max-width:768px){
    .home-left, .home-right { display:contents; }
    .home-row { flex-direction:column; flex-wrap:nowrap; gap:22px; }
    .news-block { margin-bottom:0; }
    /* 移动端顺序：轮播 → 时政 → 新闻 → 主题教育 → 公告 → 党史 */
    .slider { order:1; }
    .slider-dots { order:2; }
    .block-zhengce { order:3; }
    .block-xinwen { order:4; }
    .block-zhuti { order:5; }
    .block-gonggao { order:6; }
    .block-dangshi { order:7; }
}

/* 轮播（固定尺寸 + 指示器 + 左右箭头）*/
.slider { position:relative; overflow:hidden; border-radius:4px; margin-bottom:4px; box-shadow:0 2px 10px rgba(0,0,0,.12); background:#001530; }
.slider .slides { position:relative; height:302px; }
.slider .slide { display:none; position:absolute; inset:0; }
.slider .slide.active { display:block; }
.slider .slide a { position:relative; display:block; width:100%; height:100%; }
.slider .slide a img { width:100%; height:100%; display:block; object-fit:cover; }
.slide-title { position:absolute; left:0; right:0; bottom:0; background:rgba(0,0,0,.55); color:#fff; font-size:20px; font-weight:bold; padding:12px 16px; line-height:1.4; }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); background:rgba(0,0,0,.35); color:#fff; border:none; font-size:24px; width:32px; height:48px; cursor:pointer; opacity:.65; line-height:48px; padding:0; }
.slider-arrow:hover { opacity:1; background:rgba(0,0,0,.6); }
.slider-arrow.prev { left:0; border-radius:0 4px 4px 0; }
.slider-arrow.next { right:0; border-radius:4px 0 0 4px; }
.slider-dots { text-align:center; padding:6px 0 20px; }
.slider-dots .dot { display:inline-block; width:11px; height:11px; margin:0 4px; border-radius:50%; background:#cfd8e3; cursor:pointer; transition:background .15s; }
.slider-dots .dot.active { background:#056AB8; }

/* 首页：栏目块 */
.news-block { margin-bottom:22px; }
.news-list .empty { color:#999; border:none; }

/* 友情链接 */
.friend-links { margin-top:26px; }
.friend-links .links { background:#fff; padding:16px 22px; border-radius:4px; box-shadow:0 1px 3px rgba(0,0,0,.04); display:flex; flex-wrap:wrap; gap:8px 24px; }
.friend-links .links a { color:#555; font-size:16px; }
.friend-links .links a:hover { color:#056AB8; }

/* 列表/详情页通用 */
.crumb { font-size:15px; color:#888; padding:8px 0; border-bottom:1px solid #eee; margin-bottom:18px; }
.crumb a { color:#056AB8; }
.page-title { font-size:24px; color:#056AB8; text-align:center; margin:6px 0 24px; font-weight:bold; }
.pager { text-align:center; padding:20px 0; }
.pager ul { display:inline-block; padding:0; margin:0; list-style:none; }
.pager li { display:inline; }
.pager a, .pager span { display:inline-block; padding:6px 12px; margin:0 2px; border:1px solid #ddd; border-radius:3px; color:#555; }
.pager .active span, .pager .current { background:#056AB8; color:#fff; border-color:#056AB8; }

/* 文章详情 */
.article-detail { background:#fff; padding:34px; border-radius:4px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.article-title { font-size:24px; text-align:center; color:#222; margin:0 0 14px; line-height:1.4; font-weight:bold; }
.article-meta { text-align:center; color:#999; font-size:13px; padding-bottom:18px; border-bottom:1px solid #eee; margin-bottom:26px; }
.article-content { line-height:2; font-size:16px; color:#333; }
.article-content img { max-width:100%; }
.article-content p { margin:14px 0; }
.article-nav { display:flex; justify-content:space-between; gap:20px; margin-top:30px; padding-top:20px; border-top:1px solid #eee; }
.article-nav a { color:#056AB8; font-size:14px; flex:1; }
.article-nav .next { text-align:right; }

/* 页脚 */
.site-footer { background:#1a3a5c; color:#cbd5e0; padding:26px 0; margin-top:32px; font-size:13px; text-align:center; line-height:2; }
.site-footer a { color:#cbd5e0; }
.site-footer a:hover { color:#fff; }

/* 响应式：移动端单栏 + 汉堡抽屉导航 */
@media (max-width:768px) {
    /* 顶部蓝条右侧放汉堡按钮（白三横落在蓝色 topbar 上）*/
    .topbar .container { display:flex; justify-content:space-between; align-items:center; }
    .topbar-text { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .nav-toggle {
        display:flex; flex-direction:column; justify-content:center;
        flex-shrink:0; width:44px; height:32px; background:transparent; border:none; cursor:pointer; padding:0; margin-left:12px;
    }
    .nav-toggle span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; margin:3px auto; transition:transform .3s, opacity .3s; }
    .nav-toggle.active span:nth-child(1) { transform:translateY(5px) rotate(45deg); }
    .nav-toggle.active span:nth-child(2) { opacity:0; }
    .nav-toggle.active span:nth-child(3) { transform:translateY(-5px) rotate(-45deg); }
    /* 抽屉内关闭按钮（右上角 ✕，打开时显示）*/
    .nav-close { position:fixed; top:10px; right:10px; z-index:1001; width:36px; height:36px; background:rgba(0,0,0,.25); color:#fff; border:none; font-size:20px; line-height:34px; text-align:center; border-radius:50%; cursor:pointer; display:none; }
    .main-nav.open .nav-close { display:block; }
    /* 抽屉：导航从右侧滑入 */
    .main-nav .container { padding:0; }
    .nav-list {
        position:fixed; top:0; right:-260px;
        width:240px; height:100vh; max-height:100vh; overflow-y:auto;
        background:linear-gradient(to bottom,#39A4DC,#056AB8);
        flex-direction:column; flex-wrap:nowrap;
        padding:60px 0 24px; box-shadow:-4px 0 16px rgba(0,0,0,.2);
        transition:right .3s ease; z-index:1000;
    }
    .main-nav.open .nav-list { right:0; }
    .nav-list li { flex:none; border-top:1px solid rgba(255,255,255,.12); }
    .nav-list a { text-align:left; padding:14px 18px; font-size:16px; }
    /* 半透明遮罩（点击关闭）*/
    .nav-overlay { display:block; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:999; opacity:0; pointer-events:none; transition:opacity .3s; }
    .nav-overlay.show { opacity:1; pointer-events:auto; }
    /* 通用 */
    .col-main, .col-side { flex:0 0 100%; }
    .news-list .ttl { white-space:nowrap; }
    /* 友情链接：移动端一行一个 */
    .friend-links .links { flex-direction:column; align-items:flex-start; gap:10px; }
}
