@charset "utf-8";
/* ==========================================================================
   chinatax 主题样式 - 政务红门户风格
   仿照税务门户布局，自主实现视觉设计
   主色：政务红 #c8161e
   ========================================================================== */

/* ---------- 基础重置 ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: "Microsoft YaHei", "微软雅黑", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    color: #333;
    background: #fff;
    line-height: 1.6;
}
ul, ol, li { list-style: none; }
a { color: #333; text-decoration: none; transition: color 0.2s; }
a:hover { color: #c8161e; }
img { border: 0; vertical-align: middle; max-width: 100%; }
.clearfix::after { content: ""; display: block; clear: both; }
.container { width: 1200px; margin: 0 auto; }

/* ---------- 顶部条 ---------- */
.tx-topbar {
    background: #f5f5f5;
    border-bottom: 1px solid #e8e8e8;
    height: 32px;
    line-height: 32px;
    font-size: 12px;
    color: #666;
}
.tx-topbar .container { display: flex; justify-content: space-between; align-items: center; }
.tx-topbar .date { color: #888; }
.tx-topbar .links a { color: #666; margin-left: 16px; }
.tx-topbar .links a:hover { color: #c8161e; }

/* ---------- 头部 ---------- */
.tx-header {
    background: #fff;
    padding: 24px 0;
    border-bottom: 3px solid #c8161e;
}
.tx-header .container { display: flex; justify-content: space-between; align-items: center; }
.tx-logo { display: flex; align-items: center; }
.tx-logo img { max-height: 70px; }
.tx-logo .site-name {
    font-size: 28px;
    font-weight: bold;
    color: #c8161e;
    margin-left: 12px;
    letter-spacing: 2px;
}
.tx-search { display: flex; align-items: center; }
.tx-search input {
    width: 240px;
    height: 36px;
    border: 2px solid #c8161e;
    border-right: 0;
    padding: 0 12px;
    font-size: 14px;
    outline: none;
}
.tx-search button {
    width: 70px;
    height: 36px;
    background: #c8161e;
    color: #fff;
    border: 0;
    cursor: pointer;
    font-size: 14px;
}
.tx-search button:hover { background: #a01219; }

/* ---------- 主导航 ---------- */
.tx-nav {
    background: #c8161e;
    height: 48px;
    line-height: 48px;
}
.tx-nav ul { display: flex; }
.tx-nav li { position: relative; flex: 1; text-align: center; }
.tx-nav li a {
    display: block;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    padding: 0 20px;
    height: 48px;
}
.tx-nav li a:hover,
.tx-nav li.on > a { background: #a01219; color: #fff; }
.tx-nav li .sub {
    position: absolute;
    left: 0;
    top: 48px;
    width: 100%;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-top: 0;
    display: none;
    z-index: 100;
    line-height: 36px;
}
.tx-nav li:hover .sub { display: block; }
.tx-nav li .sub a {
    color: #333;
    font-size: 13px;
    font-weight: normal;
    height: 36px;
    padding: 0;
}
.tx-nav li .sub a:hover { background: #f5f5f5; color: #c8161e; }

/* ---------- banner 轮播（参考默认模板 .bannerhome 风格，PC 端） ---------- */
.bannerhome { clear: both; margin-bottom: 80px; position: relative; overflow: hidden; }
.bannerhome .frames,
.bannerhome .frames a,
.bannerhome .frames div { display: block; height: 100%; }
.bannerhome .frames a { background-position: center top; background-repeat: no-repeat; background-size: auto 100%; }

/* ---------- 通用标题 ---------- */
.tx-section { padding: 30px 0; }
.tx-section .container { background: #fff; }
.tx-title-bar {
    border-bottom: 2px solid #c8161e;
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.tx-title-bar h2 {
    font-size: 22px;
    color: #c8161e;
    font-weight: bold;
    padding: 0 0 10px 0;
    position: relative;
}
.tx-title-bar h2::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 60px;
    height: 4px;
    background: #c8161e;
}
.tx-title-bar .more { color: #888; font-size: 13px; padding-bottom: 12px; }
.tx-title-bar .more:hover { color: #c8161e; }

/* ---------- 要闻区（左图右列表） ---------- */
.tx-headline { display: flex; gap: 30px; padding: 30px 0; }
.tx-headline .pic-box {
    flex: 0 0 480px;
    height: 320px;
    overflow: hidden;
    position: relative;
}
.tx-headline .pic-box img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }
.tx-headline .pic-box:hover img { transform: scale(1.05); }
.tx-headline .pic-box .caption {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(200, 22, 30, 0.85);
    color: #fff;
    padding: 12px 16px;
    font-size: 15px;
}
.tx-headline .pic-box .caption a { color: #fff; }
.tx-headline .news-list { flex: 1; }
.tx-headline .news-list .top {
    text-align: center;
    padding-bottom: 16px;
    border-bottom: 1px dashed #e8e8e8;
    margin-bottom: 16px;
}
.tx-headline .news-list .top h3 {
    font-size: 22px;
    color: #c8161e;
    font-weight: bold;
    margin-bottom: 8px;
}
.tx-headline .news-list .top h3 a { color: #c8161e; }
.tx-headline .news-list .top p { color: #888; font-size: 12px; }
.tx-headline .news-list ul li {
    line-height: 32px;
    font-size: 15px;
    padding-left: 14px;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tx-headline .news-list ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    width: 5px;
    height: 5px;
    background: #c8161e;
}
.tx-headline .news-list ul li a { color: #333; }
.tx-headline .news-list ul li a:hover { color: #c8161e; }
.tx-headline .news-list ul li .date { float: right; color: #999; font-size: 12px; }

/* ---------- 三栏区块 ---------- */
.tx-three-col { display: flex; gap: 24px; padding: 20px 0 30px; }
.tx-three-col .col { flex: 1; background: #fff; border: 1px solid #f0f0f0; }
.tx-three-col .col .tab-head {
    background: #f8f8f8;
    height: 44px;
    line-height: 44px;
    border-bottom: 2px solid #c8161e;
}
.tx-three-col .col .tab-head h3 {
    font-size: 16px;
    color: #fff;
    background: #c8161e;
    display: inline-block;
    padding: 0 24px;
    font-weight: bold;
}
.tx-three-col .col .tab-head .more {
    float: right;
    color: #999;
    font-size: 12px;
    padding-right: 14px;
}
.tx-three-col .col ul { padding: 14px 16px; }
.tx-three-col .col ul li {
    line-height: 30px;
    font-size: 14px;
    padding-left: 12px;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tx-three-col .col ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    width: 4px;
    height: 4px;
    background: #c8161e;
}
.tx-three-col .col ul li .date { float: right; color: #aaa; font-size: 12px; }

/* ---------- 图片新闻横排 ---------- */
.tx-pic-news { padding: 20px 0 30px; }
.tx-pic-news ul { display: flex; gap: 20px; }
.tx-pic-news ul li {
    flex: 1;
    border: 1px solid #f0f0f0;
    overflow: hidden;
}
.tx-pic-news ul li .pic {
    width: 100%;
    height: 160px;
    overflow: hidden;
    background: #f5f5f5;
}
.tx-pic-news ul li .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s;
}
.tx-pic-news ul li:hover .pic img { transform: scale(1.06); }
.tx-pic-news ul li .name {
    padding: 10px 12px;
    font-size: 13px;
    line-height: 22px;
    color: #333;
    height: 64px;
    overflow: hidden;
}
.tx-pic-news ul li:hover .name { color: #c8161e; }

/* ---------- 政策三栏Tab ---------- */
.tx-policy-section { padding: 20px 0 30px; }
.tx-policy-section .container { display: flex; gap: 24px; }
.tx-policy-section .col {
    flex: 1;
    border: 1px solid #f0f0f0;
    background: #fff;
}
.tx-policy-section .col .tab-head {
    border-bottom: 2px solid #c8161e;
    height: 44px;
    line-height: 44px;
    padding: 0 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.tx-policy-section .col .tab-head h3 {
    font-size: 16px;
    color: #c8161e;
    font-weight: bold;
}
.tx-policy-section .col .tab-head .more { color: #999; font-size: 12px; }
.tx-policy-section .col ul { padding: 12px 16px; }
.tx-policy-section .col ul li {
    line-height: 30px;
    font-size: 14px;
    padding-left: 12px;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tx-policy-section .col ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 13px;
    width: 4px;
    height: 4px;
    background: #c8161e;
}
.tx-policy-section .col ul li .date { float: right; color: #aaa; font-size: 12px; }

/* ---------- 联系我们 ---------- */
.tx-contact {
    background: #f8f8f8;
    padding: 30px 0;
    margin-top: 30px;
    border-top: 1px solid #e8e8e8;
}
.tx-contact .tx-title-bar { border-bottom: 2px solid #c8161e; margin-bottom: 20px; }
.tx-contact table { width: 100%; border-collapse: collapse; }
.tx-contact table td {
    padding: 14px 16px;
    border: 1px solid #e8e8e8;
    background: #fff;
    font-size: 14px;
}
.tx-contact table td.td-label {
    width: 120px;
    background: #fafafa;
    color: #c8161e;
    font-weight: bold;
    text-align: center;
}
.tx-contact .third { text-align: center; margin-top: 20px; }
.tx-contact .third a {
    display: inline-block;
    width: 44px;
    height: 44px;
    line-height: 44px;
    border-radius: 50%;
    background: #c8161e;
    color: #fff;
    margin: 0 8px;
    font-size: 20px;
}
.tx-contact .third a:hover { background: #a01219; color: #fff; }

/* ---------- 底部 ---------- */
.tx-footer {
    background: #333;
    color: #bbb;
    padding: 24px 0;
    margin-top: 0;
}
.tx-footer .friend-link {
    border-bottom: 1px solid #444;
    padding-bottom: 16px;
    margin-bottom: 16px;
}
.tx-footer .friend-link .label {
    color: #fff;
    font-size: 14px;
    margin-bottom: 8px;
}
.tx-footer .friend-link ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.tx-footer .friend-link ul li a { color: #bbb; font-size: 13px; }
.tx-footer .friend-link ul li a:hover { color: #fff; }
.tx-footer .copyright { text-align: center; line-height: 24px; font-size: 13px; }
.tx-footer .copyright a { color: #bbb; }

/* ---------- 列表页 ---------- */
.tx-list-banner {
    height: 200px;
    background: linear-gradient(135deg, #c8161e 0%, #a01219 100%);
    color: #fff;
    text-align: center;
    padding-top: 60px;
}
.tx-list-banner h1 { font-size: 32px; font-weight: bold; margin-bottom: 8px; }
.tx-list-banner p { font-size: 14px; opacity: 0.9; }
.tx-crumb {
    background: #f8f8f8;
    border-bottom: 1px solid #e8e8e8;
    height: 40px;
    line-height: 40px;
    font-size: 13px;
    color: #888;
}
.tx-crumb a { color: #888; }
.tx-crumb a:hover { color: #c8161e; }
.tx-list-main { padding: 30px 0; }
.tx-list-main .container { display: flex; gap: 30px; }
.tx-list-main .content { flex: 1; background: #fff; border: 1px solid #f0f0f0; padding: 24px; }
.tx-list-main .content h1 {
    font-size: 22px;
    color: #c8161e;
    border-bottom: 2px solid #c8161e;
    padding-bottom: 12px;
    margin-bottom: 20px;
}
.tx-list-main .list li {
    line-height: 40px;
    border-bottom: 1px dashed #eee;
    font-size: 14px;
    padding-left: 16px;
    position: relative;
}
.tx-list-main .list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 17px;
    width: 6px;
    height: 6px;
    background: #c8161e;
}
.tx-list-main .list li a { color: #333; }
.tx-list-main .list li a:hover { color: #c8161e; }
.tx-list-main .list li .date { float: right; color: #999; font-size: 12px; }
.tx-list-main .sidebar { flex: 0 0 280px; }
.tx-list-main .sidebar .box { border: 1px solid #f0f0f0; margin-bottom: 20px; }
.tx-list-main .sidebar .box .head {
    background: #c8161e;
    color: #fff;
    padding: 10px 16px;
    font-size: 15px;
    font-weight: bold;
}
.tx-list-main .sidebar .box ul { padding: 12px 16px; }
.tx-list-main .sidebar .box ul li {
    line-height: 30px;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: 10px;
    position: relative;
}
.tx-list-main .sidebar .box ul li::before {
    content: ">";
    position: absolute;
    left: 0;
    color: #c8161e;
}
.tx-list-main .sidebar .box ul li a { color: #555; }
.tx-list-main .sidebar .box ul li a:hover { color: #c8161e; }

/* 分页样式 */
.tx-pagination { text-align: center; padding: 24px 0; }
.tx-pagination a, .tx-pagination span {
    display: inline-block;
    height: 34px;
    line-height: 34px;
    padding: 0 12px;
    border: 1px solid #e8e8e8;
    margin: 0 3px;
    color: #555;
    font-size: 13px;
}
.tx-pagination a:hover, .tx-pagination .current {
    background: #c8161e;
    color: #fff;
    border-color: #c8161e;
}

/* ---------- 详情页 ---------- */
.tx-view-main { padding: 30px 0; }
.tx-view-main .container { display: flex; gap: 30px; }
.tx-view-main .content {
    flex: 1;
    background: #fff;
    border: 1px solid #f0f0f0;
    padding: 30px 40px;
}
.tx-view-main .content h1 {
    font-size: 24px;
    color: #333;
    text-align: center;
    margin-bottom: 16px;
    line-height: 1.4;
}
.tx-view-main .content .meta {
    text-align: center;
    color: #999;
    font-size: 13px;
    padding: 12px 0;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    margin-bottom: 24px;
}
.tx-view-main .content .meta span { margin: 0 12px; }
.tx-view-main .content .article {
    font-size: 16px;
    line-height: 1.9;
    color: #333;
}
.tx-view-main .content .article p { margin-bottom: 18px; text-indent: 2em; }
.tx-view-main .content .article img { max-width: 100%; height: auto; margin: 16px auto; display: block; }
.tx-view-main .content .article h2, .tx-view-main .content .article h3 {
    color: #c8161e;
    margin: 20px 0 12px;
}
.tx-view-main .content .prev-next {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #eee;
    line-height: 28px;
    font-size: 13px;
}
.tx-view-main .content .prev-next a { color: #555; }
.tx-view-main .content .prev-next a:hover { color: #c8161e; }
.tx-view-main .sidebar { flex: 0 0 280px; }
.tx-view-main .sidebar .box { border: 1px solid #f0f0f0; margin-bottom: 20px; }
.tx-view-main .sidebar .box .head {
    background: #c8161e;
    color: #fff;
    padding: 10px 16px;
    font-size: 15px;
    font-weight: bold;
}
.tx-view-main .sidebar .box ul { padding: 12px 16px; }
.tx-view-main .sidebar .box ul li {
    line-height: 30px;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: 10px;
    position: relative;
}
.tx-view-main .sidebar .box ul li::before {
    content: ">";
    position: absolute;
    left: 0;
    color: #c8161e;
}
.tx-view-main .sidebar .box ul li a { color: #555; }
.tx-view-main .sidebar .box ul li a:hover { color: #c8161e; }

/* ---------- 微信二维码弹窗 ---------- */
.tx-qr-mask {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    display: none;
    justify-content: center;
    align-items: center;
}
.tx-qr-mask .box {
    background: #fff;
    padding: 24px 32px 32px;
    text-align: center;
    border-radius: 4px;
    position: relative;
}
.tx-qr-mask .box .close {
    position: absolute;
    right: 10px;
    top: 6px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    color: #999;
    cursor: pointer;
    font-size: 18px;
}
.tx-qr-mask .box .close:hover { color: #c8161e; }
.tx-qr-mask .box h4 {
    font-size: 16px;
    color: #c8161e;
    margin-bottom: 16px;
    font-weight: bold;
}
.tx-qr-mask .box img {
    max-width: 220px;
    max-height: 220px;
    display: block;
    margin: 0 auto;
}

/* ---------- 通用动画 ---------- */
.g_animation { opacity: 0; transition: all 0.6s ease-out; }
.g_animation.translatex { transform: translateX(-30px); }
.g_animation.translate { transform: translateY(20px); }
.g_animation.fade { transform: translateY(30px); }
.g_animation.g_show { opacity: 1; transform: translate(0, 0); }

/* ---------- 移动端隐藏/显示 ---------- */
.pc-show { display: block; }
.mb-show { display: none; }
@media (max-width: 768px) {
    .container { width: 100%; padding: 0 12px; }
    .pc-show { display: none; }
    .mb-show { display: block; }
    .tx-nav ul { display: block; }
    .tx-nav li { border-bottom: 1px solid #a01219; }
    .tx-three-col { flex-direction: column; }
    .tx-policy-section .container { flex-direction: column; }
    .tx-list-main .container, .tx-view-main .container { flex-direction: column; }
    .tx-list-main .sidebar, .tx-view-main .sidebar { flex: none; }
    .tx-headline { flex-direction: column; }
    .tx-headline .pic-box { flex: none; width: 100%; }
    .tx-pic-news ul { flex-wrap: wrap; }
    .tx-pic-news ul li { flex: 0 0 48%; margin-bottom: 12px; }
}
