/* =========================================
   2. GLOBAL VARIABLES
   ========================================= */

@font-face {
    font-family: 'Noto Sans';
    src: url('../New-Fonts/NotoSans-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../New-Fonts/NotoSans-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../New-Fonts/NotoSans-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../New-Fonts/NotoSans-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}

:root {
    /* Brand Colors */
    --color-brand-blue: #00487f;
    --color-brand-green: #41b051;
    --color-brand-red: #e7380d;
    --color-brand-blue-light: #005392;
    /* Neutral Colors */
    --color-black: #111111;
    --color-grey: #303030;
    /* Also used as --color-gray-dark in some files */
    --color-light-grey: #969696;
    --color-white: #ffffff;
    --bg-light: #f5f6f8;
    /* Also --bg-color, --bg-gray in some files */
    --footer-bg: #f5f6f8;
    /* Aliases for consistency across merged files */
    --brand-blue: var(--color-brand-blue);
    --brand-green: var(--color-brand-green);
    --brand-red: var(--color-brand-red);
    --blue: var(--color-brand-blue);
    --green: var(--color-brand-green);
    --red: var(--color-brand-red);
    --text-primary: var(--color-black);
    --text-gray-dark: var(--color-black);
    --text-gray-med: var(--color-grey);
    --color-gray-dark: var(--color-grey);
    /* Typography */
    --font-primary: "Noto Sans", "Microsoft YaHei", sans-serif;
    --font-family: var(--font-primary);
    /* Responsive Font Sizes (REM based, scales with root) */
    --fs-h1: 3.6rem;
    --fs-sub: 2.6rem;
    --fs-subtitle: var(--fs-sub);
    --fs-h2: 2.4rem;
    --fs-home-body: 1.8rem;
    /* 首页/桌面正文 */
    --fs-body: 1.6rem;
    /* 通用小正文 */
    --fs-btn: 2.0rem;
    /* Layout */
    --max-width: 1520px;
    /* Shadows */
    --shadow-card: 6px 8px 20px 0px hsla(206, 100%, 17%, 0.2);
}


/* 全局重置与基础样式 */
body {
    background-color: #F5F6F8;
    font-family: "Noto Sans", sans-serif;
    color: #333;
    font-size: 14px;
}

a,
a:hover {
    text-decoration: none;
    color: inherit;
}

/* 布局容器 */
.main-wrapper {
    width: 92%;
    max-width: 140rem;
    margin: 0 auto 18rem auto;
    padding: 0;
}

.chl-cor-bus .main-wrapper,
.chl-per-bus .main-wrapper,
.chl-card-bus .main-wrapper,
.chl-small-bus .main-wrapper,
.chl-market-bus .main-wrapper {
    margin-bottom: 0;
}

.hero-carousel-indicators.hidden {
    display:none;
}
/* 面包屑导航 */
.breadcrumb-container {
    padding: 24px 0 70px 0px;
    display: flex;
    align-items: center;

    color: #606060;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0px;
    text-align: left;

}

.branch-map {
    width: 100%;
    height: 934px;
    display: block;
}

.breadcrumb-icon {
    margin-right: 5px;
}

/* 左侧导航栏样式 */
.custom-sidebar {
    width: clamp(240px, 21.4vw, 360px);
    /* PC端最小240px，最大360px */
    /* 移动端默认 */
    background: transparent;
}

.sidebar-header {
    background: url('../images/column-bg.png') no-repeat center center;
    background-size: cover;
    color: #FFFFFF;
    font-family: var(--font-primary);
    font-weight: bold;
    font-size: 28px;
    letter-spacing: 0px;
    width: 100%;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sidebar-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-item {
    margin-top: 6px;
}

.menu-link {
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px clamp(20px, 2.38vw, 40px) 18px clamp(20px, 2.38vw, 40px);
    /* 上下padding设为0，由height+flex控制垂直居中 */
    background-color: #EDEFF3;
    color: #111111;
    /* 一级目录字体调整为24px */
    transition: all 0.2s;
    cursor: pointer;
    box-sizing: border-box;
    /* 确保内边距不撑大盒子 */
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 2.4rem;
    line-height: 1;
    letter-spacing: 0px;
    text-align: left;
    text-decoration: none !important;
    /* 强制移除下划线 */
}

.menu-link:hover {
    /* background-color: #e0e0e0; */
    text-decoration: none !important;
    /* 悬浮时移除下划线 */
    color: #333;
    /* 悬浮时保持原色，或者您想要的颜色 */
    background-color: #00487F;
    color: white;
}

.menu-link:hover .arrow-icon img {
    filter: brightness(0) invert(1);
}

.menu-link.active-blue {
    background-color: #00487F;
    color: white;
}

/* 子菜单 */
.submenu {
    list-style: none;
    padding: 0;
    margin: 0;
    background-color: #fff;
    display: none;
    /* 默认隐藏，由JS slideToggle控制 */
}

/* 默认展开的子菜单 */
.submenu.show {
    display: block;
}

/* 仅一级菜单下的子菜单（即二级菜单列表）显示顶部边框 */
.menu-item>.submenu::before {
    content: "";
    display: block;
    height: 9px;
    background-color: #F5F6F8;
    width: 100%;
}
.submenu-header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-right: 20px;
}
.submenu-header .submenu-link{
    flex: 1 1 auto;
    text-align: left;
}
.submenu-header .arrow-icon{
    flex: 0 0 auto;
}


/* .submenu.show { display: block; }  <-- 移除此行，改由JS控制style.height */

.submenu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px 15px 40px;
    cursor: pointer;
    height: 48px;
    box-sizing: border-box;
    color: #303030;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0px;
    text-align: left;
    text-decoration: none !important;
    /* 移除下划线 */
}

.submenu-link:hover {
    text-decoration: none !important;
    /* 悬浮时移除下划线 */
    color: #303030;
    /* 悬浮时保持原色 */
}

.submenu-link.highlight {
    color: #d9534f;
    /* 红色高亮 */
}

/* 默认二级菜单项 */
.submenu-link.sub-header {
    color: #333333;
    font-weight: 400;
    padding: 15px 20px 15px 40px;
    font-size: 18px;
    /* 二级目录字体调整为18px */
    border-bottom: 1px solid #F5F6F8;
    /* 二级菜单下边框 */
    overflow: hidden;
    /* 防止内容溢出 */
    text-decoration: none !important;
}

.submenu-link.sub-header:hover {
    text-decoration: none !important;
    color: #E7380D !important;
}

.submenu-header:hover .submenu-link{
    color: #E7380D !important;
}

.submenu-header:hover .arrow-icon img{
    filter: invert(24%) sepia(86%) saturate(3930%) hue-rotate(1deg) brightness(96%) contrast(105%);
}
.submenu-link.sub-item:hover {
    color: #E7380D !important;
}

/* 高亮/选中状态 */
.submenu-link.sub-header.active,
.submenu-link.sub-header.highlight {
    color: #E7380D;
}

/* 二级菜单展开/高亮时，右侧图标与文字同色 */
.submenu-link.sub-header[aria-expanded="true"] .arrow-icon img,
.submenu-link.sub-header.highlight .arrow-icon img {
    filter: invert(24%) sepia(86%) saturate(3930%) hue-rotate(1deg) brightness(96%) contrast(105%);
}

.submenu-header .submenu-link.sub-header.highlight + .arrow-icon img {
    filter: invert(24%) sepia(86%) saturate(3930%) hue-rotate(1deg) brightness(96%) contrast(105%);
}

/* 页面级：持证人员公示 左侧菜单默认颜色 */


/* 二级菜单文字超长省略显示 */
.submenu-link.sub-header span:not(.arrow-icon) {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    padding-right: 10px;
}

.submenu-link.sub-item {
    color: #666666;
    padding-left: 68px;
    display: flex;
    /* 改为flex以垂直居中 */
    align-items: center;
    justify-content: left;
    height: 40px;
    /* 三级菜单高度调整为40px */
    font-size: 16px;
    /* 三级目录字体调整为16px */
    padding-top: 0;
    padding-bottom: 0;
    border-bottom: 1px solid #F5F6F8;
    /* 三级菜单下边框 */
    text-decoration: none !important;
}

.submenu-link.sub-item:hover {
    text-decoration: none !important;
    color: #666;
}

.submenu-link.sub-item.active {
    color: #d9534f;
}

.submenu-link.sub-header span:first-child::before {
    content: "\25E6";
    display: inline-block;
    margin-right: 6px;
}

.submenu-link.sub-item::before {
    content: "-";
    display: inline-block;
    margin-right: 6px;
}

/* 箭头动画 */
.arrow-icon {
    transition: transform 0.3s ease;
    display: inline-block;
    font-size: 12px;
    cursor: pointer;
}

.arrow-icon img {
    vertical-align: middle;
}

/* 一级菜单图标样式 */
.menu-link .arrow-icon img {
    width: 20px;
    height: 20px;
}

/* 二级菜单图标样式 */
.submenu-link .arrow-icon img {
    width: 20px;
    height: 20px;
}

/* 一级菜单展开时图标变白 */
.menu-link.active-blue .arrow-icon img {
    filter: brightness(0) invert(1);
}

.arrow-icon[aria-expanded="false"] { transform: rotate(90deg); }
.arrow-icon[aria-expanded="true"] { transform: rotate(270deg); }

.menu-link .menu-text{
    flex: 1 1 auto;
    text-align: left;
    color: inherit;
    text-decoration: none;
}

/* 右侧内容区样式 */
.custom-content {
    flex: 1;
    background-color: #fff;
    padding: 48px 40px 60px 40px;
    min-height: 1080px;
}

.mt0 {
    margin-top: 0px !important;
}

.content-title {
    font-size: 2.8rem;
    /* 字体大小调整为36px */
    font-family: 'var(--font-primary)', 'Microsoft YaHei', sans-serif;
    /* 设置思源黑体CN */
    font-weight: bold;
    /* 加粗 */
    color: #111111;
    margin-bottom: 60px;
    position: relative;
    padding-bottom: 10px;
    display: inline-block;
    /* 改为行内块，宽度随内容自适应 */
}

/* 标题下方的彩色装饰线 */
.content-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    /* 宽度占满父元素，即随文字长度变化 */
    background: linear-gradient(to right, #014881 45%, #41B051 45%, #41B051 75%, #E7380D 70%, #E7380D 75%);
}


/* 搜索区域 */
.search-area {
    background-color: #fff;
    padding: 0px 0 20px 0;
    /* border-bottom: 1px solid #eee; */
    /* 移除搜索条件下方的分割线 */
    margin-bottom: 28px;
    /* 调整间距：20px padding + 27px margin = 47px */
}

.search-row {
    display: flex;
    align-items: center;
    gap: 15px;
    flex-wrap: wrap;
}

.search-label {
    color: #606060;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0px;
    text-align: center;
}

.search-input {
    border: 1px solid #ddd;
    padding: 5px 10px;
    width: 200px;
    color: #999;
}

.btn-custom-search {
    background-color: #004a99;
    color: white;
    border: none;
    padding: 5px 20px;
    font-size: 14px;
}

.btn-custom-search:hover {
    background-color: #003366;
    color: white;
}

.list-header {
    color: #00487F;
    margin-bottom: 24px;
    /* 添加下方的粗分割线 */
    padding-bottom: 8px;
    font-family: var(--font-primary);
    font-weight: medium;
    font-size: 18px;
    line-height: normal;
    letter-spacing: 0px;
    border-bottom: 4px solid #EDEFF3;
}

/* 表格样式 */
.custom-table {
    width: 100%;
    font-size: 12px;
    border-collapse: collapse;
}

.custom-table th {
    padding: 9px;
    border: 1px solid #eee !important;
    text-align: center;

    color: #606060;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0px;
    text-align: center;

}

.custom-table td {
    padding: 9px;
    border: 1px solid #eee !important;
    color: #303030;
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0px;
    text-align: center;
    overflow-wrap: anywhere;

}

.custom-table tr:hover {
    background-color: #f9f9f9;
}

.table-link {
    color: #0061FF;
    font-family: var(--font-primary);
    font-weight: medium;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0px;
    text-align: center;

}

.table-link:hover {
    text-decoration: underline;
}

/* 底部区域样式：分页与提示 */
.bottom-panel {
    padding: 40px 0px 20px 0px;
    border-radius: 4px;
}

.pagination-bar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* 左对齐 */
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
    color: #303030;
    font-family: var(--font-primary);
    font-weight: normal;
    font-size: 14px;
    line-height: 16.5px;
    letter-spacing: 0px;
    text-align: center;

}

.page-list {
    display: flex;
    align-items: center;
    gap: 5px;
}

.page-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background-color: #fff;
    /* 未选中页码底色改为白色 */
    color: #666;
    cursor: pointer;
    transition: all 0.2s;
    border: 1px solid #ddd;
    text-decoration: none;
}

.page-btn img {
    width: 12px;
    height: 12px;
    display: block;
}

.page-prev{
    position: relative;
}
.page-prev:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/first-level.svg) no-repeat;
    background-position: center center;
    transform: rotate(180deg);
}

.page-next{
    position: relative;
}
.page-next:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/first-level.svg) no-repeat;
    background-position: center center;
}
/* 分页器左右两个按钮（上一页/下一页）白色背景 */
.page-list .page-btn:first-child,
.page-list .page-btn:last-child {
    background-color: #fff;
    border: none;
}

.page-btn:hover {
    background-color: #dee2e6;
}

.page-btn.active {
    background-color: #00487F;
    /* 深蓝背景 */
    color: #fff;
}

.total-info {
    color: #909090;
}

.page-jump {
    display: flex;
    align-items: center;
}

.page-jump input {
    width: 40px;
    height: 30px;
    text-align: center;
    border: 1px solid #ddd;
    border-right: none;
    margin: 0;
    margin-left: 5px;
    outline: none;
}

.page-total-box {
    display: inline-block;
    height: 30px;
    line-height: 28px;
    border: 1px solid #ddd;
    border-left: 1px solid #ddd;
    padding: 0 10px;
    background-color: #fff;
    color: #666;
    font-size: 14px;
}

.tips-section {
    color: #606060;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0px;
    text-align: left;

}

.tips-title {
    color: #333;
    margin-bottom: 5px;
    margin-top: 15px;
}

.tips-title:first-child {
    margin-top: 0;
}

/* 修复图标垂直居中对齐 */
.btn-accessibility span,
.btn-search-icon span,
.btn-ebank span,
.notice-icon,
.breadcrumb-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.btn-accessibility img,
.btn-search-icon img,
.btn-ebank img,
.notice-icon img,
.breadcrumb-icon img {
    display: block;
    width: 20px;
    height: 20px;
    /* 消除img底部基线间隙 */
}

/* 顶部导航栏 */
.logo-placeholder {
    width: clamp(140px, 11.9vw, 200px);
    height: clamp(34px, 2.85vw, 48px);
}

/* 中间菜单 */
.nav-links .nav-item p.nav-text {
    margin-bottom: 0px !important;
    /* 控制菜单项间距，基础左右间距 */
}

p.access-text {
    margin-bottom: 0px;
}

/* 覆盖 margin 以实现特定间距 */
/*
   原始需求：每个li间距49px
   实现方式：
   1. 使用 mr-auto 让ul左对齐（已在HTML中修改）
   2. 给每个 nav-item 设置 margin-right: 49px (除了最后一个)
   3. 考虑到响应式，使用 clamp 动态缩小
*/
.nav-menu-item {
    color: #000000 !important;
    /* 覆盖Bootstrap默认样式 */
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: clamp(16px, 1.43vw, 24px);
    /* 保持原设计字号 */
    line-height: normal;
    letter-spacing: 0px;
    text-align: center;
    white-space: nowrap;
    padding: 0 !important;
    /* 移除 nav-link 默认 padding，由 flex 控制 */
    color: #000000;
}

.nav-menu-item:hover {
    color: #004a99 !important;
}

/* 右侧工具栏 */
/*
.nav-tools {
    display: flex;
    align-items: center;
    gap: clamp(5px, 1vw, 19px);
    font-size: clamp(10px, 0.8vw, 12px);
}
*/

.service-hotline {
    color: #303030;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: clamp(12px, 0.95vw, 16px);
    line-height: normal;
    letter-spacing: 0px;
    text-align: left;
    margin-right: clamp(8px, 0.95vw, 16px);
    white-space: nowrap;
}

.hotline-number {
    color: #d9534f;
    font-weight: bold;
    font-size: clamp(12px, 1vw, 14px);
    /* 动态字号 */
}

.btn-accessibility {
    background-color: #41B051;
    color: white;
    border: none;
    border-radius: 20px;
    width: clamp(70px, 6vw, 96px);
    /* 动态宽度，最大96px */
    height: clamp(22px, 2vw, 30px);
    /* 动态高度，最大30px */
    padding: 0;
    /* 移除内边距，由宽高控制 */
    display: flex;
    align-items: center;
    justify-content: center;
    /* 内容居中 */
    gap: 5px;
    font-size: clamp(10px, 0.9vw, 16px);
    /* 字体同步缩小，最小10px */
    /* 动态字号 */
    white-space: nowrap;
    color: #FFFFFF;
    font-family: var(--font-primary);
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0px;
    text-align: center;
    margin-right: clamp(10px, 1.13vw, 16px);
}

.btn-search-icon {
    width: clamp(22px, 2vw, 30px);
    /* 动态大小，最大30px */
    height: clamp(22px, 2vw, 30px);
    border-radius: 50%;
    background-color: #004a99;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-right: clamp(10px, 1.13vw, 16px);
}

.btn-ebank {
    background-color: #004a99;
    color: white;
    border: none;
    border-radius: 20px;
    /* 动态宽度，最大116px */
    width: clamp(80px, 8vw, 116px);
    /* 动态高度，最大30px */
    height: clamp(22px, 2vw, 30px);
    /* 移除内边距，由宽高控制 */
    padding: 0;
    display: flex;
    align-items: center;
    /* 垂直居中 */
    justify-content: center;
    /* 水平居中 */
    gap: 5px;

    /* 字体样式调整 */
    font-family: 'var(--font-primary)', sans-serif;
    font-weight: 400;
    font-size: clamp(10px, 0.9vw, 16px);
    /* 字体同步缩小，最小10px */
    line-height: 1;
    /* 行高设为1可能导致文字偏上，尝试设为normal或稍高 */
    letter-spacing: 0px;
    text-align: left;
    white-space: nowrap;
}

/* 修复网银和无障碍图标垂直对齐 */
.btn-ebank span,
.btn-accessibility span {
    display: flex;
    align-items: center;
    /* 确保span内图标垂直居中 */
    height: 100%;
    /* 占满父容器高度 */
}

/* 微调文字位置，使其视觉上更居中（稍微上移） */
.btn-text {
    position: relative;
    top: -1px;
    /* 向上微调1px */
}

.btn-ebank:hover {
    background-color: #003366;
}

/* 网银登录图标特定尺寸 - 提高选择器优先级 */
.nav-tools .btn-ebank img {
    width: clamp(16px, 1.6vw, 24px) !important;
    height: clamp(16px, 1.6vw, 24px) !important;
}

/* 通用工具栏图标：排除 .btn-ebank 内的图片 */
.nav-tools :not(.btn-ebank)>span>img,
.nav-tools>button:not(.btn-ebank)>span>img,
.nav-tools>div>span>img {
    width: clamp(16px, 1.6vw, 24px) !important;
    height: clamp(16px, 1.6vw, 24px) !important;
}

.mobile-nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    background-color: #0A5C8F;
}

.mobile-nav-menu>li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.mobile-nav-menu .nav-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 48px;
    padding: 10px 40px;
    text-decoration: none;
}

.mobile-nav-level-1 {
    background-color: #0A5C8F;
    color: #FFFFFF;
}

.mobile-nav-level-1.nav-link:hover,
.mobile-nav-level-1.nav-link:focus,
.mobile-nav-level-1.nav-link:active,
.mobile-nav-level-1.nav-link:visited {
    color: #FFFFFF !important;
}

.mobile-nav-level-2 {
    background-color: #FFFFFF;
    color: #303030;
    border-bottom: 1px solid #EEEEEE;
    padding-left: 56px !important;
    height: 44px;
}

.mobile-nav-level-2.nav-link:hover,
.mobile-nav-level-2.nav-link:focus,
.mobile-nav-level-2.nav-link:active,
.mobile-nav-level-2.nav-link:visited {
    color: #303030 !important;
}

.mobile-nav-level-3 {
    background-color: #F6F6F6;
    color: #303030;
    border-bottom: 1px solid #EEEEEE;
    padding-left: 72px !important;
    height: 44px;
}

.mobile-nav-level-3.nav-link:hover,
.mobile-nav-level-3.nav-link:focus,
.mobile-nav-level-3.nav-link:active,
.mobile-nav-level-3.nav-link:visited {
    color: #303030 !important;
}

.mobile-nav-level-4 {
    background-color: #EDEDED;
    color: #303030;
    border-bottom: 1px solid #E6E6E6;
    padding-left: 88px !important;
    height: 44px;
}

.mobile-nav-level-4.nav-link:hover,
.mobile-nav-level-4.nav-link:focus,
.mobile-nav-level-4.nav-link:active,
.mobile-nav-level-4.nav-link:visited {
    color: #303030 !important;
}

.mobile-nav-level-1,
.mobile-nav-level-2,
.mobile-nav-level-3,
.mobile-nav-level-4 {
    font-family: Noto Sans SC;
    font-weight: regular;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0px;
    text-align: left;
}

.mobile-arrow {
    width: 10px;
    height: 10px;
    border-right: 2px solid #D9D9D9;
    border-bottom: 2px solid #D9D9D9;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.mobile-nav-menu .nav-link[aria-expanded="true"] .mobile-arrow {
    transform: rotate(225deg);
}

/* 顶部 Banner 区域 */
.hero-banner {
    background: url('../images/banner.png') no-repeat center center;
    background-size: cover;
    color: white;
    /* padding: 50px 0 60px 0; */
    position: relative;
    margin: 0 auto;
    /* 居中 */
    overflow: hidden;

    /* 尺寸设置 */
    width: 100%;
    max-width: 192rem;
    /* 高度：取 48rem 和 (宽度/10*3) 中的较小值 */
    /* 当屏幕宽度使得 100vw/(10/3) < 48rem 时，使用比例计算的高度 */
    /* 这样当比例达到 10:3 时，开始保持比例缩放 */
    height: min(48rem, calc(100vw * 3 / 10));

    /* 布局 */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero-banner-news {
    background: url('../images/xwzx.png') no-repeat center center !important;
    background-size: cover !important;
}

.hero-banner-card {
    background: url('../images/cardBanner.jpg') no-repeat center center !important;
    background-size: cover !important;
}

.hero-banner-kjwf {
    background: url('../images/kjfw.png') no-repeat center center !important;
    background-size: cover !important;
}

/* PAD端头图（>=lg 且 <xl） */
.pad-hero-banner {
    background: url('../images/banner.png') no-repeat center center;
    background-size: cover;
    color: #FFFFFF;
    position: relative;
    width: 100%;
    height: 256px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.pad-hero-banner::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    background: linear-gradient(90deg, rgba(1, 72, 129, 0.75) 0%, rgba(1, 72, 129, 0.0) 100%);
    pointer-events: none;
}

/* 仅在指定页面替换为快捷服务 kjfw.png Banner */
.page-kjfw .hero-banner {
    background: url('../images/kjfw.png') no-repeat center center !important;
    background-size: cover !important;
}


.page-kjfw {
    background: url('../images/kjfw.png') no-repeat center center !important;
    background-size: cover !important;
}

/* 模拟右侧人物/背景图效果 - 如果banner.png本身已经包含了这些效果，则可以移除或调整 */
.hero-banner::after {
    /* 保持原样或根据需要隐藏 */
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 50%;
    /* background: radial-gradient(circle at 70% 50%, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 60%); */
    pointer-events: none;
}

.banner-inner {
    width: 92%;
    max-width: 140rem;
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* 稍微向上偏移一点，给底部公告留空间 */
    transform: translateY(-2rem);
}

.banner-text h1 {
    margin-bottom: 2.4rem;
    color: #FFFFFF;
    font-family: var(--font-primary);
    font-weight: bold;
    font-size: 4rem;
    line-height: normal;
    letter-spacing: 0px;
    text-align: left;

}

.banner-text p {
    color: #FFFFFF;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 2.8rem;
    line-height: 1.6;
    letter-spacing: 0px;
    text-align: left;
}

/* 小于1200px时隐藏说明文字 */
@media (max-width: 1199px) {
    .banner-text p {
        display: none;
    }
}

/* 模拟右侧人物占位 */
.banner-image-placeholder {
    width: 400px;
    height: 200px;
    /* 实际开发中这里是 img 标签 */
    /* background: rgba(255,255,255,0.1); */
}

/* 公告条样式 */
.notice-bar-wrapper {
    width: 92%;
    max-width: 140rem;
    margin: 0 auto;
    padding: 0;
    position: absolute;
    bottom: 4rem;
    left: 0;
    right: 0;
    z-index: 3;
    display: flex;
    justify-content: flex-start;
}

.notice-bar {
    /* 宽度：取固定宽度和92vw中的较小值，与视觉安全区一致 */
    width: min(103.3rem, 92vw);
    height: 4.8rem;
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 0.2rem;
    padding: 0 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.1);
    color: #111111;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
}

.notice-left {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex: 1;
    overflow: hidden;
}

.notice-icon {
    color: #004a99;
    flex-shrink: 0;
    margin-right: 1.2rem;
    /* 与首页一致的间距 */
}

.notice-icon img {
    width: 2.4rem;
    height: 2.4rem;
}

.notice-label {
    flex-shrink: 0;
    color: #111111;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
}

.notice-content {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
    margin-right: 2rem;
    color: #111111;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
}

.notice-more {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    color: #111111;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    letter-spacing: 0;
    text-align: left;
    cursor: pointer;
}

.notice-more img {
    width: 2.4rem;
    height: 2.4rem;
    vertical-align: middle;
}

.notice-more:hover {
    color: #004a99;
}

/* 底部 Footer 样式 */
.site-footer {
    background-color: #f8f9fa;
    position: relative;
    margin-top: 0;
    height: 360px;
}

/* 顶部彩色分割线 */
.footer-top-line {
    height: 8px;
    width: 100%;
    background: linear-gradient(to right, #004A99 50%, #5CB85C 50%, #5CB85C 80%, #D9534F 80%);
}

.footer-content {
    max-width: 1420px;
    margin: 0 auto;
    padding: 40px 10px 60px 10px;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    /* 禁止换行，确保左右并排 */
    gap: 20px;
    /* 减小间隙 */
}

.footer-left {
    flex: 1;
    /* 占据剩余空间 */
    min-width: 0;
    /* 允许缩小 */
    margin-right: 20px;
}

.footer-logo-placeholder {
    width: 24rem;
    height: 8.4rem;
    margin-bottom: 46px;
}

.footer-info {
    color: #606060;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1.8rem;
    line-height: 4rem;
    letter-spacing: 0px;
    text-align: left;
    white-space: normal;
    /* 允许文字换行 */
    word-break: break-all;
}

.footer-right {
    flex: 0 0 auto;
    /* 固定宽度，不伸缩 */
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    /* 右对齐 */
}

.footer-links {
    margin-bottom: 15px;
    display: flex;
    gap: 0;
    font-size: 1.8rem;
    width: 68.4rem;
    /* 固定宽度 */
    margin-top: 7px;
    /* 字号调整为18px */
}

.footer-info .tit-top{
    padding-top:5px;
}

.footer-copyright{
    color:#004a99;
    font-size:14px;
}

.footer-link-item {
    color: #303030;
    padding: 0 4rem;
    border-right: 1px solid #ccc;
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    /* 强制不折行 */
}

.footer-link-item:hover {
    color:#004a99;
}
.footer-link-item:last-child {
    border-right: none;
    padding-right: 0;
}

.footer-link-item:first-child {
    padding-left: 0;
}

.qr-codes {
    display: flex;
    gap: 2.9rem;
    /* width: 68rem; */
}

.qr-item-main {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    width: 14.6rem;
}

/* 提取二维码公共样式 */
.qr-img {
    width: 14rem;
    height: 14rem;
}

.qr-placeholder {
    width: 10rem;
    height: 10rem;
    background-color: #000;
}

.qr-label {
    color: #606060;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: normal;
    letter-spacing: 0px;
    text-align: center;

}

/* Index2 特定样式 */
.notice-list {
    margin-top: 0px;
}

.notice-list .notice-item:first-child {
    padding-top: 0px;
}

.notice-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px 0 12px 0px;
    border-bottom: 1px solid #EDEFF3;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0px;
    text-align: left;
    color: #666;

}

.notice-item:hover {
    color: #004a99 !important;
}

.notice-link {
    font-size: 18px;
    font-family: var(--font-primary), sans-serif;
    text-decoration: none;
    font-weight: 400;
}

.notice-link:hover {
    text-decoration: none !important;
}

.notice-date {
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 0px;

}

.index2-pagination {
    margin-top: 40px;
    display: flex;
    align-items: center;
    font-size: 12px;
    color: #999;
    gap: 5px;
}

.pagination-info {
    margin-right: 15px;
}

.page-arrow,
.page-num {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 24px;
    height: 24px;
    color: #999;
    text-decoration: none;
    cursor: pointer;
}

.page-num.active {
    background-color: #003366;
    color: #fff;
    border-radius: 2px;
}

.page-jump-container {
    margin-left: 20px;
    display: flex;
    align-items: center;
}

.page-jump-input {
    width: 30px;
    height: 20px;
    text-align: center;
    border: 1px solid #ddd;
    margin: 0 5px;
    color: #333;
}

/* ҳʽ (index3.html) */
.detail-content {
    padding-top: 0px;
}

.detail-content table {
    border-collapse: collapse;
    width: 100% !important;
}

.detail-content img {
    max-width: 100% !important;
    height: auto;
}

.detail-content table,
.detail-content th,
.detail-content td {
    border: 1px solid #000000;
    word-wrap: break-word;
    word-break: break-all;
    white-space: normal;
}

.detail-section {
    margin-bottom: 35px;
}

.detail-subtitle {
    padding-bottom: 8px;
    color: #00487F;
    font-family: var(--font-primary);
    font-weight: 500;
    font-size: 18px;
    line-height: normal;
    letter-spacing: 0px;
    text-align: left;
    margin-bottom: 16px;
    border-bottom: 3px solid #F5F6F8;

}

.detail-text {
    color: #606060;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0px;
    text-align: left;
}

.detail-main {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 24px;
    row-gap: 16px;
}

/* 针对 index4 的底部样式 */
.site-footer-simple {
    height: 60px;
    background: linear-gradient(90deg, #00487F 41%, #034D85 72%, #005392CC 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.footer-simple-content {
    color: #fff;
    font-size: 18px;
    font-family: var(--font-primary);
    font-weight: 400;
    text-align: center;
}


.border-bottom-line::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    width: 100%;
    /* 宽度占满父元素，即随文字长度变化 */
    background: linear-gradient(to right, #014881 45%, #41B051 45%, #41B051 75%, #E7380D 70%, #E7380D 75%);
}

.footer-pad-content {
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
}

.footer-pad-left {
    /* display: flex;
    justify-content: space-between; */
    margin: 31px 0px 65px 0px;
}
.footer-pad-left .footer-info .tit-top {
    padding-top: 10px;
}

.footer-pad-right {
    display: flex;
    justify-content: space-between;
    margin-top:50px;
    flex:1;
}


.page-title {
    font-weight: bold;
    padding: 0px 0 10px 0;
    color: #111111;
    font-family: var(--font-primary);
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 1;
    letter-spacing: 0px;
    text-align: center;
    margin-bottom: 0px;
    border-bottom: 4px solid #EDEFF3;
}

.page-title1 {
    font-weight: bold;
    padding: 20px 0 10px 0;
    color: #111111;
    font-family: var(--font-primary);
    font-weight: bold;
    font-size: 2.8rem;
    line-height: 1.2;
    letter-spacing: 0px;
    text-align: center;
}

.custom-tabs {
    margin-bottom: 35px;
    display: flex;
    gap: 8px;
}

.custom-tab-item {
    padding: 8px 20px;
    font-size: 16px;
    color: #111111;
    cursor: pointer;
    text-decoration: none;
    border: 1px solid transparent;
    border-bottom: none;
    margin-bottom: -1px;
    background-color: #F5F6F8;
    font-family: var(--font-primary);
    font-weight: regular;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0px;
    text-align: center;
}

.custom-tab-item.active {
    background-color: #00487F;
    color: #F5F6F8;
    position: relative;
}

.custom-tab-item.active::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    border-top: 14px solid #00487F;
}

.custom-tab-item:hover {
    text-decoration: none;
    color: #004a99;
}

.custom-tab-item.active:hover {
    color: #fff;
}

/* 地图信息框样式 */
.map-infowindow{
        padding: 12px 16px;
        max-width: 280px;
        color: #303030;
        font-family: var(--font-primary);
        line-height: 1.6;
}
.map-infowindow-title{
        font-weight: 600;
        font-size: 16px;
        margin-bottom: 8px;
        color: #111111;
}
.map-infowindow-address{
        font-size: 14px;
        color: #606060;
        word-break: break-word;
}

/* 调整面包屑样式以匹配设计图 */
.breadcrumb-section {
    font-size: 14px;
    color: #666;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
}

.content-container {
    width: 1200px;
    margin: 0px auto;
    min-height: 1080px;
    box-sizing: border-box;
}

.navbar-b-border::after {
    content: '';
    height: 2px;
    left: 0px;
    width: 100%;
    position: absolute;
    bottom: 0px;
    background: linear-gradient(to right, #014881 45%, #41B051 45%, #41B051 75%, #E7380D 70%, #E7380D 75%) !important;
    ;
}
.navbar-b-border {
    border-bottom: 0px !important;
}

.detail-link {
    color: #E7380D;
    font-family: var(--font-primary);
    font-weight: regular;
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0px;
    text-align: left;
}

.detail-link:hover {
    color: #E7380D;
}


/* 搜索页面区域布局 */
.search-top {
    background-color: #EDEFF3;
    height: 280px;
    display: flex;
    align-items: center;
}


.content-1200 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.search-top {
    background-color: #EDEFF3;
    height: 280px;
    display: flex;
    align-items: flex-start;
}


.content-1200 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.search-breadcrumb {
    display: flex;
    align-items: center;
    color: #606060;
    font-size: 14px;
    margin-top: 24px;
}

.search-breadcrumb .breadcrumb-icon {
    margin-right: 6px;
    display: flex;
    align-items: center;
}

.search-breadcrumb .breadcrumb-icon img {
    width: 20px;
    height: 20px;
    display: block;
}

.search-bar {
    display: flex;
    align-items: center;
    margin-top: 16px;
}

.search-input-long {
    flex: 1;
    height: 44px;
    border: 1px solid #ddd;
    background: #fff;
    padding: 0 12px;
    outline: none;
    font-size: 14px;
    color: #606060;
}

.search-btn {
    width: 44px;
    height: 44px;
    background-color: #004a99;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 8px;
    cursor: pointer;
}

.search-btn img {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
    display: block;
}

.search-top {
    background-color: #EDEFF3;
    height: 280px;
    display: flex;
    align-items: flex-start;
}

.search-bottom {
    background-color: #FFFFFF;
    min-height: 800px;
}

.content-1200 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.search-breadcrumb {
    display: flex;
    align-items: center;
    margin-top: 27px;
    color: #303030;
    font-family: var(--font-primary);
    font-weight: regular;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0px;
    text-align: left;
}

.search-breadcrumb .breadcrumb-icon {
    margin-right: 6px;
    display: flex;
    align-items: center;
}

.search-breadcrumb .breadcrumb-icon img {
    width: 20px;
    height: 20px;
    display: block;
}

.search-bar {
    display: flex;
    align-items: center;
    margin-top: 80px;
}

.search-input-long {
    flex: 1;
    height: 40px;
    border: 1px solid #ddd;
    background: #fff;
    padding: 0 12px;
    outline: none;
    font-size: 14px;
    color: #606060;
}

.search-btn {
    width: 40px;
    height: 40px;
    background: #00487F;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: 8px;
    cursor: pointer;
}

.search-btn img {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
    display: block;
}


.results-header {
    margin-bottom: 24px;
    color: #00487F;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 18px;
    line-height: normal;
    letter-spacing: 0px;
    text-align: left;

}

.search-results {
    padding-top: 80px;
    padding-bottom: 180px;
}

.result-item {
    padding: 40px 0px 12px 0;
    border-bottom: 3px solid #EDEFF3;
}

.search-results .result-item:first-child {
    padding-top: 0 !important;
}

.search-results .results-header+.result-item {
    padding-top: 0 !important;
}

.result-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.result-title {
    color: #303030;
    font-family: var(--font-primary);
    font-weight: bold;
    font-size: 18px;
    line-height: normal;
    letter-spacing: 0px;
    text-align: left;

}

.result-date {
    color: #909090;
    font-size: 14px;
    flex-shrink: 0;
}

.result-excerpt {

    color: #606060;
    font-family: var(--font-primary);
    font-weight: regular;
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0px;
    text-align: justified;
    height: 54px;
    margin-top: 4px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
}

.highlight-red {
    color: #E7380D;
}

.bottom-panel.p-0 {
    padding: 0px;
    margin-top: 24px;
}

.custom-content-nopad {
    padding: 0 !important;
}

.content-title-tool {
    padding: 40px 40px 0px 40px;
}

.filter-label {
    color: #303030;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 1.4rem;
    line-height: 24px;
    letter-spacing: 0px;
    text-align: left;
    margin-right: -8px;
    width: 4.3rem;

}

.filter-row {
    display: flex;
    align-items: center;
    gap: 24px;
}

.filter-select {
    width: 27.8rem;
    height: 3rem;
    font-size: 14px;
    line-height: 30px;
    padding: 0 10px;
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
    /* 1rem = 10px @ 1700px+ (Standard/Ultrawide) */
}

.navbar {
    position: relative !important;
}

.a-link {
    color: #0061FF;
}

/* 2. Notebook/Small Desktop (1200px - 1699px) */
@media (max-width: 1699px) {
    html {
        font-size: 53.125%;
        /* 1rem = 8.5px */
    }
    .footer-content{
        max-width: 145rem;
    }
}

/* 3. Tablet/Narrow Desktop (768px - 1199px) */
@media (max-width: 1199px) {
    html {
        font-size: 53.125%;
        /* 1rem = 8.5px */
    }
}

/* 4. Mobile (Below 768px -> 768px included) */
@media (max-width: 768px) {
    html {
        font-size: 62.5%;
        /* 1rem = 8px (Return to baseline for mobile 375px design) */
    }

    /* Reduce spacer flex values for mobile to give content more breathing room */
    .spacer-top {
        flex-grow: 1;
        max-height: none;
        /* Allow more flexibility on mobile */
    }

    .spacer-middle {
        flex-grow: 1;
        max-height: none;
    }

    .spacer-bottom {
        flex-grow: 1.2;
        /* Slightly more at bottom but much more balanced than before */
    }

    /* 个人业务页通知栏 - 移动端响应式 */
    .notice-bar-wrapper {
        position: absolute !important;
        /* 取消固定，可随滚动 */
        top: -3.4rem !important;
        /* 负值定位在 banner 顶部之外 */
        bottom: auto !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 900;
    }

    .notice-bar {
        width: 100% !important;
        height: 3.4rem !important;
        border-radius: 0 !important;
        padding: 0 1.2rem !important;
        /* 保持原有颜色 */
    }

    .notice-icon {
        margin-left: 0 !important;
    }

    .notice-icon img {
        width: 1.8rem !important;
        height: 1.8rem !important;
    }

    .notice-label,
    .notice-content {
        font-size: 1.4rem !important;
    }

    .notice-more {
        font-size: 1.4rem !important;
        margin-left: 1rem !important;
    }

    .notice-more img {
        width: 1.8rem !important;
        height: 1.8rem !important;
    }

    /* Banner 移动端样式 */
    .hero-banner {
        margin-top: 3.4rem;
        /* 为通知栏腾出空间 */
        /* 保持 10:3 比例约束（继承桌面端 height: min(48rem, calc(100vw * 3 / 10))） */
        overflow: visible;
        /* 允许通知栏溢出 */
    }

    /* Banner 标题移动端样式 */
    .banner-text h1 {
        font-size: 2.4rem;
        margin-bottom: 0;
        white-space: nowrap;
        /* 不换行 */
    }

    /* 标题垂直位置微调 */
    .banner-inner {
        transform: translateY(-0.2rem);
        /* 向上移动 0.2rem */
    }
}

/* 响应式布局控制 */
@media (min-width: 1200px) {
    .layout-container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 20px;
    }

    .custom-sidebar {
        width: clamp(24rem, 21.4vw, 36rem);
        flex-shrink: 0;
    }

    .custom-content {
        flex-shrink: 0;
    }
    .calc-layout{
        flex-wrap: nowrap;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    .layout-container {
        display: flex;
        gap: 20px;
        flex-direction: column;
    }

    .custom-sidebar {
        width: 100%;
        flex-shrink: 0;
    }

    .custom-content {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        padding: 24px 4.2rem;
    }
}

@media (max-width: 1199.98px) {
    .branch-map {
        width: 100%;
        height: 600px;
    }
}

/* PC端导航栏样式 */
@media (min-width: 1200px) {
    .navbar {
        height: 120px;
        background-color: #fff !important;
        padding: 0;
    }

    .navbar-nav .nav-item {
        margin: 0;
        margin-right: clamp(20px, 2.9vw, 49px);
    }

    .navbar-nav .nav-item:last-child {
        margin-right: 0;
    }
}

/* Pad 端 Footer 定制样式 */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .content-container {
        width: 100%;
        padding: 20px 40px 0px 40px;
        box-sizing: border-box;
    }

    .pad-custom-footer .footer-content {
        padding: 40px 20px 60px 20px;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        /* 顶部对齐 */
        flex-wrap: nowrap;
        /* 禁止换行 */
    }

    .pad-custom-footer .footer-left {
        flex: 0 0 369px;
        /* 固定宽度 */
        width: 369px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-right: 20px;
    }

    .pad-custom-footer .footer-logo-placeholder {
        margin-bottom: 0px;
        /* Logo 与 Info 的间距 */
        justify-content: flex-start !important;
        /* 强制左对齐 */
        padding-left: 0;
    }

    .pad-custom-footer .footer-info {
        color: #606060;
        font-family: var(--font-primary);
        font-weight: normal;
        /* regular corresponds to normal or 400 */
        font-size: 14px;
        line-height: 30px;
        letter-spacing: 0px;
        text-align: left;
        width: 100%;
    }

    .pad-custom-footer .footer-right {
        flex: 1;
        /* 自适应宽度 */
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        /* 右对齐 */
        min-width: 0;
        /* 防止 flex 子项溢出 */
    }

    .pad-custom-footer .footer-links {
        margin-bottom: 0px;
        /* Links 与 QR 的间距 */
        justify-content: flex-start;
        width: 100%;
        margin-top: 15px;
        /* 与Logo顶部稍微对齐 */
        flex-wrap: wrap;
        height: 36px;
        align-items: center;
        /* 允许链接换行，以防万一 */
    }

    .pad-custom-footer .footer-link-item {
        color: #303030;
        font-size: 16px;
        padding: 0 clamp(8px, 1.5vw, 15px);
        /* 动态内边距 */
        border-right: 1px solid #ccc;
    }
    .pad-custom-footer .footer-link-item:first-child {
        padding-left: 0;
    }
    .pad-custom-footer .footer-link-item:hover {
        color: #004a99;
    }

    .pad-custom-footer .footer-link-item:last-child {
        border-right: none;
        padding-right: 0;
    }

    .pad-custom-footer .qr-codes {
        justify-content: flex-end;
        gap: 22.4px;
        /* 恢复固定间距，依靠 flex-wrap 或 scale 处理极窄情况 */
        width: 100%;
        display: flex;
        flex-wrap: nowrap;
        /* 不换行，随屏幕缩小 */
    }

    .pad-custom-footer .qr-item-main {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        /* 让其自适应父容器分配的宽度 */
        max-width: 110px;
        /* 最大 110px */
        min-width: 60px;
        /* 最小宽度，防止缩得太小 */
    }

    .pad-custom-footer .qr-img {
        width: 100%;
        height: auto;
        margin-bottom: 10px;
    }

    .pad-custom-footer .qr-label {
        font-size: clamp(11px, 1.2vw, 13px);
        /* 动态字体 */
        color: #333;
        text-align: center;
        line-height: 1.4;
    }
}

/* 移动端样式 (仅在屏幕小于 992px 时生效) */
@media (max-width: 767.98px) {
    .filter-row {
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }

    .filter-select {
        width: 100%;
    }

    .content-container {
        width: 100%;
        padding: 20px 20px 100px 20px;
        min-height: 0px;
    }

    .navbar {
        border-bottom: 1px solid #EAEAEA;
    }

    .page-title {
        color: #111111;
        font-family: var(--font-primary);
        font-weight: bold;
        font-size: 2.6rem !important;
        line-height: 1.2;
        letter-spacing: 0px;
        text-align: center;
    }
    .page-title1 {
        color: #111111;
        font-family: var(--font-primary);
        font-weight: bold;
        font-size: 2.6rem !important;
        line-height: 1.2 !important;
        letter-spacing: 0px !important;
        text-align: center;
    }

    .content-title{
        font-size: 2.6rem !important;
    }

    .list-header {
        border-bottom: 1px solid #EDEFF3;
        margin-bottom: 8px;
    }

    /* 移动端头部 */
    .mobile-header {
        background-color: #fff;
        padding: 15px 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 2px solid #E7380D;
        /* 添加底部红线 */
    }

    .mobile-logo {
        width: 112px;
        height: 26.88px;
    }

    .mobile-header-right {
        display: flex;
        gap: 15px;
        align-items: center;
    }

    /* 图标基础样式 */
    .mobile-icon {
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        cursor: pointer;
    }

    /* 搜索图标 - 蓝色背景 */
    .mobile-icon-search {
        background-color: #00487F;
    }

    /* 无障碍图标 - 绿色背景 */
    .mobile-icon-access {
        background-color: #41B051;
    }

    /* 菜单图标 - 透明背景 */
    .mobile-icon-menu {
        background-color: transparent;
        width: auto;
        height: auto;
    }

    /* 图标内部图片 */
    .mobile-icon img {
        width: 20px;
        height: 20px;
        display: block;
    }

    /* 菜单SVG颜色 */
    .mobile-menu-svg {
        color: #00487F;
        width: 32px;
        height: 32px;
    }

    /* 移动端公告栏 */
    .mobile-notice-bar {
        background-color: #fff;
        padding: 12px 20px;
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 14px;
        color: #333;
    }

    .mobile-notice-icon {
        width: 20px;
        height: 20px;
    }

    .mobile-notice-text {
        flex: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: #111111;
        font-family: var(--font-primary);
        font-weight: normal;
        font-size: 14px;
        line-height: 1;
        letter-spacing: 0px;
        text-align: left;

        /* 公告加粗 */
    }

    .mobile-notice-arrow {
        font-size: 14px;
        color: #333;
        font-family: monospace;
        /* 使箭头更像图标 */
    }

    /* 移动端列表样式 */
    .notice-list {
        padding: 0px;
    }

    .notice-item {
        display: flex;
        flex-direction: column-reverse;
        /* 日期在上，标题在下 */
        padding: 15px 0 8px 0px;
        border-bottom: 1px solid #eee;

    }

    .notice-date {
        font-size: 14px;
        color: #666;
        margin-bottom: 8px;
        text-align: left;
        width: 100%;
    }

    .notice-link {
        font-size: 16px;
        text-decoration: none;
        display: block;
        width: 100%;
        white-space: normal;
        /* 允许换行 */
        overflow: visible;
        text-overflow: clip;
        color: #606060;
        font-family: var(--font-primary);
        font-weight: regular;
        font-size: 14px;
        line-height: 1;
        letter-spacing: 0px;
        text-align: left;
    }

    /* 移动端分页器样式 */
    .bottom-panel {
        flex-direction: column;
        align-items: center;
        margin-top: 20px;
        padding: 0px;
        gap: 15px;
    }

    .pagination-bar {
        width: 100%;
        display: flex;
        justify-content: start;
        align-items: center;
        flex-wrap: nowrap;
        font-size: 14px;
        gap: 12px;
        color: #666;
        margin-bottom: 0px;
    }

    .total-info {
        margin-right: 5px;
        white-space: nowrap;
        color: #909090 !important;
    }

    .page-list {
        display: flex;
        gap: 5px;
    }

    .page-btn {
        width: 28px;
        height: 28px;
        border: 1px solid #eee;
        color: #666;
        text-decoration: none;
        font-size: 12px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .page-btn.active {
        background-color: #004a99;
        color: white;
        border-color: #004a99;
    }

    /* 移动端只显示当前页和左右翻页 */
    .page-btn:not(.active):not(.page-prev):not(.page-next) {
        display: none;
    }

    .page-jump {
        display: flex;
        align-items: center;
        margin-left: 5px;
        white-space: nowrap;
    }

    .page-jump input {
        width: 40px;
        height: 28px;
        border: 1px solid #ddd;
        border-right: none;
        /* 左侧圆角 */
        text-align: center;
        margin: 0;
        margin-left: 14px;
        /* 跳至和input中间间隔14px */
    }

    /* 新增：页码显示框样式 */
    .page-total-box {
        height: 28px;
        line-height: 26px;
        /* 减去边框 */
        border: 1px solid #ddd;
        border-left: 1px solid #eee;
        /* 右侧圆角 */
        padding: 0 8px;
        background-color: #fff;
        color: #666;
    }


    /* 移动端底部 */
    .mobile-footer {
        background-color: #f8f9fa;
        padding: 40px 20px 30px 20px;
        text-align: left;
        border-top: 1px solid #eee;
    }

    .mobile-footer-logo {
        height: 42px;
        margin-bottom: 15px;
        width: 120px;
    }

    .mobile-footer-links {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 0;
        /* 移除 gap，改用 padding 和 border 实现分割 */
        row-gap: 12px;
        /* 增加行间距 */
        margin-bottom: 20px;
        font-size: 12px;
        color: #666;
    }

    .mobile-footer-link {
        padding: 0 19px;
        border-right: 1px solid #00487F;
        text-decoration: none;
        color: #00487F;
        font-family: var(--font-primary), sans-serif;
        font-weight: 400;
        font-size: 12px;
        line-height: 1;
        letter-spacing: 0px;
        text-align: left;
    }

    .mobile-footer-qr {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        /* 减小间距以容纳文字 */
        margin-bottom: 15px;
        /* 增加内边距防止贴边 */
    }

    .mobile-qr-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        flex: 1;
        min-width: 0;
        /* Allow shrinking */
    }

    .mobile-qr-item img {
        width: 100%;
        max-width: 100px;
        height: auto;
    }

    .mobile-qr-label {
        color: #606060;
        font-family: var(--font-primary), sans-serif;
        font-weight: normal;
        font-size: 12px;
        line-height: normal;
        letter-spacing: 0px;
        width: 100px;
        text-align: center;
    }

    .mobile-copyright {
        font-size: 10px;
        color: #999;
        line-height: 1.5;
    }
    .mobile-copyright .footer-copyright {
        font-size: 10px;
    }

    /* pc端的样式 */
    .main-wrapper {
        padding: 0px;
        margin-bottom: 0px;
    }

    .custom-content {
        padding: 20px 20px 100px 20px;
        box-sizing: border-box;
        min-height: auto;
    }



    .detail-subtitle {
        color: #00487F;
        font-family: var(--font-primary);
        font-weight: normal;
        font-size: 14px;
        line-height: 1;
        letter-spacing: 0px;
        text-align: left;
    }

    .detail-text {
        color: #606060;
        font-family: var(--font-primary);
        font-weight: normal;
        font-size: 14px;
        line-height: normal;
        letter-spacing: 0px;
        text-align: left;
    }

    .logo-placeholder {
        width: 112px;
        height: 26.88px;
    }

    /* 移动端产品列表样式 */
    .mobile-product-list {
        display: flex;
        flex-direction: column;
    }

    .mobile-product-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 18px 0 8px 0;
        border-bottom: 1px solid #eee;
    }

    .item-main {
        flex: 1;
    }

    .item-code {
        font-size: 14px;
        color: #666;
        margin-bottom: 5px;
    }

    .item-name {
        font-size: 16px;
        color: #333;
        font-weight: 500;
    }

    .item-action {
        color: #0061FF;
        font-size: 14px;
        padding-left: 15px;
        text-decoration: none;
        font-family: var(--font-primary);
        font-weight: normal;
        font-size: 14px;
        line-height: 1;
        letter-spacing: 0px;
        text-align: center;

    }

    .content-title-tool {
        padding: 20px;
        box-sizing: border-box;
    }

    .detail-section {
        margin: 10px 0px;
    }

    .page-title {
        padding-top: 0px;
        margin-bottom: 24px;
    }

    .custom-tabs {
        margin-bottom: 15px;
        justify-content: center;
    }

    .calc-actions {
        margin: 0px auto !important;
    }
}

/* 移动端/平板端 导航栏折叠菜单悬浮样式 (Bootstrap navbar-expand-xl 在 <1200px 时折叠) */
@media (max-width: 1199.98px) {

    /* 移动端 Banner */
    .mobile-banner {
        background: url('../images/banner.png') no-repeat center center;
        background-size: cover;
        height: 93.75px;
        /* 根据截图调整高度 */
        display: flex;
        align-items: center;
        padding-left: 30px;
        /* 文字左侧间距 */
        position: relative;
    }

    .mobile-banner-card {
        background: url('../images/cardBanner.jpg') no-repeat center center !important;
        background-size: cover !important;
    }

    .mobile-banner-news {
        background: url('../images/xwzx.png') no-repeat center center !important;
        background-size: cover !important;
    }

    /* 仅在指定页面替换为快捷服务 kjfw.png 移动端 Banner */
    .mobile-banner-kjwf {
        background: url('../images/kjfw.png') no-repeat center center !important;
        background-size: cover !important;
    }

    .mobile-banner-title {
        color: #FFFFFF;
        font-family: var(--font-primary);
        font-size: 32px;
        /* 根据截图加大字号 */
        font-weight: bold;
        z-index: 1;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
        /* 增加文字阴影提高可读性 */
    }

    /* 移动端面包屑 */
    .mobile-breadcrumb {
        display: flex;
        align-items: flex-start;
        flex-wrap: wrap;
        color: #303030;
        font-family: var(--font-primary);
        font-weight: 400;
        /* regular */
        font-size: 14px;
        line-height: normal;
        letter-spacing: 0px;
        text-align: left;
        margin-bottom: 40px;
    }

    .mobile-breadcrumb span {
        white-space: normal;
        display: inline-block;
        margin-bottom: 5px;
    }

    .mobile-breadcrumb img {
        margin-right: 8px;
        margin-top: 2px;
        flex-shrink: 0;
    }

    /* 移动端公告栏 */
    .mobile-notice-bar {
        background-color: #fff;
        padding: 12px 20px;
        display: flex;
        align-items: center;
        gap: 10px;
        font-size: 14px;
        color: #333;
    }

    .mobile-notice-icon {
        width: 20px;
        height: 20px;
    }

    .mobile-notice-text {
        flex: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        color: #111111;
        font-family: var(--font-primary);
        font-weight: normal;
        font-size: 14px;
        line-height: 1;
        letter-spacing: 0px;
        text-align: left;

        /* 公告加粗 */
    }

    .mobile-breadcrumb img {
        width: 14px;
        height: 14px;
        margin-right: 5px;
        /* 添加图标右侧间距 */
    }

    /* 针对移动端手动折叠菜单容器的样式 */
    #pcNavbarContent.collapse.show,
    #pcNavbarContent.collapsing {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background-color: #fff;
        z-index: 1050;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        border-top: 1px solid #eee;
    }

    /* 移动端菜单样式重置，避免受PC端样式影响 */
    .navbar-nav .nav-item {
        margin: 10px 0;
        text-align: left;
    }

    .nav-menu-item {
        font-size: 16px;
        text-align: left;
        padding: 8px 15px !important;
        white-space: normal;
    }

    /* 移动端顶部工具图标样式 */
    .mobile-nav-icon {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .mobile-nav-icon img {
        width: 18px;
        height: 18px;
        display: block;
    }

    /* 移动端汉堡菜单图标 (蓝色三横线) */
    .mobile-menu-icon {
        width: 30px;
        height: 24px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        cursor: pointer;
    }

    .mobile-menu-icon span {
        display: block;
        width: 100%;
        height: 3px;
        background-color: #004a99;
        /* 蓝色 */
        border-radius: 2px;
    }

    /* 移动端底部 */
    .mobile-footer {
        background-color: #f8f9fa;
        padding: 40px 20px 30px 20px;
        text-align: left;
        border-top: 1px solid #eee;
    }

    .mobile-footer-logo {
        height: 42px;
        margin-bottom: 15px;
        width: 120px;
    }

    .mobile-footer-links {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0;
        /* 移除 gap，改用 padding 和 border 实现分割 */
        row-gap: 12px;
        /* 增加行间距 */
        margin-bottom: 20px;
        font-size: 12px;
        color: #666;
    }

    .mobile-footer-link {
        padding: 0 19px;
        border-right: 1px solid #303030;
        text-decoration: none;
        color: #303030;
        font-family: var(--font-primary), sans-serif;
        font-weight: 400;
        font-size: 12px;
        line-height: 1;
        letter-spacing: 0px;
        text-align: left;
    }
    .mobile-footer-link:last-child{
        border-right: 0px;
    }
    .mobile-footer-link:hover {
        color: #00487F;
    }

    .mobile-footer-qr {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        /* 减小间距以容纳文字 */
        margin-bottom: 15px;
        /* 增加内边距防止贴边 */
    }

    .mobile-qr-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        /* 均分宽度 */
    }

    .mobile-qr-item img {
        width: 100px;
        height: 100px;
    }

    .mobile-qr-label {
        color: #606060;
        font-family: var(--font-primary), sans-serif;
        font-weight: normal;
        font-size: 12px;
        line-height: normal;
        letter-spacing: 0px;
        width: 100px;
        text-align: center;
    }

    .mobile-copyright {
        font-size: 10px;
        color: #999;
        line-height: 1.5;
        text-align: center;
    }

    .main-wrapper {
        padding: 0px;
        width: 100%;
    }

}

.calc-panel {
    display: block;
    gap: 40px;
    align-items: flex-start;
    padding: clamp(16px, 4vw, 80px) clamp(16px, 4vw, 80px) clamp(24px, 4.6vw, 88px) clamp(16px, 4vw, 80px);
    border: 1px solid #EDEFF3;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: hidden;
}

.calc-layout {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.calc-form {
    width: clamp(26rem, 42vw, 48rem);
    flex: 1 1 clamp(26rem, 42vw, 48rem);
}

.calc-row {
    display: flex;
    align-items: center;
    gap: 0;
    margin-bottom: 16px;
}

.calc-row:last-child {
    margin-bottom: 16px;
}

.calc-label {
    width: clamp(9rem, 12vw, 14rem);
    margin: 0;
    font-family: Source Han Sans CN;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 30px;
    letter-spacing: 0px;
    text-align: left;

}

.calc-select {
    width: 100%;
    max-width: clamp(17rem, 28vw, 30rem);
    height: 36px;
    font-size: 1.6rem;
}

.calc-input-wrap {
    position: relative;
    flex: 1 1 auto;
    max-width: clamp(17rem, 28vw, 30rem);
}

.calc-input {
    height: 3.6rem;
    width: 100%;
    font-size: 1.6rem;
}

.calc-form .form-control {
    padding: .375rem .5rem;
    border-radius: 0px;
    font-size: 1.6rem;
}

.calc-inline {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: clamp(17rem, 28vw, 30rem);
    flex: 1 1 auto;
}

.calc-year-input {
    height: 36px;
    width: auto;
    min-width: 60px;
    flex: 1;
}

.calc-month-select {
    height: 36px;
    width: 62px;
}

.calc-rate-input {
    height: 36px;
    width: 79px;
}

.sep-year {
    display: inline-block;
    width: 22px;
    text-align: center;
}

.calc-rate-plan {
    height: 36px;
    width: auto;
    flex: 1;
    min-width: 0;
}

.has-time .page-title {
    margin-bottom: 20px;
}

.detail-time {
    color: #909090;
    font-family: var(--font-primary);
    font-size: 14px;
    text-align: center;
    margin-top: 20px;
}

.page-detail{
    margin-top: 48px;
}

input::placeholder,
textarea::placeholder,
.form-control::placeholder {
    color: #909090;
    opacity: 1;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
.form-control::-webkit-input-placeholder {
    color: #909090;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
.form-control:-ms-input-placeholder {
    color: #909090;
}

select.form-control:invalid {
    color: #909090;
}

select.form-control option[disabled],
select.form-control option:disabled {
    color: #909090;
}

.calc-suffix {
    position: absolute;
    right: -28px;
    top: 50%;
    transform: translateY(-50%);
}

.calc-actions {
    display: flex;
    gap: 20px;
    margin-top: 28px;
    width: auto;
    margin-left: clamp(90px, 12vw, 106px);
    justify-content: flex-start;
}
.calc-actions2 {
    margin-left: clamp(90px, 12vw, 118px) !important;
}

.calc-btn-primary {
    background: #00487F;
    border: none;
    width: 140px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
}

.calc-btn-secondary {
    background: #00487F;
    border: none;
    width: 140px;
    height: 40px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0;
}

.calc-result {
    flex: 1 1 auto;
    border-left: 1px solid #EDEFF3;
    /*min-width: clamp(16rem, 28vw, 26rem);*/
    padding-left: clamp(1rem, 3vw, 4rem);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

@media (max-width: 992px) {
    .calc-result {
        border-left: none;
        border-top: 1px solid #EDEFF3;
        padding-left: 0;
        padding-top: 24px;
        width: 100%;
        min-width: 0;
    }
}

.interest-label {
    color: #303030;
    font-family: Source Han Sans CN;
    font-weight: regular;
    font-size: 16px;
    line-height: 30px;
    letter-spacing: 0px;
    text-align: center;

}

.interest-value {
    color: #E7380D;
    font-family: Source Han Sans CN;
    font-weight: medium;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0px;
    text-align: center;

}

.interest-bg {
    width: 100%;
    height: 24px;
    background: url('../images/result-bg.png') no-repeat center center;
    background-size: 100% 100%;
    margin-top: 0px;
    min-width: 100px;
}

.interest-wrap {
    display: inline-block;
    min-width: 100px;
    text-align: center;
}

.interest-empty {
    width: 24px;
    height: 3px;
    background: #E7380D;
    display: block;
    border-radius: 2px;
    margin: 6px auto;
}

/* Personal Business Page Layout Moved from HTML */
.page-content {
    max-width: 140rem;
    margin: 8rem auto 4rem;
    padding: 0 4rem;
}

.section-content {
    width: 100%;
    margin: 0 auto;
    padding: 9rem 0 12rem;
}

.section-content:nth-child(odd) {
    background-color: #F5F6F8;
}

/* Ensure safety margins for tablet range (768-1199) */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .main-wrapper {
        width: 100%;
        padding: 0 4rem;
        /* Safe margin for tablets */
    }
}

/* Title Decoration Styles (Matched to Homepage) */
.content-title-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: fit-content;
    margin-bottom: 6rem;
}

.content-title-chl {
    font-size: var(--fs-h1);
    /* 3.6rem */
    font-weight: 700;
    color: var(--color-black);
    line-height: 1.2;
    margin: 0;
}

.title-decoration {
    display: flex;
    margin-top: 1rem;
    margin-bottom: 0;
    width: 100%;
}

.decoration-bar {
    height: 0.3rem;
    display: block;
    flex-grow: 1;
}

.decoration-bar.blue {
    flex: 50;
    background-color: var(--color-brand-blue);
}

.decoration-bar.green {
    flex: 32;
    background-color: var(--color-brand-green);
}

.decoration-bar.red {
    flex: 18;
    background-color: var(--color-brand-red);
}

/* Personal Business Page - Font Sizes */
.investment-option-title {
    font-size: var(--fs-h2);
}

.service-title {
    font-size: var(--fs-h2);
}

.product-title {
    font-size: var(--fs-h2);
}

.product-desc {
    font-size: var(--fs-home-body);
}

.bf-product-title {
    font-size: var(--fs-h2);
}

.bf-product-desc {
    font-size: var(--fs-home-body);
}

.dc-card-item-title {
    font-size: var(--fs-h2);
}

.dc-card-name {
    font-size: var(--fs-h2);
}

.eb-service-title {
    font-size: var(--fs-h2);
}

.more-products {
    font-size: var(--fs-sub);
}

.news-item {
    display: flex;
    display: -ms-flexbox;
    /* IE10 */
    align-items: flex-start;
    -ms-flex-align: start;
    /* IE10 */
    justify-content: space-between;
    -ms-flex-pack: justify;
    /* IE10 */
    padding-bottom: 0.8rem;
    /* Reduced padding */
    border-bottom: 1px solid #EDEFF3;
    /* IE10 */
}

.news-list .news-item:last-child {
    border-bottom: none;
}

.news-link {
    display: flex;
    display: -ms-flexbox;
    /* IE10 */
    align-items: flex-start;
    -ms-flex-align: start;
    /* IE10 */
    flex: 1;
    -ms-flex: 1;
    /* IE10 */
    text-decoration: none;
    color: #606060;
    transition: color 0.3s ease;
}

.news-link:hover {
    color: #00487F;
    text-decoration: none;
}

.news-dot {
    color: #606060;
    font-size: var(--fs-home-body);
    margin-right: 1rem;
    flex-shrink: 0;
    -ms-flex-negative: 0;
    /* IE10 */
    line-height: 1.5;
}

.news-title {
    font-size: var(--fs-home-body);
    /* 18px on ultrawide */
    line-height: 1.5;
    color: #606060;
}

.news-date {
    color: #606060;
    font-size: var(--fs-home-body);
    margin-left: 2rem;
    flex-shrink: 0;
    -ms-flex-negative: 0;
    /* IE10 */
    line-height: 1.5;
}

/* News Section Container - Flexbox Layout */
.news-container {
    display: flex;
    display: -ms-flexbox;
    /* IE10 */
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /* IE10 */
    align-items: stretch;
    -ms-flex-align: stretch;
    /* IE10 */
}

.news-image-wrapper {
    flex: 0 0 40%;
    -ms-flex: 0 0 40%;
    /* IE10 */
    min-width: 30rem;
}

.news-image {
    width: 100%;
    max-width: 46rem;
    /* 460px on ultrawide */
    overflow: hidden;
}

.news-image img {
    width: 100%;
    height: 30.6rem;
    /* 306px on ultrawide */
    object-fit: cover;
    display: block;
}

.news-list-wrapper {
    flex: 0 0 60%;
    -ms-flex: 0 0 60%;
    /* IE10 */
    min-width: 30rem;
}

.news-list {
    display: flex;
    display: -ms-flexbox;
    /* IE10 */
    flex-direction: column;
    -ms-flex-direction: column;
    /* IE10 */
    height: 30.6rem;
    /* 306px - match image height */
    justify-content: space-between;
    -ms-flex-pack: justify;
    /* IE10 */
}
.more-products .more-icon {
    width: 2.5rem;
    margin-top: -4px;
}


/* Hero Slider Styles */
.hero-banner-new {
    position: relative;
    /* Ensure positioning context */
    background-color: #fff;
    /* Prevent bleed-through */
    background-image: none !important;
    /* Override default background image */
}

.hero-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1s ease-in-out;
    z-index: 1;
}

.hero-slide.active {
    opacity: 1;
    z-index: 2;
}


/* Hero Indicators */
.hero-carousel-indicators {
    display: flex;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);

    gap: 10px;
    z-index: 10;
}

/* Hero Indicators */
.hero-carousel-indicators {
    display: flex;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);

    gap: 10px;
    z-index: 10;
}

.hero-indicator {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    transition: all 0.3s ease;
}

.hero-indicator.active {
    background-color: #00487F;
    /* Brand Blue */
    width: 2.4rem;
    border-radius: 0.4rem;
}

/* Mobile adjustments when items wrap */
@media (max-width: 767.98px) {
    .news-image-wrapper {
        flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        /* IE10 */
        margin-bottom: 2rem;
    }

    .news-image {
        max-width: 100%;
    }

    .news-image img {
        height: auto;
    }

    .news-list-wrapper {
        flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        /* IE10 */
    }

    .news-list {
        height: auto;
    }

    .news-item {
        flex-direction: column;
        -ms-flex-direction: column;
        /* IE10 */
        align-items: flex-start;
        -ms-flex-align: start;
        /* IE10 */
        padding-bottom: 1.5rem;
    }

    .news-link {
        margin-bottom: 0.5rem;
    }


    .news-date {
        margin-left: 2.1rem;
        /* Align with text after dot */
    }
    .more-products .more-icon {
        width: 1.5rem;
        margin-top: -4px;
    }
}

/* =========================================
   MOBILE ADJUSTMENTS (≤768px)
   ========================================= */
@media (max-width: 768px) {

    /* Font Size Adjustments */
    :root {
        --fs-h1: 2.2rem;
        --fs-h2: 1.6rem;
        --fs-home-body: 1.4rem;
        --fs-sub: 1.4rem;
    }
}
