/* ============================================================
   政务风样式（蓝色政务风：中国政府网 / 政务服务网 形态）

   为什么手写而不是走 Tailwind：
     公共主题的 public.css 是 PublicTheme 包的预构建产物，改它要重建 Tailwind + 重新发包；
     政务风只服务本宿主，因此放应用内 wwwroot/css/gov.css，随项目一起发布。

   约定：
     1. 新页面只用 gov-* 手写类 + 主题已有 pt-* 类，**不要用裸 Tailwind 工具类**
        （public.css 不会包含本页用到的新工具类，样式会静默缺失）；
     2. 圆角 2px、白色卡片、浅灰底，与后台/公开站的克制风格保持一致；
     3. 全部自适应，不做 JS 交互（站点是静态 SSR）。
   ============================================================ */

:root {
    --gov-primary: #1b4f9c;
    --gov-primary-dark: #123a75;
    --gov-primary-soft: #e8f0fb;
    --gov-accent: #c8102e;
    --gov-bg: #f4f6f9;
    --gov-surface: #ffffff;
    --gov-text: #1f2329;
    --gov-muted: #5c6672;
    --gov-border: #dfe4ea;
    --gov-max: 1200px;
    --gov-radius: 2px;
}

/* 布局壳：把主题的 --pt-primary 改成政务蓝，现有 pt-* 组件（链接 / 分页 / 按钮）自动跟随 */
.gov-shell {
    --pt-primary: var(--gov-primary);
    --pt-primary-hover: var(--gov-primary-dark);
    --pt-radius: var(--gov-radius);

    display: flex;
    min-height: 100vh;
    flex-direction: column;
    background: var(--gov-bg);
    color: var(--gov-text);
    font-family: "Microsoft YaHei", "PingFang SC", "Source Han Sans SC", "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.75;
}

/* 盒模型兜底：主题的 Tailwind preflight 已设 border-box，这里再声明一次，
   保证 gov.css 单独预览/单独引用时 padding 不会把宽度撑破 */
.gov-shell,
.gov-shell *,
.gov-shell *::before,
.gov-shell *::after {
    box-sizing: border-box;
}

/* ---------- 无障碍：跳转链接 / 仅屏幕阅读器可见 ---------- */
.gov-skip {
    position: absolute;
    left: -9999px;
    top: 0;
}

.gov-skip:focus {
    left: 8px;
    top: 8px;
    z-index: 50;
    padding: 8px 14px;
    background: #fff;
    border: 1px solid var(--gov-primary);
    border-radius: var(--gov-radius);
    color: var(--gov-primary);
}

.gov-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* ---------- 顶部工具条 ---------- */
.gov-topbar {
    background: #eef2f7;
    border-bottom: 1px solid var(--gov-border);
    font-size: 12px;
    color: var(--gov-muted);
}

.gov-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    max-width: var(--gov-max);
    height: 34px;
    margin: 0 auto;
    padding: 0 16px;
}

.gov-topbar-welcome {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gov-topbar-links {
    display: flex;
    flex: none;
    align-items: center;
    gap: 18px;
}

.gov-topbar-links a:hover {
    color: var(--gov-primary);
}

/* ---------- 站点头部 ---------- */
.gov-header {
    background: var(--gov-surface);
}

.gov-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: var(--gov-max);
    margin: 0 auto;
    padding: 18px 16px;
}

.gov-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.gov-brand-logo {
    flex: none;
    width: 52px;
    height: 52px;
    object-fit: contain;
}

/* 无 logo 时的圆形徽标占位（取站名首字），避免头部空一块 */
.gov-brand-mark {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gov-primary) 0%, #2f6bbd 100%);
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
}

.gov-brand-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.gov-brand-title {
    overflow: hidden;
    color: var(--gov-primary-dark);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.25;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gov-brand-sub {
    margin-top: 4px;
    overflow: hidden;
    color: var(--gov-muted);
    font-size: 13px;
    letter-spacing: .5px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ---------- 站内搜索 ---------- */
.gov-search {
    display: flex;
    flex: none;
    align-items: stretch;
    height: 40px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--gov-primary);
    border-radius: var(--gov-radius);
}

.gov-search-input {
    width: 220px;
    padding: 0 12px;
    border: 0;
    outline: none;
    background: transparent;
    color: var(--gov-text);
    font-family: inherit;
    font-size: 14px;
}

.gov-search-input::placeholder {
    color: #9aa4b0;
}

.gov-search-btn {
    display: inline-flex;
    flex: none;
    align-items: center;
    gap: 6px;
    padding: 0 18px;
    border: 0;
    background: var(--gov-primary);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    cursor: pointer;
    transition: background-color .15s ease;
}

.gov-search-btn:hover {
    background: var(--gov-primary-dark);
}

/* ---------- 导航条 ---------- */
.gov-nav {
    position: relative;
    z-index: 20;
    background: var(--gov-primary);
}

.gov-nav-inner {
    display: flex;
    align-items: stretch;
    max-width: var(--gov-max);
    margin: 0 auto;
    padding: 0 16px;
    overflow-x: auto;
    scrollbar-width: none;
}

.gov-nav-inner::-webkit-scrollbar {
    height: 0;
}

.gov-nav-link {
    display: inline-flex;
    flex: none;
    align-items: center;
    height: 46px;
    padding: 0 26px;
    color: rgba(255, 255, 255, .92);
    font-size: 16px;
    white-space: nowrap;
    transition: background-color .15s ease;
}

.gov-nav-link:hover,
.gov-nav-link:focus-visible {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.gov-nav-link-active {
    background: var(--gov-primary-dark);
    color: #fff;
    font-weight: 600;
}

/* ---------- 二级下拉 ---------- */
.gov-nav-item {
    position: relative;
    display: flex;
    flex: none;
}

.gov-nav-link-parent {
    gap: 6px;
    cursor: pointer;
}

/* 下拉指示三角 */
.gov-nav-caret {
    width: 0;
    height: 0;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    border-top: 5px solid currentColor;
    opacity: .85;
    transition: transform .15s ease;
}

.gov-nav-item:hover .gov-nav-caret,
.gov-nav-item:focus-within .gov-nav-caret {
    transform: rotate(180deg);
}

.gov-nav-sub {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 30;
    min-width: 152px;
    padding: 6px 0;
    background: #fff;
    border: 1px solid var(--gov-border);
    border-top: 2px solid var(--gov-primary);
    border-radius: 0 0 var(--gov-radius) var(--gov-radius);
    box-shadow: 0 8px 20px rgba(18, 58, 117, .14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
}

.gov-nav-item:hover .gov-nav-sub,
.gov-nav-item:focus-within .gov-nav-sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gov-nav-sub-link {
    display: block;
    padding: 8px 16px;
    color: var(--gov-text);
    font-size: 14px;
    white-space: nowrap;
}

.gov-nav-sub-link:hover,
.gov-nav-sub-link:focus-visible {
    background: var(--gov-primary-soft);
    color: var(--gov-primary);
}

/* ---------- 主内容 ---------- */
.gov-main {
    flex: 1;
    width: 100%;
    max-width: var(--gov-max);
    margin: 0 auto;
    padding: 20px 16px 40px;
}

.gov-main [id],
.gov-footer {
    scroll-margin-top: 16px;
}

.gov-loading {
    padding: 64px 0;
    color: var(--gov-muted);
    font-size: 14px;
    text-align: center;
}

.gov-muted {
    color: var(--gov-muted);
}

/* ---------- 通用面板（白卡 + 蓝色标题栏） ---------- */
.gov-panel {
    background: var(--gov-surface);
    border: 1px solid var(--gov-border);
    border-radius: var(--gov-radius);
}

.gov-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 16px;
    border-bottom: 1px solid var(--gov-border);
}

.gov-panel-title {
    position: relative;
    margin: 0;
    padding-left: 12px;
    color: var(--gov-primary-dark);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
}

.gov-panel-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 16px;
    border-radius: 2px;
    background: var(--gov-primary);
    transform: translateY(-50%);
}

.gov-panel-more {
    flex: none;
    color: var(--gov-muted);
    font-size: 13px;
}

.gov-panel-more:hover {
    color: var(--gov-primary);
}

.gov-panel-body {
    padding: 14px 16px;
}

/* ---------- 首屏：轮播 + 通知公告 ---------- */
.gov-hero {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.gov-hero-main {
    min-width: 0;
}

.gov-carousel {
    display: flex;
    overflow-x: auto;
    border: 1px solid var(--gov-border);
    border-radius: var(--gov-radius);
    background: var(--gov-surface);
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.gov-carousel::-webkit-scrollbar {
    height: 0;
}

.gov-slide {
    position: relative;
    flex: 0 0 100%;
    height: 340px;
    overflow: hidden;
    scroll-snap-align: start;
    background: var(--gov-primary-dark);
}

.gov-slide-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 整张图可点：命中区铺满整格，标题文字不拦截点击 */
.gov-slide-hit {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.gov-slide-caption {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    padding: 34px 20px 14px;
    background: linear-gradient(180deg, rgba(12, 32, 64, 0) 0%, rgba(12, 32, 64, .78) 100%);
    color: #fff;
    pointer-events: none;
}

.gov-slide-title {
    overflow: hidden;
    font-size: 18px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gov-slide-sub {
    margin-top: 4px;
    overflow: hidden;
    color: rgba(255, 255, 255, .88);
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 只有一张 Banner 时即静态大图，尺寸与轮播一致 */
.gov-hero-static {
    position: relative;
    height: 340px;
    overflow: hidden;
    border: 1px solid var(--gov-border);
    border-radius: var(--gov-radius);
    background: var(--gov-primary-dark);
}

/* 无 Banner 时的文案兜底（配置 Site:HeroTitle / Site:Description） */
.gov-hero-fallback {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 340px;
    padding: 24px;
    border-radius: var(--gov-radius);
    background: linear-gradient(135deg, var(--gov-primary) 0%, #2f6bbd 100%);
    color: #fff;
    text-align: center;
}

.gov-hero-fallback-title {
    margin: 0;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: 1px;
}

.gov-hero-fallback-desc {
    max-width: 34rem;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
}

.gov-carousel-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}

.gov-carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #c4d0de;
    transition: background-color .15s ease, transform .15s ease;
}

.gov-carousel-dot:hover,
.gov-carousel-dot:focus-visible {
    background: var(--gov-primary);
    transform: scale(1.15);
}

/* 当前张（由首页脚本同步） */
.gov-carousel-dot-active,
.gov-carousel-dot-active:hover {
    background: var(--gov-primary);
    transform: scale(1.15);
}

/* ---------- 通知公告列表 ---------- */
.gov-notice-list {
    margin: 0;
    padding: 6px 16px 12px;
    list-style: none;
}

.gov-notice-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px dashed var(--gov-border);
    font-size: 14px;
}

.gov-notice-item:last-child {
    border-bottom: 0;
}

.gov-notice-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gov-notice-date {
    flex: none;
    color: var(--gov-muted);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.gov-tag-top {
    flex: none;
    padding: 0 5px;
    border-radius: var(--gov-radius);
    background: rgba(200, 16, 46, .08);
    color: var(--gov-accent);
    font-size: 12px;
    line-height: 18px;
}

/* ---------- 区块（带蓝色下划线标题） ---------- */
.gov-section {
    margin-top: 22px;
}

.gov-section-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--gov-primary);
}

.gov-section-title {
    margin: 0;
    color: var(--gov-primary-dark);
    font-size: 20px;
    font-weight: 700;
}

.gov-section-desc {
    color: var(--gov-muted);
    font-size: 13px;
}

/* ---------- 政务服务入口宫格 ---------- */
.gov-services {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.gov-service {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 18px 12px;
    background: var(--gov-surface);
    border: 1px solid var(--gov-border);
    border-radius: var(--gov-radius);
    text-align: center;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.gov-service:hover {
    border-color: var(--gov-primary);
    box-shadow: 0 6px 16px rgba(27, 79, 156, .12);
    transform: translateY(-2px);
}

.gov-service-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--gov-primary-soft);
    color: var(--gov-primary);
}

.gov-service-icon svg {
    width: 26px;
    height: 26px;
}

.gov-service-name {
    overflow: hidden;
    max-width: 100%;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gov-service-desc {
    display: -webkit-box;
    overflow: hidden;
    max-width: 100%;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

/* ---------- 两栏区块（左主右辅） ---------- */
.gov-split {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-top: 22px;
}

/* ---------- 新闻：头条 + 标题列表 ---------- */
.gov-news-lead {
    display: flex;
    gap: 16px;
    padding: 16px;
    border-bottom: 1px solid var(--gov-border);
}

.gov-news-lead-media {
    flex: none;
    width: 260px;
    height: 150px;
    overflow: hidden;
    border-radius: var(--gov-radius);
    background: var(--gov-primary-soft);
}

.gov-news-lead-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gov-news-lead-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.gov-news-lead-title {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
}

.gov-news-lead-title a:hover {
    color: var(--gov-primary);
}

.gov-news-lead-summary {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 8px;
    color: var(--gov-muted);
    font-size: 13px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.gov-news-lead-date {
    margin-top: auto;
    padding-top: 8px;
    color: var(--gov-muted);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

.gov-dot-list {
    margin: 0;
    padding: 8px 16px 14px;
    list-style: none;
}

.gov-dot-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 0;
    border-bottom: 1px dashed var(--gov-border);
    font-size: 14px;
}

.gov-dot-list li:last-child {
    border-bottom: 0;
}

.gov-dot-list li::before {
    content: "";
    flex: none;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gov-primary);
    opacity: .55;
}

.gov-dot-list a {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gov-dot-list a:hover {
    color: var(--gov-primary);
}

.gov-dot-list time {
    flex: none;
    color: var(--gov-muted);
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

/* ---------- 数据公开 ---------- */
/* 不要加 border-top：上面 .gov-panel-head 已经有 1px 下边线，
   两条叠在一起会变成 2px、颜色还略有差异，看起来「更粗」 */
.gov-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--gov-border);
}

.gov-stat {
    padding: 16px 10px;
    background: var(--gov-surface);
    text-align: center;
}

.gov-stat-value {
    color: var(--gov-primary);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.gov-stat-suffix {
    margin-left: 2px;
    font-size: 13px;
    font-weight: 600;
}

.gov-stat-label {
    margin-top: 6px;
    overflow: hidden;
    color: var(--gov-muted);
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ---------- 关于我们 ---------- */
.gov-about-body {
    padding: 16px;
    color: #3a4149;
    font-size: 14px;
    line-height: 1.9;
}

.gov-about-text {
    margin: 0;
}

.gov-about-row {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.8;
}

.gov-about-label {
    flex: none;
    color: var(--gov-primary-dark);
    font-weight: 600;
}

/* ---------- 合作伙伴 ---------- */
.gov-partners {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 16px;
}

.gov-partner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 64px;
    padding: 8px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--gov-border);
    border-radius: var(--gov-radius);
    transition: border-color .15s ease, box-shadow .15s ease;
}

.gov-partner:hover {
    border-color: var(--gov-primary);
    box-shadow: 0 4px 12px rgba(27, 79, 156, .12);
}

.gov-partner img {
    max-width: 100%;
    max-height: 40px;
    object-fit: contain;
}

.gov-partner-name {
    overflow: hidden;
    color: var(--gov-muted);
    font-size: 13px;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ---------- 页脚 ---------- */
.gov-footer {
    margin-top: 24px;
    background: #eef2f7;
    border-top: 3px solid var(--gov-primary);
}

.gov-footer-inner {
    max-width: var(--gov-max);
    margin: 0 auto;
    padding: 24px 16px 16px;
}

.gov-footer-cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.gov-footer-col-title {
    margin-bottom: 8px;
    color: var(--gov-primary-dark);
    font-size: 14px;
    font-weight: 700;
}

.gov-footer-col ul {
    margin: 0;
    padding: 0;
    list-style: none;
    color: var(--gov-muted);
    font-size: 13px;
    line-height: 2;
}

.gov-footer-col a:hover {
    color: var(--gov-primary);
}

.gov-footer-bottom {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #dae1ea;
    color: var(--gov-muted);
    font-size: 12px;
    text-align: center;
}

.gov-footer-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

.gov-footer-links a:hover {
    color: var(--gov-primary);
}

/* ============================================================
   内容页（新闻列表 / 详情）政务化
   只覆盖公共主题 pt-* 的呈现，不改这些页面的 markup
   ============================================================ */
.gov-shell .pt-breadcrumb {
    color: var(--gov-muted);
}

.gov-shell .pt-page-header {
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--gov-primary);
}

.gov-shell .pt-page-title {
    color: var(--gov-primary-dark);
    font-size: 22px;
}

.gov-shell .pt-page-desc {
    color: var(--gov-muted);
    font-size: 13px;
}

.gov-shell .pt-list {
    border-radius: var(--gov-radius);
}

.gov-shell .pt-list-item:hover {
    background: var(--gov-primary-soft);
}

.gov-shell .pt-list-item:hover .pt-list-title {
    color: var(--gov-primary);
}

.gov-shell .pt-tag {
    background: var(--gov-primary-soft);
    color: var(--gov-primary);
}

.gov-shell .pt-article {
    border-radius: var(--gov-radius);
}

.gov-shell .pt-article-title {
    color: var(--gov-primary-dark);
    font-size: 24px;
}

.gov-shell .pt-article-summary {
    background: var(--gov-bg);
}

.gov-shell .pt-prose {
    font-size: 15px;
    line-height: 1.9;
}

.gov-shell .pt-empty {
    border-radius: var(--gov-radius);
}

/* ============================================================
   自适应
   ============================================================ */

/* 桌面：导航不需要横向滚动，置为 visible 否则二级下拉会被 overflow 裁剪 */
@media (min-width: 769px) {
    .gov-nav-inner {
        overflow: visible;
    }
}

@media (max-width: 1024px) {
    .gov-services {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .gov-slide,
    .gov-hero-static,
    .gov-hero-fallback {
        height: 280px;
    }

    .gov-news-lead-media {
        width: 200px;
        height: 120px;
    }
}

@media (max-width: 768px) {
    .gov-shell {
        font-size: 14px;
    }

    .gov-header-inner {
        flex-wrap: wrap;
        gap: 14px;
        padding: 14px 16px;
    }

    .gov-brand-mark,
    .gov-brand-logo {
        width: 44px;
        height: 44px;
    }

    .gov-brand-mark {
        font-size: 20px;
    }

    .gov-brand-title {
        font-size: 22px;
    }

    .gov-brand-sub {
        font-size: 12px;
    }

    .gov-search {
        flex: 1 1 100%;
    }

    .gov-search-input {
        flex: 1;
        width: auto;
    }

    .gov-nav-link {
        height: 42px;
        padding: 0 16px;
        font-size: 15px;
    }

    /* 移动端无 hover，二级下拉隐藏（父项本身可点，不会变成死路） */
    .gov-nav-sub,
    .gov-nav-caret {
        display: none;
    }

    .gov-nav-link-parent {
        gap: 0;
    }

    .gov-main {
        padding: 14px 12px 28px;
    }

    .gov-hero,
    .gov-split {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-services {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gov-slide,
    .gov-hero-static,
    .gov-hero-fallback {
        height: 220px;
    }

    .gov-hero-fallback-title {
        font-size: 20px;
    }

    .gov-news-lead {
        flex-direction: column;
    }

    .gov-news-lead-media {
        width: 100%;
        height: 180px;
    }

    .gov-footer-cols {
        gap: 14px;
    }
}

@media (max-width: 480px) {
    .gov-services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gov-partners {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gov-panel-title {
        font-size: 16px;
    }

    .gov-section-title {
        font-size: 18px;
    }
}

/* ============================================================
   首页新增版块（政务门户常见排版）
   对应 GovHomePage.razor 的「数据公开条 / 三栏要闻 / 图文卡片 /
   专题专栏 / 办事指南」，未建表的版块先用固定值占位
   ============================================================ */

/* ---------- 三栏：要闻 + 通知公告 Tab + 快捷入口 ---------- */
.gov-cols3 {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) 250px;
    gap: 16px;
    align-items: start;
    margin-top: 22px;
}

.gov-thumb-item {
    display: flex;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px dashed var(--gov-border);
}

.gov-thumb-item:hover .gov-thumb-title {
    color: var(--gov-primary);
}

.gov-thumb {
    flex: none;
    width: 112px;
    height: 72px;
    object-fit: cover;
    border-radius: var(--gov-radius);
    background: var(--gov-primary-soft);
}

/* 无图占位：浅蓝渐变，避免出现空白洞 */
.gov-thumb-empty {
    background: linear-gradient(135deg, var(--gov-primary-soft) 0%, #c9dcf3 100%);
}

.gov-thumb-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.gov-thumb-title {
    display: -webkit-box;
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.gov-thumb-desc {
    margin-top: 4px;
    overflow: hidden;
    color: var(--gov-muted);
    font-size: 12px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 面板内的小 Tab（通知公告 / 政策文件 / 人事信息） */
.gov-tabs {
    display: flex;
    gap: 4px;
    padding: 0 12px;
    border-bottom: 1px solid var(--gov-border);
}

.gov-tab {
    padding: 9px 10px;
    border-bottom: 2px solid transparent;
    color: var(--gov-muted);
    font-size: 14px;
}

.gov-tab-on {
    border-bottom-color: var(--gov-primary);
    color: var(--gov-primary);
    font-weight: 600;
}

/* 快捷入口宫格 */
.gov-quick {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
}

.gov-quick-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 12px 4px;
    border: 1px solid var(--gov-border);
    border-radius: var(--gov-radius);
    font-size: 12px;
    text-align: center;
    transition: border-color .15s ease, color .15s ease;
}

.gov-quick-item:hover {
    border-color: var(--gov-primary);
    color: var(--gov-primary);
}

.gov-quick-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--gov-primary-soft);
    color: var(--gov-primary);
    font-size: 15px;
}

/* ---------- 新闻图文卡片 ---------- */
.gov-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.gov-card {
    display: block;
    overflow: hidden;
    background: var(--gov-surface);
    border: 1px solid var(--gov-border);
    border-radius: var(--gov-radius);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.gov-card:hover {
    border-color: var(--gov-primary);
    box-shadow: 0 6px 16px rgba(27, 79, 156, .12);
    transform: translateY(-2px);
}

.gov-card-img {
    display: block;
    width: 100%;
    height: 130px;
    object-fit: cover;
}

.gov-card-img-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--gov-primary-soft) 0%, #c9dcf3 100%);
    color: #7d9cc4;
    font-size: 12px;
    letter-spacing: 1px;
}

.gov-card-body {
    display: block;
    padding: 12px 14px 14px;
}

.gov-card-title {
    display: -webkit-box;
    overflow: hidden;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.gov-card:hover .gov-card-title {
    color: var(--gov-primary);
}

.gov-card-desc {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 6px;
    color: var(--gov-muted);
    font-size: 13px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.gov-card-foot {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    color: var(--gov-muted);
    font-size: 12px;
}

/* ---------- 数据公开整宽条 ---------- */
.gov-databand {
    display: grid;
    /* auto-fit：统计项数量不固定（现为 5 项），按容器自动均分，避免出现空方格 */
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    overflow: hidden;
    background: linear-gradient(135deg, #123a75 0%, #1b4f9c 100%);
    border-radius: var(--gov-radius);
}

.gov-band-item {
    padding: 20px 10px;
    border-right: 1px solid rgba(255, 255, 255, .14);
    color: #fff;
    text-align: center;
}

.gov-band-item:last-child {
    border-right: 0;
}

.gov-band-value {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.gov-band-value small {
    margin-left: 2px;
    font-size: 13px;
    font-weight: 600;
}

.gov-band-label {
    margin-top: 8px;
    overflow: hidden;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* ---------- 专题专栏 + 部门与网站群 ---------- */
.gov-topics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding: 16px 16px 0;
}

.gov-topic {
    position: relative;
    display: block;
    height: 128px;
    overflow: hidden;
    border-radius: var(--gov-radius);
    background: linear-gradient(135deg, #1b4f9c 0%, #4a8fd8 100%);
    transition: box-shadow .15s ease;
}

.gov-topic:hover {
    box-shadow: 0 6px 16px rgba(27, 79, 156, .22);
}

.gov-topic-text {
    position: absolute;
    bottom: 12px;
    left: 14px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .4);
}

.gov-subhead {
    margin-top: 14px;
    padding: 12px 16px 0;
    border-top: 1px solid var(--gov-border);
}

.gov-subhead .gov-panel-title {
    font-size: 16px;
}

.gov-linkwall {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px 12px;
    padding: 12px 16px 16px;
}

.gov-linkwall a {
    overflow: hidden;
    color: var(--gov-muted);
    font-size: 13px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gov-linkwall a:hover {
    color: var(--gov-primary);
}

/* ---------- 办事指南 + 热门事项 ---------- */
.gov-guide {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin-top: 22px;
}

.gov-guide-tabs {
    display: flex;
    gap: 6px;
    padding: 12px 14px;
    background: var(--gov-primary-soft);
}

.gov-guide-tab {
    padding: 5px 14px;
    border-radius: 100px;
    background: #fff;
    color: var(--gov-primary);
    font-size: 13px;
}

.gov-guide-tab-on {
    background: var(--gov-primary);
    color: #fff;
}

.gov-guide-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    border-bottom: 1px dashed var(--gov-border);
    font-size: 14px;
}

.gov-guide-row:last-child {
    border-bottom: 0;
}

.gov-guide-row:hover .gov-guide-name {
    color: var(--gov-primary);
}

.gov-guide-rank {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--gov-primary-soft);
    color: var(--gov-primary);
    font-size: 12px;
}

.gov-guide-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.gov-guide-dept {
    flex: none;
    color: var(--gov-muted);
    font-size: 12px;
}

@media (max-width: 1024px) {
    .gov-cols3,
    .gov-guide {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-databand {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .gov-band-item {
        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }
}

@media (max-width: 768px) {
    .gov-cards,
    .gov-topics {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-linkwall {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gov-databand {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .gov-quick {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
