* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif; font-size: 14px; color: #333; background: #f5f7fa; line-height: 1.6; overflow-x: hidden; }
ul, li { list-style: none; }
a { text-decoration: none; color: inherit; }
img { max-width: 100%; display: block; }
/* ====================== 第一屏 ====================== */ 
.hero-section { position: relative; height: 100vh; min-height: 700px; overflow: hidden; }
/* Banner 轮播 */ 
.banner-swiper { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }
.banner-swiper-container, .banner-swiper-container .swiper-slide, .banner-swiper-container .swiper-slide img { width: 100%; height: 100%; }
.banner-swiper-container .swiper-slide img { object-fit: cover; }
.banner-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(251, 194, 112, 0.4) 0%, rgba(0, 80, 140, 0.25) 100%); z-index: 2; pointer-events: none; }
.banner-pagination { bottom: 20px !important; z-index: 10; }
.banner-pagination .swiper-pagination-bullet { background: rgba(255, 255, 255, 0.6); opacity: 1; width: 30px; height: 4px; border-radius: 2px; transition: all 0.3s; }
.banner-pagination .swiper-pagination-bullet-active { background: #fff; width: 50px; }
/* 左侧快速导航 - PC端默认展开，只在第一屏显示；移动端隐藏滑出（fixed） */
.quick-nav { position: absolute; top: 0; bottom: 0; left: 0; width: 200px; background: rgba(255, 255, 255, 0.8); z-index: 1000; transition: width 0.3s ease; display: flex; flex-direction: column; padding: 20px 0 20px 0; overflow: visible;  padding-top:40px; }
.quick-nav-fixed{ position:fixed;}
/* PC端收缩状态：只显示图标，隐藏文字，宽度变窄 */
.quick-nav.collapsed { width: 50px; }
.quick-nav.collapsed .nav-text { opacity: 0; pointer-events: none; width: 0; margin: 0; flex: 0; }
.quick-nav.collapsed .quick-nav-list li a, .quick-nav.collapsed .nav-bottom-item { justify-content: center; padding-left: 0; padding-right: 0; }
.quick-nav.collapsed .nav-icon { margin-right: 0; text-align: center; width: 100%; }
.quick-nav-toggle { width: 100%; height: 40px; /*background: rgba(0, 40, 80, 0.6);*/ cursor: pointer; display: flex; align-items: center; justify-content: left; transition: background 0.3s ease; flex-shrink: 0; padding-left:20px; }
.quick-nav-toggle .iconfont{ font-size:36px; font-weight:normal; color:#066bad; }

.quick-nav.collapsed .quick-nav-toggle .iconfont:before{ content:"\e1740"; font-size:20px; }

.quick-nav-toggle:hover {/* background: rgba(0, 60, 120, 0.8);*/ }
.quick-nav.collapsed .quick-nav-toggle{ padding-left:0px; justify-content:center; }
.quick-nav.collapsed .quick-nav-toggle .iconfont{ font-size:26px; } 

.toggle-icon, .toggle-icon::before, .toggle-icon::after { display: block; width: 14px; height: 2px; background: #fff; transition: transform 0.3s; position: relative; }
.toggle-icon::before, .toggle-icon::after { content: ''; position: absolute; left: 0; }
.toggle-icon::before { top: -5px; }
.toggle-icon::after { top: 5px; }
/* 图标旋转：PC端收起时、移动端展开时 */ 
.quick-nav.collapsed .toggle-icon, .quick-nav.open .toggle-icon { transform: rotate(180deg); }
.quick-nav-list { flex: 1; padding: 20px 0; z-index: 99999; }
.quick-nav-list li a { display: flex; align-items: center; padding: 15px 12px; color: rgba(255, 255, 255, 0.8); transition: all 0.3s; border-left: 3px solid transparent; white-space: nowrap; overflow: hidden; }
.quick-nav-list li.active a,
.quick-nav-list li a:hover { color: #066bad; background: rgba(255, 255, 255, 0.1); border-left-color: #ffd700; }
.quick-nav-list li:hover{ background:#066bad; color:$fff;}
.quick-nav-list li:hover a{ }
.quick-nav-list li:hover a .nav-icon .iconfont{ color:#fff; }
.quick-nav-list li:hover a .nav-text{ color:#fff}
.quick-nav-list li:hover a .nav-click .iconfont{color:#fff;}
.nav-icon { font-size: 16px; min-width: 36px; text-align: center; }
.nav-icon .iconfont{font-size: 30px; color:#066bad; }
.nav-text { font-size: 16px; margin-left: 10px; transition: opacity 0.3s; color:#066bad;  }
.nav-click{ right: 20px; position: absolute;}
.nav-click .iconfont{ color:#989ea5; transition: transform 0.3s ease; }
/* 有子菜单的一级项：箭头旋转提示 */
.quick-nav-list li.has-sub:hover > a .nav-click .iconfont{ transform: rotate(90deg); color:#fff; }


/* ===== 二级菜单：鼠标悬停向右弹出 ===== */
.quick-nav-list > li{ position: relative; }
.quick-nav-list .sub-nav{
    position: absolute;
    left: 100%;
    top: 0;
    min-width: 170px;
    background: #fff;
    box-shadow: 0 4px 20px rgba(6, 107, 173, 0.15);
    border-radius: 0 8px 8px 0;
    padding: 6px 0;
    z-index: 100;
    /* 默认隐藏 */
    opacity: 0;
    visibility: hidden;
    transform: translateX(-12px);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s;
}
/* 悬停弹出 */
.quick-nav-list li.has-sub:hover > .sub-nav{
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
/* 二级菜单项样式 */
.quick-nav-list .sub-nav li a{
    display: block;
    padding: 10px 22px;
    color: #066bad;
    font-size: 14px;
    border-left: none;
    border-left: 3px solid transparent;
    white-space: nowrap;
    transition: all 0.2s;
}
/* 悬停高亮：用 li:hover > a 而非 a:hover，确保鼠标移入下级弹窗时，当前级链接保持白色高亮 */
.quick-nav-list .sub-nav li:hover > a,
.quick-nav-list .sub-nav li.sub-open > a{
    background: #066bad;
    color: #fff;
    /*border-left-color: #ffd700;*/
    padding-left: 26px;
}
/* 二级菜单左侧连接条（视觉衔接一级菜单） */
.quick-nav-list .sub-nav::before{
    content: '';
    position: absolute;
    left: -8px;
    top: 0;
    bottom: 0;
    width: 8px;
}

.quick-nav.collapsed .nav-text { opacity: 0; }
.quick-nav.collapsed .quick-nav-list .sub-nav li{ padding-left:25px;}
.quick-nav.collapsed .quick-nav-list .sub-nav li.sub-open > a{
    padding-left: 10px!important;
}
.quick-nav.collapsed .quick-nav-list .sub-nav li:hover > a,
.quick-nav.collapsed .quick-nav-list .sub-nav li.sub-open > a{   
	padding-left: 10px;
}

.quick-nav-bottom { border-top: 1px solid rgba(255, 255, 255, 0.15); padding-top: 15px; }
.nav-bottom-item {/* display: flex;*/ align-items: center; padding: 10px 12px; color: rgba(255, 255, 255, 0.8); transition: all 0.3s; white-space: nowrap; overflow: hidden; }
.nav-bottom-item:not(.nav-wechat-wrap):hover { color: #fff; background: rgba(255, 255, 255, 0.1); transform: translateY(-5px); }

.nav-bottom-item .nav-icon{ display:block; }
.nav-bottom-item .nav-text{ display:block; font-size:14px; text-align:center; }

/* 微信在线：链接保持原有 hover 效果 */
.nav-wechat-wrap { position: relative; padding: 0; overflow: visible; }
.nav-wechat-wrap .nav-bottom-link { display: block; padding: 10px 12px; color: inherit; text-decoration: none; transition: all 0.3s; }
.nav-wechat-wrap .nav-bottom-link:hover { color: #fff; background: rgba(255, 255, 255, 0.1); transform: translateY(-5px); }
.nav-wechat-wrap .nav-bottom-link .nav-icon { display: block; }
.nav-wechat-wrap .nav-bottom-link .nav-text { display: block; font-size: 14px; text-align: center; }

/* 二维码弹层：PC端 hover 弹出，位于右侧；移动端点击弹出 */
.wechat-qr-popup {
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%) translateX(-10px);
    background: #fff;
    border-radius: 12px;
    padding: 16px 14px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    gap: 14px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.28s ease;
    z-index: 500;
    min-width: 150px;
}
.wechat-qr-popup::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 50%;
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-right-color: #fff;
}
.quick-nav.collapsed .wechat-qr-popup {
    left: calc(100% + 6px);
}
.nav-wechat-wrap:hover > .wechat-qr-popup,
.nav-wechat-wrap.qr-open > .wechat-qr-popup {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(-50%) translateX(0);
}
.qr-item { text-align: center; }
.qr-item img {
    width: 130px;
    height: 130px;
    display: block;
    margin: 0 auto 6px;
    object-fit: contain;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 4px;
    background: #fff;
}
.qr-item p {
    margin: 0;
    font-size: 12px;
    color: #333;
    line-height: 1.4;
    white-space: nowrap;
}

/* 移动端：二维码弹层改为居中浮层 */
@media (max-width: 992px) {
    .wechat-qr-popup {
        left: 50% !important;
        top: auto !important;
        bottom: calc(100% + 16px);
        transform: translateX(-50%) translateY(10px);
    }
    .wechat-qr-popup::before {
        left: 50%;
        top: auto;
        bottom: -14px;
        transform: translateX(-50%);
        border: 8px solid transparent;
        border-top-color: #fff;
        border-right-color: transparent;
    }
    .nav-wechat-wrap:hover > .wechat-qr-popup {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateX(-50%) translateY(10px);
    }
    .nav-wechat-wrap.qr-open > .wechat-qr-popup {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
    }
}
/* 顶部导航 */ 
.top-header { position: absolute; top: 0; left: 0; right: 0; z-index: 15; padding: 15px 30px; padding-right:0; padding-left:0; }
/* 首页PC端：侧边栏展开时，顶部导航给侧边栏留出空间 */ 
.page-hero > .top-header,
.hero-section > .top-header { left: 150px; transition: left 0.3s ease; z-index:99999; }

/* 首页PC端：侧边栏收缩时，顶部导航只留50px空间 */ 
.hero-section > .quick-nav.collapsed ~ .top-header { left: 50px; }
.header-content { display: flex; justify-content: space-between; align-items: center; background: linear-gradient(to right, #066bad, #00a7c8); padding:20px; border-bottom-left-radius:100px; border-top-left-radius:100px; }
.logo-area { display: flex; align-items: center; gap: 20px; color: #fff; }
.logo-text h1 { font-size: 22px; font-weight: 700; letter-spacing: 2px; }
.logo-text h2 { font-size: 16px; font-weight: 500; margin-top: 2px; }
.open-time { padding-left: 20px; border-left: 1px solid rgba(255, 255, 255, 0.3); font-size: 13px; color: rgba(255, 255, 255, 0.85); }
.open-time .iconfont{ font-size:24px;}
.main-nav { display: flex; align-items: center; gap: 25px; }
/* 汉堡菜单按钮 - 桌面端隐藏 */ 
.nav-toggle { display: none; flex-direction: column; justify-content: space-around; width: 30px; height: 24px; background: transparent; border: none; cursor: pointer; padding: 0; z-index: 20; }
.nav-toggle span { display: block; width: 100%; height: 3px; background: #fff; border-radius: 2px; transition: all 0.3s; }
.nav-toggle.active span:nth-child(1) { transform: translateY(8.5px) rotate(45deg); }
.nav-toggle.active span:nth-child(2) { opacity: 0; }
.nav-toggle.active span:nth-child(3) { transform: translateY(-8.5px) rotate(-45deg); }
.main-nav > a { color: #fff; font-size: 18px; padding: 8px 0; position: relative; transition: opacity 0.3s; }
.main-nav > a:hover { opacity: 0.85; }
.main-nav > a.active::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; /*height: 2px; background: #fff;*/ }
.quick-search { display: flex; align-items: center; background: rgba(255, 255, 255, 0.15); border-radius: 20px; padding: 4px 4px 4px 15px; }
.quick-search input { background: transparent; border: none; outline: none; color: #fff; width: 100px; font-size: 13px; }
.quick-search input::placeholder { color: rgba(255, 255, 255, 0.7); }
.quick-search-btn {/* background: #ffd700;*/ border: none; width: 28px; height: 28px; border-radius: 50%; cursor: pointer; font-size: 14px; color: #003366; }


/* 搜索悬浮层 */
.search-float { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -45%); z-index: 999; width: 960px; max-width: calc(100% - 200px); background:rgba(10,47,94,0.3); }
.search-float-inner { display: flex; /*background: rgba(255, 255, 255, 0.8);*/ border-radius: 10px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25); overflow: hidden; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); background: linear-gradient(90deg, #0667ab 0%, #00abca 100%); background: linear-gradient(to right, rgba(6,103,171,0.38), rgba(0,101,202,0.38));}
.search-top-bar { width: 240px; background: rgba(245, 248, 252, 0.9); padding: 15px 0; border-right: 1px solid rgba(232, 238, 245, 0.8); margin: 10px 0px 0 10px; }
.search-title { padding: 12px 20px 18px; font-size: 20px; font-weight:bold; color: #003366; border-bottom: 1px solid rgba(232, 238, 245, 0.8); margin-bottom: 8px; letter-spacing: 1px; margin-left:20px; }
.search-tab { padding: 18px 20px; font-size: 15px; color: #555; cursor: pointer; transition: all 0.3s; border-left: 3px solid transparent; position: relative; border-top-left-radius:50px; border-bottom-left-radius:50px; margin-left:20px; margin-bottom:2px;  }
.search-tab:hover,
.search-tab.active { background: #066bad; color: #fff; /*border-left-color: #0066cc;*/ font-weight: 500;  margin-left:20px; }



@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}



.side-nav-item.active::after {
content: '›';
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
font-size: 20px;
color: #0066cc;
}

.search-content {
flex: 1;
padding: 25px 30px;
}

.search-panel {
display: none;
}

.search-panel.active {
display: block;
animation: fadeIn 0.3s;
}

.panel-title { font-size: 24px; color: #fff; margin-top:16px; margin-bottom: 20px; font-weight:normal; text-align:center; }
.search-box { display: flex; border: 2px solid #0066cc; border-radius: 6px; overflow: hidden; margin-bottom: 15px; }
.search-box form{ display: flex; width:100%;}
.search-box input { flex: 1; border: none; outline: none; padding: 12px 15px; font-size: 14px; color: #333; }
.search-btn { padding: 0 30px; background: #0066cc; color: #fff; border: none; cursor: pointer; font-size: 14px; transition: background 0.3s; }
.search-btn:hover { background: #0055aa; }
.panel-desc { font-size: 13px; color: #fff; line-height: 1.8; margin-bottom: 15px; }
.panel-divider { height: 1px; background: #e8eef5; margin-bottom: 15px; }
.panel-links { display: flex; flex-wrap: wrap; gap: 12px; }
.panel-links a { padding: 6px 15px; background: #f5f8fc; border-radius: 20px; font-size: 13px; color: #555; transition: all 0.3s; }
.panel-links a:hover { background: #0066cc; color: #fff; }
/* 快速链接 */ 
.quick-links { position: absolute; bottom: 90px; left: 30px; right: 30px; z-index: 10; display: flex; gap: 12px; padding: 0 30px; flex-wrap: wrap; justify-content: center; }
/* 首页PC端：侧边栏展开时，快速链接给侧边栏留出空间 */ 
.hero-section > .quick-links { left: 130px; transition: left 0.3s ease; }
.hero-section > .quick-nav.collapsed ~ .quick-links { left: 80px; }
.quick-link-item { display: flex; flex-direction: column; align-items: center; color: #fff; transition: transform 0.6s; cursor: pointer; margin:0 20px;}
.quick-link-item:hover { transform: translateY(-15px); }
.ql-icon { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 6px; /*border: 1px solid rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.18);*/ }
.quick-link-item .iconfont{ font-size:48px;}
.quick-link-item span{ }
.quick-link-item span:last-child { font-size: 18px; text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }

.quick-link-item::after { content: ''; position: absolute; bottom: -20px; width:40px; height: 2px; background: rgba(255,255,255,0.5); }

/* ====================== 通用标题 ====================== */ 
.section-title { margin-bottom: 25px; position: relative;/* padding-left: 15px; */}
/*.section-title::before { content: ''; position: absolute; left: 0; top: 60%; transform: translateY(-50%); width: 4px; height: 24px; background: #0066cc; border-radius: 2px; }*/
.section-title h3 { font-size: 30px; font-weight: 600; color: #222; /*display: inline-block;*/ }
.section-title .title-en { font-size: 14px; color: #999; text-transform: uppercase; /*letter-spacing: 1px;*//* margin-left: 10px; */}
.section-title.center { text-align: center; padding-left: 0; }
.section-title.center::before { display: none; }
.section-title.white h3,
.section-title.white span { color: #fff; /*color:#eb4106;*/ }
.section-title.white .title-en { /*color: rgba(255, 255, 255, 0.6);*/ /*color:#999; */}
.section-title.white::before { background: #eb4106; }
.section-title.green::before { background: #00a86b; }
.section-title.green h3,
.section-title.green span { color: #00a86b; }
.section-title.orange::before { background: #eb4106; }
.section-title.orange h3,
.section-title.orange span { color: #eb4106; }
.section-title.blue::before { background: #0066cc; }
.section-title.blue h3,
.section-title.blue span { color: #0352a1; }
.more-link { float: right; font-size: 12px; color: #999; margin-top: -35px; }
.more-link:hover { color: #0066cc; }
.section-inner { max-width: 1400px; margin: 0 auto; padding: 60px 30px; }
/* 版块标题块 - 占据整行，让其他子元素横向排列 */ 
.section-title-block { width: 100%; flex: 0 0 100%; margin-bottom: 30px; }
/* ====================== 新闻与通知 ====================== */ 
.news-section { background:url(./../images/indexNewsBg.jpg); background-size: cover; background-position: center bottom; background-repeat: no-repeat; position: relative; }
.news-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; /*background: rgba(255, 255, 255, 0.85);*/ }
.news-section .section-inner { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 40px; }
.news-left { flex: 1; min-width: 0; }
.news-cover-container { border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); }
.news-cover-swiper { position: relative; }
.news-cover-container { width: 100%; height: 480px; overflow: hidden; }
.news-cover-container .swiper-slide { position: relative; height: 480px; width: 100%; flex-shrink: 0; flex: 0 0 100%; }
.news-cover-container .swiper-wrapper { display: flex; flex-wrap: nowrap;  }

#newsCoverSwiper1{}
#newsCoverSwiper1 .swiper-button-prev:after,
#newsCoverSwiper1 .swiper-button-next:after,
#newsCoverSwiper2 .swiper-button-prev:after,
#newsCoverSwiper2 .swiper-button-next:after{ font-size:18px; }

/* 默认隐藏的swiper不占空间 */ 
.news-cover-container:not(.active) { display: none; }
.news-cover-container .swiper-slide img { width: 100%; height: 100%; object-fit: cover; }
.cover-caption { position: absolute; bottom: 0; left: 0; right: 0; padding: 15px 20px; background: linear-gradient(transparent, rgba(0, 0, 0, 0.75)); color: #fff; font-size: 16px; }
.news-cover-pagination { bottom: 15px !important; left: auto !important; right: 0 !important; width: auto !important; display: flex !important; justify-content: flex-end !important; gap: 8px; padding-right: 20px; text-align: right !important; }
.news-cover-pagination .news-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255, 255, 255, 0.6); cursor: pointer; transition: all 0.3s; display: inline-block; }
.news-cover-pagination .news-dot.active { background: #fff; transform: scale(1.2); }
.news-cover-pagination .swiper-pagination-bullet { background: rgba(255, 255, 255, 0.6); opacity: 1; }
.news-cover-pagination .swiper-pagination-bullet-active { background: #fff; }
.news-cover-prev, .news-cover-next { color: #fff !important; background: rgba(0, 0, 0, 0.3); width: 40px !important; height: 40px !important; border-radius: 50%; }
.news-right { width: 550px; }
.news-tabs { display: flex; gap: 30px; margin-bottom: 20px; border-bottom: 2px solid #1d5da5; padding-bottom: 10px; }
.news-tab { width:140px; font-size: 20px; font-weight:bold; color: #666; cursor: pointer; position: relative; padding-bottom: 10px; margin-bottom: -12px; transition: color 0.3s; text-align:center; }
.news-tab.active { width:240px;  color: #0066cc; background:url(../images/newTabsBg.png) no-repeat; text-indent:110px; text-align:left; }
.news-tab.active::after { content: ''; position: absolute; bottom: -12px; right:40px; height: 2px; background: #0066cc; width:100px; }
.news-tabs:nth-child(1){/* text-indent:110px; */}

.news-list li { padding: 12px 0; border-bottom: 1px dashed #eee; /*display: flex;*/ align-items: center; gap: 15px; transition: all 0.3s; cursor: pointer; }
.news-list li:hover { padding-left: 8px; padding-right: 8px; background: rgba(0, 102, 204, 0.05); }
.news-date { font-size: 14px; color: #999; white-space: nowrap; width:140px; line-height:36px; text-indent:25px; color:#fff; display: block; background: linear-gradient(to right, #066bad, #00a7c8); clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50px, 100% 100%, 0 100%); }
.news-title { width:100%; font-size: 16px; line-height:250%; color: #333; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; }
.news-list li:hover .news-title { color: #0066cc; }

.newsMore{ width:100%; text-align:center; margin-top:20px;}
.newsMore .more-link{ float:none; font-size:16px; color:#646464; }

/* ====================== 活动日历 ====================== */ 
.calendar-section { height:880px; background:url(./../images/indexCalcBg.jpg); background-size: cover; background-position: center bottom; background-repeat: no-repeat; position: relative; }
.calendar-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; /*background: rgba(140, 0, 0, 0.85);*/ }
.calendar-section .section-inner { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 40px; }
.calendar-left { flex: 1; min-width: 0; }
.calendar-bg-inner { /*background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 12px; padding: 25px;*/ }
.calendar-feature-container { /*height: 280px;*/ overflow: hidden; width: 100%; }
.calendar-feature-container .swiper-wrapper { display: flex; flex-wrap: nowrap; transition: transform 0.4s ease; }
.calendar-feature-container .swiper-slide { height: 100%; flex: 0 0 100%; width: 100%; position:relative; }
.calendar-feature-card { /*background: #fff;*/ border-radius: 10px; overflow: hidden; display: flex; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); }
.feature-img { /*width: 45%;*/ width:430px; height:300px; position:absolute; top:70px; overflow: hidden; z-index:999; border:4px solid rgba(170,33,25,0.2); }
.feature-img img { width: 100%; height: 100%; object-fit: cover; }
.feature-content { /*flex: 1;*/ padding: 25px; width:615px; height:500px; background:url(../images/calcPicBg.jpg); position:relative; top:10px; left:200px; padding-left:250px; padding-top:70px; }
.feature-content h4 { font-size: 20px; color: #222; margin-bottom: 12px; line-height: 1.5; }
.feature-content > p { font-size: 14px; color: #666; line-height: 2; padding:15px 0; margin-bottom: 15px; text-indent:2em; }
.feature-meta p { font-size: 13px; margin-bottom: 5px; color:#a61b1b; font-size:14px; padding:5px 0; }
.feature-meta span { color: #555; font-weight: 500; }
.feature-switch { display: flex; justify-content: center; gap: 15px; margin-top: -80px; padding: 0 10px; z-index: 99999; position: relative; margin-left:200px; }
.feature-switch-btn { width: 45px; height: 45px; background: rgba(255, 255, 255, 0.2); border: 1px solid rgba(137, 22, 24, 0.9); color: #891618; font-size: 24px; border-radius: 50%; cursor: pointer; transition: all 0.3s; line-height: 1; margin:0 20px; }
.feature-switch-btn:hover { background: rgba(255, 255, 255, 0.35); transform: scale(1.1); }
.feature-switch-btn .iconfont{ line-height:45px; }
.calendar-right { width: 480px; }
.calendar-list-bg-inner { /*background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 12px; padding: 25px;*/ }
.calendar-list li { display: flex; gap: 15px; padding: 22px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.1); cursor: pointer; transition: all 0.3s; }
.calendar-list li a{ display: flex;}
.calendar-list li:last-child { border-bottom: none; }
.calendar-list li:hover { padding-left: 8px; }
.cal-date { text-align: center; min-width: 80px; color: #fff; }
.cal-day { display: block; font-size: 30px; font-weight: bold; line-height: 1; }
.cal-month { display: block; font-size: 14px; opacity: 0.7; margin-top: 4px; }
.cal-title { flex: 1; font-size: 18px; color: rgba(255, 255, 255, 0.9); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.calcMore{ width:100%; text-align:center; margin-top:20px;}
.calcMore .more-link{ float:none; font-size:16px; color:#fff; }

/* ====================== 文海航行 ====================== */ 
.book-section { background:/* linear-gradient(180deg, #f9fafc 0%, #eef4ed 100%)*/ url(../images/indexWenhaiBg.jpg) center; position: relative; overflow: hidden; }
.book-section .section-inner { display: flex; flex-wrap: wrap; gap: 40px; align-items: stretch; }
.book-left { width: 300px; flex-shrink: 0; }
.sail-section-title { margin-bottom: 25px; padding-left: 15px; position: relative; }
.sail-section-title::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 4px; height: 24px; background: #00a86b; border-radius: 2px; }
.sail-section-title h3 { font-size: 22px; font-weight: 600; color: #00a86b; }
.sail-section-title .title-en { font-size: 12px; color: #999; margin-left: 10px; }
.sail-ship { position: relative; /*padding: 20px 0;*/ }
.sail-svg { width: 100%; height: 200px; opacity: 0.3; }
.sail-tabs { /* margin-top: 20px;*/ }
.sail-tab { padding: 12px 20px; margin-bottom: 15px; text-align: center; /*border: 2px solid #00a86b;*/ color: #00a86b; border-radius: 25px; font-size: 22px; font-weight:bold; cursor: pointer; transition: all 0.3s; /*position: relative;*/ width:230px; height:70px; display:flex; justify-content: center; align-items: center; background:url(../images/wenhaiLi_default.png) no-repeat;  }
.sail-tab:hover,
.sail-tab.active {/* background: #00a86b;*/ background:url(../images/wenhaiLi_on.png) no-repeat; color: #fff; padding-left: 8px; /*box-shadow: 0 5px 15px rgba(0, 168, 107, 0.3);*/ }
/*.sail-tab.active::after { content: '◀'; position: absolute; right: -18px; top: 50%; transform: translateY(-50%); color: #00a86b; font-size: 14px; }*/


.book-right { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 25px; margin-top:-80px; }
.book-panels { position: relative; display: flex; flex-direction: column; gap: 25px; }
.book-panel { display: none; flex-direction: column; gap: 25px; }
.book-panel.active { display: flex; }
.book-show { display: flex; gap: 25px; background: #fff; padding: 25px; border-radius: 10px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); }
.book-show-cover { width: 240px; height: 330px; flex-shrink: 0; border-radius: 5px; overflow: hidden; box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2); transition: transform 0.4s; }
.book-show-cover img { width: 100%; height: 100%; object-fit: cover; }
.book-show-info { flex: 1; }
.book-show-info h4 { font-size: 24px; color: #222; margin-bottom: 10px; }
.book-meta { font-size: 16px; color: #999; margin-bottom: 12px; }
.book-desc { font-size: 16px; color: #666; line-height: 1.8; }
.book-list-swiper { position: relative; padding: 0 80px; }
.book-list-container { padding: 10px 0; height: 280px; overflow: hidden; width: 100%; }
.book-list-container .swiper-wrapper { display: flex; flex-wrap: nowrap; transition: transform 0.4s ease; gap: 20px; }
.book-list-container .swiper-slide { width: 25%; height: 260px; flex: 0 0 calc(25% - 15px); }


.book-list-item { height: 180px; border-radius: 5px; overflow: hidden; box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.15); cursor: pointer; transition: all 0.3s; position: relative; border: 3px solid transparent; }
.book-list-item img { width: 100%; height: 100%; object-fit: cover; }
.book-list-item:hover { transform: translateY(-5px); }
.book-list-item.active { border-color: #00a86b; box-shadow: 0 8px 20px rgba(0, 168, 107, 0.4); }
.book-list-item.active::before { content: '●'; position: absolute; top: -3px; right: -3px; width: 20px; height: 20px; background: #00a86b; color: #fff; border-radius: 50%; font-size: 12px; text-align: center; line-height: 20px; z-index: 2; }
.book-list-prev, .book-list-next { color: #00a86b !important; width: 44px !important; height: 44px !important; background: rgba(0, 168, 107, 0.1); border-radius: 50%; top: 50% !important; transform: translateY(-50%); }
.book-list-prev::after, .book-list-next::after { font-size: 20px !important; font-weight: bold; }
.book-list-prev { left: 0 !important; }
.book-list-next { right: 0 !important; }
.book-list-swiper .swiper-button-prev{}
.book-list-swiper .swiper-button-prev:after{ font-family:"iconfont"; content:"\e1567"; }
.book-list-swiper .swiper-button-nex{}
.book-list-swiper .swiper-button-next:after{ font-family:"iconfont"; content:"\e1568";}
/* ====================== 各校区图书馆 ====================== */ 
.campus-section { background: #f5f7fa; position: relative; overflow: hidden; min-height: 650px; background-image: url('../images/indexLib_1.jpg'); background-position: left center; background-size: auto 100%; background-repeat: no-repeat; }
.campus-section:after{ content:" "; width:calc(50% - 350px); height:100%; position:absolute; top:0; right:0; background: no-repeat url('../images/libSideLeftBg.png');background-size: 100% 100%;}
.campus-section .section-inner { display: flex; flex-wrap: wrap; gap: 40px; align-items: center; position: relative; max-width: 1300px; margin: 0 auto; padding: 0 30px; z-index: 2; }
.campus-left { flex: 1; min-width: 0; position: relative; height: 650px; z-index: 2; }
/* 移动端大图 - PC端隐藏 */ 
.campus-mobile-img { display: none; }
/* 标题悬浮在图片上 */ 
.campus-title-overlay { position: absolute; top: 50px; /*left: 60px;*/ z-index: 5; /*text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);*/ margin-bottom: 0; color: #fff; }
.campus-title-overlay h3 { font-size: 28px; /*color: #eb4106 !important;*/ color:#eb4106; }
.campus-title-overlay .title-en { /*color: rgba(255, 255, 255, 0.85) !important;*/ color:#999; }
.campus-title-overlay::before { /*background: #fff !important;*/ }
.campus-right { width: 350px;height: 650px; position: relative; z-index: 3; background-image: url('../images/libSideBg.png'); background-size:100% 100%; background-repeat:no-repeat; }
.campus-list { position: relative; padding: 20px 0; height: 500px; margin-top:100px; }
/* 3个校区图片沿左弧线排列（弧线凸向左，3个item在凹侧/左侧） */ 
.campus-item { display: flex; align-items: center; gap: 15px; cursor: pointer; transition: all 0.3s; position: absolute; left: 0; }
/* 左弧线分布：中间item最靠左（弧线最凸点），上下item靠右 */ 
.campus-item:nth-child(1) { top: 30px; transform: translateX(50px); }
.campus-item:nth-child(2) { top: 50%; transform: translateY(-50%) translateX(80px); }
.campus-item:nth-child(3) { bottom: 30px; transform: translateX(180px); }
.campus-circle-img { width: 80px; height: 80px; border-radius: 50%; overflow: hidden; border: 4px solid #eb4106; flex-shrink: 0; transition: all 0.3s; background: #fff; }
.campus-item.active .campus-circle-img { width: 100px; height: 100px; border-color: #cc5500; box-shadow: 0 5px 15px rgba(255, 127, 36, 0.4); }
.campus-circle-img img { width: 100%; height: 100%; object-fit: cover; }
.campus-name { font-size: 20px; color: #eb4106; font-weight: 600; white-space: nowrap; transition: color 0.3s; }
.campus-item.active .campus-name { color: #cc5500; font-weight: 600; font-size:26px; }
/* 半圆遮罩已改用 mask-image 直接做在图片上，此元素保留占位但不显示 */ 
.campus-mask { display: none; }
/* ====================== 馆藏特色 ====================== */ 
.special-section { background: /* 背景线条 SVG */ url("./../images/indexSpecialBg.jpg") center/cover no-repeat, linear-gradient(180deg, #f5f9ff 0%, #e8f1ff 100%); padding: 40px 0; position: relative; }
.special-section .section-inner { display: flex; flex-wrap: wrap; gap: 20px; position: relative; z-index: 1; }
.special-items { width: 100%; display: flex; justify-content: center; align-items: center; gap: 100px; margin-top: 30px; }
.special-item { text-align: center; cursor: pointer; transition: transform 0.3s; }
.special-item:hover { transform: scale(1.05); }
.special-img-wrap { overflow: hidden; position: relative; margin: 0 auto; }
.special-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.special-item:hover .special-img-wrap img,
.special-item.auto-hover .special-img-wrap img { transform: scale(1.1); }
.special-item.auto-hover { transform: scale(1.05); }
/* 不规则有机形态 - 使用 CSS mask-image (Firefox兼容性优于clip-path url) */ /* 形状1：水滴形（左上尖、右下圆、左侧S曲线收腰） */ 
.special-img-wrap.shape-1 { width: 300px; height: 300px; -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 356 342' preserveAspectRatio='none'><path fill='%23000000' d='M 109.01,8.85 c 19.27,0.68 39.04,14.26 53.9,25.71 c 29.62,20.22 69.41,45.28 106.77,39.81 c 5.73,-0.16 15.91,-5.75 20.96,-2.56 c 34.95,20.63 60.45,77.11 61.88,116.21 c 0.26,4.32 0.25,8.64 -0.02,12.95 c -1.39,31.42 -11.48,50.7 -36.37,69.89 c -51.3,37.39 -123.83,52.27 -185.61,61.34 c -15.32,2.2 -30.14,2.84 -45.57,3.25 c -7.63,0.52 -15.27,0.52 -22.9,0.01 c -19.3,-1.21 -37.57,-7.76 -47.68,-25.26 c -5.98,-10.61 -7.66,-21.31 -8.91,-33.23 c -0.28,-4.97 -0.33,-9.95 -0.14,-14.92 c 1.19,-0.97 0.51,-8.87 0.44,-10.62 c 0.8,-2.74 1.11,-5.53 0.93,-8.38 c 0.82,-11.88 2.04,-23.71 3.69,-35.5 c 4.34,-30.14 10.16,-60.79 17.19,-90.26 c 7.82,-35.28 23.93,-95.81 64.43,-106.46 c 2.56,-0.44 5.11,-0.95 7.65,-1.55 c 3.12,-0.22 6.24,-0.36 9.36,-0.43 Z'/><path fill='%23000000' fill-opacity='0.365' d='M 6.69,243.05 c 0.18,2.85 -0.13,5.64 -0.93,8.38 c 0.07,1.75 0.75,9.65 -0.44,10.62 c -0.3,-0.82 -0.44,-1.67 -0.43,-2.54 c -0.07,-5.19 0.11,-10.35 0.53,-15.5 c 0.31,-0.5 0.73,-0.82 1.27,-0.96 Z'/><path fill='%23000000' fill-opacity='0.502' d='M 98.1,8.76 c 1.68,-1.43 8.51,-0.61 10.87,-0.66 c 0.02,0.25 0.03,0.5 0.04,0.75 c -3.12,0.07 -6.24,0.21 -9.36,0.43 c -2.54,0.6 -5.09,1.11 -7.65,1.55 c -0.06,-1.02 2.1,-0.83 2.65,-1.86 c 1.14,-0.19 2.29,-0.26 3.45,-0.21 Z'/></svg>"); -webkit-mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 356 342' preserveAspectRatio='none'><path fill='%23000000' d='M 109.01,8.85 c 19.27,0.68 39.04,14.26 53.9,25.71 c 29.62,20.22 69.41,45.28 106.77,39.81 c 5.73,-0.16 15.91,-5.75 20.96,-2.56 c 34.95,20.63 60.45,77.11 61.88,116.21 c 0.26,4.32 0.25,8.64 -0.02,12.95 c -1.39,31.42 -11.48,50.7 -36.37,69.89 c -51.3,37.39 -123.83,52.27 -185.61,61.34 c -15.32,2.2 -30.14,2.84 -45.57,3.25 c -7.63,0.52 -15.27,0.52 -22.9,0.01 c -19.3,-1.21 -37.57,-7.76 -47.68,-25.26 c -5.98,-10.61 -7.66,-21.31 -8.91,-33.23 c -0.28,-4.97 -0.33,-9.95 -0.14,-14.92 c 1.19,-0.97 0.51,-8.87 0.44,-10.62 c 0.8,-2.74 1.11,-5.53 0.93,-8.38 c 0.82,-11.88 2.04,-23.71 3.69,-35.5 c 4.34,-30.14 10.16,-60.79 17.19,-90.26 c 7.82,-35.28 23.93,-95.81 64.43,-106.46 c 2.56,-0.44 5.11,-0.95 7.65,-1.55 c 3.12,-0.22 6.24,-0.36 9.36,-0.43 Z'/><path fill='%23000000' fill-opacity='0.365' d='M 6.69,243.05 c 0.18,2.85 -0.13,5.64 -0.93,8.38 c 0.07,1.75 0.75,9.65 -0.44,10.62 c -0.3,-0.82 -0.44,-1.67 -0.43,-2.54 c -0.07,-5.19 0.11,-10.35 0.53,-15.5 c 0.31,-0.5 0.73,-0.82 1.27,-0.96 Z'/><path fill='%23000000' fill-opacity='0.502' d='M 98.1,8.76 c 1.68,-1.43 8.51,-0.61 10.87,-0.66 c 0.02,0.25 0.03,0.5 0.04,0.75 c -3.12,0.07 -6.24,0.21 -9.36,0.43 c -2.54,0.6 -5.09,1.11 -7.65,1.55 c -0.06,-1.02 2.1,-0.83 2.65,-1.86 c 1.14,-0.19 2.29,-0.26 3.45,-0.21 Z'/></svg>"); mask-size: 100% 100%; mask-repeat: no-repeat; box-shadow: 0 15px 40px rgba(0, 102, 204, 0.2); }
/* 形状2：心形凹陷形（右侧有凹口，上下两瓣） */ 
.special-img-wrap.shape-2 { width: 300px; height: 300px; -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 356 342' preserveAspectRatio='none'><path fill='%23000000' d='M 150.04,6.54 c 4.98,-0.5 9.96,-0.51 14.94,-0.03 c 5.38,0.51 10.67,1.52 15.85,3.05 c 47.39,15.76 83.9,51.92 130.2,69.85 c 18.93,9.73 31.11,27.13 34.63,48.12 c -0.24,3.67 1.79,6.65 1.71,10.51 c 0.46,4.64 0.48,9.29 0.08,13.93 c -5.23,48.2 -30.44,97.77 -57.13,137.72 c -11.18,15.56 -23.76,31.59 -39.6,42.64 c -4.74,2.1 -9.65,3.69 -14.72,4.78 c -6.03,0.71 -12.08,1.23 -18.15,1.55 c -4.61,0.2 -9.22,0.14 -13.83,-0.16 c -28,-1.77 -54.09,-5.44 -81.1,-12.76 c -34.57,-9.98 -64.26,-28.26 -81.79,-60.57 c -15.13,-29.43 -28.41,-56.56 -31.53,-90.21 c -0.65,-7.98 -0.67,-15.96 -0.08,-23.94 c 2.35,-22.93 10.55,-59.91 24.87,-78.11 c 27.7,-37.19 69.68,-61.07 115.65,-66.37 Z'/><path fill='%23000000' fill-opacity='0.388' d='M 236,337.11 c -0.09,0.34 -0.31,0.59 -0.64,0.75 c -1.21,0 -2.36,0.25 -3.44,0.77 c -3.79,0.27 -7.58,0.43 -11.39,0.45 c -0.92,-0.01 -1.81,-0.15 -2.68,-0.42 c 6.07,-0.32 12.12,-0.84 18.15,-1.55 Z'/></svg>"); -webkit-mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 356 342' preserveAspectRatio='none'><path fill='%23000000' d='M 150.04,6.54 c 4.98,-0.5 9.96,-0.51 14.94,-0.03 c 5.38,0.51 10.67,1.52 15.85,3.05 c 47.39,15.76 83.9,51.92 130.2,69.85 c 18.93,9.73 31.11,27.13 34.63,48.12 c -0.24,3.67 1.79,6.65 1.71,10.51 c 0.46,4.64 0.48,9.29 0.08,13.93 c -5.23,48.2 -30.44,97.77 -57.13,137.72 c -11.18,15.56 -23.76,31.59 -39.6,42.64 c -4.74,2.1 -9.65,3.69 -14.72,4.78 c -6.03,0.71 -12.08,1.23 -18.15,1.55 c -4.61,0.2 -9.22,0.14 -13.83,-0.16 c -28,-1.77 -54.09,-5.44 -81.1,-12.76 c -34.57,-9.98 -64.26,-28.26 -81.79,-60.57 c -15.13,-29.43 -28.41,-56.56 -31.53,-90.21 c -0.65,-7.98 -0.67,-15.96 -0.08,-23.94 c 2.35,-22.93 10.55,-59.91 24.87,-78.11 c 27.7,-37.19 69.68,-61.07 115.65,-66.37 Z'/><path fill='%23000000' fill-opacity='0.388' d='M 236,337.11 c -0.09,0.34 -0.31,0.59 -0.64,0.75 c -1.21,0 -2.36,0.25 -3.44,0.77 c -3.79,0.27 -7.58,0.43 -11.39,0.45 c -0.92,-0.01 -1.81,-0.15 -2.68,-0.42 c 6.07,-0.32 12.12,-0.84 18.15,-1.55 Z'/></svg>"); mask-size: 100% 100%; mask-repeat: no-repeat; box-shadow: 0 15px 40px rgba(0, 102, 204, 0.2); }
/* 形状3：宽扁不规则形（顶部偏左尖、底部宽平） */ 
.special-img-wrap.shape-3 { width: 300px; height: 300px; -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 356 342' preserveAspectRatio='none' style='shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd'><g><path fill='%23000000' stroke='%23000000' stroke-width='0.5' d='M 98.01,2.49 c 4.32,-0.46 8.63,-0.44 12.95,0.03 c 3.47,0.53 6.95,1.08 10.42,1.64 c 3.84,0.94 7.64,2.01 11.41,3.2 c 5.52,2.13 10.98,4.39 16.39,6.79 c 10.8,5.28 21.13,11.38 30.98,18.27 c 12.32,8.46 23.9,17.84 34.74,28.13 c 1,1.01 1.91,2.09 2.73,3.24 c 1.26,1.88 2.21,3.9 2.83,6.06 c 0.71,2.62 0.6,5.21 -0.33,7.76 c -3.11,8.22 -8.87,11.46 -15.37,16.64 c -3.98,3.69 -7.78,7.56 -11.39,11.61 c -1.91,2.59 -3.13,5.47 -3.63,8.64 c 0.3,7.72 7.47,10.43 13.08,14 c 5.38,2.2 10.71,4.5 15.99,6.89 c 13.11,4.39 26.23,8.75 39.38,13.05 c 1.6,0.52 3.14,1.18 4.63,1.99 c 2.38,-0.21 7.08,1.83 9.36,2.8 c 0.79,0.17 1.59,0.31 2.39,0.41 c 11.06,3.85 22.23,7.44 33.49,10.76 c 3.94,1.29 7.84,2.7 11.7,4.22 c 2.46,1.36 5.02,2.47 7.7,3.33 c 3.86,2.22 7.76,4.38 11.7,6.48 c 5.58,3.45 10.16,7.92 13.73,13.42 c 1.17,2.36 2.21,4.76 3.11,7.18 c 0,2.97 0,5.95 0,8.93 c -0.73,0.98 -4.5,11.48 -6.81,13.69 c -21.53,28.1 -65.29,48.81 -96.71,64.44 c -57.11,27.34 -117.6,48.9 -180.56,55.68 c -7.63,0.08 -15.26,0.15 -22.89,0.23 c -0.15,-0.31 -0.39,-0.51 -0.72,-0.61 c -4.12,0.34 -7.4,-1.45 -11.38,-1.23 c -18.43,-2.46 -34.3,-13.62 -34.95,-33.66 c -0.37,-4.79 -0.62,-9.59 -0.76,-14.38 c 0.58,-0.37 0.81,-0.9 0.69,-1.6 c -0.38,-4.67 -0.59,-9.34 -0.61,-14.02 c 0.09,-7.01 0.34,-14.01 0.75,-21.01 c 0.01,-0.87 -0.1,-1.74 -0.32,-2.59 c -0.27,-10.26 1.27,-20.22 2.06,-30.45 c 0.83,-7.08 2.03,-14.91 2.56,-21.95 c 0.81,-5.22 2.48,-14.17 2.88,-19.02 c 6.9,-39.4 17.28,-78.69 31.61,-115.99 c 10.73,-28.23 22.37,-59.71 57.17,-63 Z'/></g><g><path fill='%23000000' fill-opacity='0.627' d='M 1.73,252.9 c 0.22,0.85 0.33,1.72 0.32,2.59 c -0.41,7 -0.66,14 -0.75,21.01 c 0.02,4.68 0.23,9.35 0.61,14.02 c 0.12,0.7 -0.11,1.23 -0.69,1.6 c -0.61,-1.02 -0.11,-3.64 -1.22,-4.15 c 0,-7.64 0,-15.29 0,-22.93 c 0.31,-0.13 0.51,-0.36 0.61,-0.69 c 0.36,-3.34 -0.46,-8.52 1.12,-11.45 Z'/></g><g><path fill='%23000000' fill-opacity='0.522' stroke='%23000000' stroke-width='0.5' stroke-opacity='0.522' d='M 36.93,340.16 c 3.98,-0.22 7.26,1.57 11.38,1.23 c 0.33,0.1 0.57,0.3 0.72,0.61 c -2.99,0 -5.99,0 -8.98,0 c -0.56,-1.3 -2.2,-0.94 -3.12,-1.84 Z'/></g></svg>"); -webkit-mask-size: 100% 100%; -webkit-mask-repeat: no-repeat; mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 356 342' preserveAspectRatio='none' style='shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd'><g><path fill='%23000000' stroke='%23000000' stroke-width='0.5' d='M 98.01,2.49 c 4.32,-0.46 8.63,-0.44 12.95,0.03 c 3.47,0.53 6.95,1.08 10.42,1.64 c 3.84,0.94 7.64,2.01 11.41,3.2 c 5.52,2.13 10.98,4.39 16.39,6.79 c 10.8,5.28 21.13,11.38 30.98,18.27 c 12.32,8.46 23.9,17.84 34.74,28.13 c 1,1.01 1.91,2.09 2.73,3.24 c 1.26,1.88 2.21,3.9 2.83,6.06 c 0.71,2.62 0.6,5.21 -0.33,7.76 c -3.11,8.22 -8.87,11.46 -15.37,16.64 c -3.98,3.69 -7.78,7.56 -11.39,11.61 c -1.91,2.59 -3.13,5.47 -3.63,8.64 c 0.3,7.72 7.47,10.43 13.08,14 c 5.38,2.2 10.71,4.5 15.99,6.89 c 13.11,4.39 26.23,8.75 39.38,13.05 c 1.6,0.52 3.14,1.18 4.63,1.99 c 2.38,-0.21 7.08,1.83 9.36,2.8 c 0.79,0.17 1.59,0.31 2.39,0.41 c 11.06,3.85 22.23,7.44 33.49,10.76 c 3.94,1.29 7.84,2.7 11.7,4.22 c 2.46,1.36 5.02,2.47 7.7,3.33 c 3.86,2.22 7.76,4.38 11.7,6.48 c 5.58,3.45 10.16,7.92 13.73,13.42 c 1.17,2.36 2.21,4.76 3.11,7.18 c 0,2.97 0,5.95 0,8.93 c -0.73,0.98 -4.5,11.48 -6.81,13.69 c -21.53,28.1 -65.29,48.81 -96.71,64.44 c -57.11,27.34 -117.6,48.9 -180.56,55.68 c -7.63,0.08 -15.26,0.15 -22.89,0.23 c -0.15,-0.31 -0.39,-0.51 -0.72,-0.61 c -4.12,0.34 -7.4,-1.45 -11.38,-1.23 c -18.43,-2.46 -34.3,-13.62 -34.95,-33.66 c -0.37,-4.79 -0.62,-9.59 -0.76,-14.38 c 0.58,-0.37 0.81,-0.9 0.69,-1.6 c -0.38,-4.67 -0.59,-9.34 -0.61,-14.02 c 0.09,-7.01 0.34,-14.01 0.75,-21.01 c 0.01,-0.87 -0.1,-1.74 -0.32,-2.59 c -0.27,-10.26 1.27,-20.22 2.06,-30.45 c 0.83,-7.08 2.03,-14.91 2.56,-21.95 c 0.81,-5.22 2.48,-14.17 2.88,-19.02 c 6.9,-39.4 17.28,-78.69 31.61,-115.99 c 10.73,-28.23 22.37,-59.71 57.17,-63 Z'/></g><g><path fill='%23000000' fill-opacity='0.627' d='M 1.73,252.9 c 0.22,0.85 0.33,1.72 0.32,2.59 c -0.41,7 -0.66,14 -0.75,21.01 c 0.02,4.68 0.23,9.35 0.61,14.02 c 0.12,0.7 -0.11,1.23 -0.69,1.6 c -0.61,-1.02 -0.11,-3.64 -1.22,-4.15 c 0,-7.64 0,-15.29 0,-22.93 c 0.31,-0.13 0.51,-0.36 0.61,-0.69 c 0.36,-3.34 -0.46,-8.52 1.12,-11.45 Z'/></g><g><path fill='%23000000' fill-opacity='0.522' stroke='%23000000' stroke-width='0.5' stroke-opacity='0.522' d='M 36.93,340.16 c 3.98,-0.22 7.26,1.57 11.38,1.23 c 0.33,0.1 0.57,0.3 0.72,0.61 c -2.99,0 -5.99,0 -8.98,0 c -0.56,-1.3 -2.2,-0.94 -3.12,-1.84 Z'/></g></svg>"); mask-size: 100% 100%; mask-repeat: no-repeat; box-shadow: 0 15px 40px rgba(0, 102, 204, 0.2); }
.special-item p { margin-top: 25px; font-size: 20px; color: #0066cc; font-weight: bold; }
/* ====================== 底部 ====================== */ 
.footer { background: /*linear-gradient(180deg, #0055aa 0%, #003366 100%)*/ url(../images/indexFooterBg.jpg) center; color: rgba(255, 255, 255, 0.8); padding: 30px 0; }
.footer-inner { max-width: 1300px; margin: 0 auto; padding: 0 30px; text-align: center; }
.footer-links { margin-bottom: 15px; font-size: 13px; padding:30px 0px; }
.footer-links a { color: rgba(255, 255, 255, 0.8); margin: 0 8px; transition: color 0.3s; }
.footer-links a:hover { color: #fff; }
.footer-links span { color: rgba(255, 255, 255, 0.4); }
.footer-info { font-size: 12px; line-height: 2; color: rgba(255, 255, 255, 0.6); }




/* ====================== 内页通用样式 ====================== */
 /* 内页 Banner（500px高） */
.page-hero { position: relative; height: 500px; /*overflow: hidden;*/}
.page-hero .banner-swiper { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }
.page-hero .banner-swiper-container, .page-hero .banner-swiper-container .swiper-slide, .page-hero .banner-swiper-container .swiper-slide img { width: 100%; height: 100%; }
.page-hero .banner-swiper-container .swiper-slide img { object-fit: cover; }
.page-hero .banner-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(251, 194, 112, 0.4) 0%, rgba(0, 80, 140, 0.25) 100%); z-index: 2; pointer-events: none; }
/*.page-hero .top-header { position: absolute; top: 0; left: 150px; right: 0; z-index: 999; }*/
.page-hero .page-title { position: absolute; bottom: 60px; left: 0; right: 0; z-index: 5; text-align: center; color: #fff; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5); }
.page-hero .page-title h2 { font-size: 36px; color: #fff; margin-bottom: 8px; }
.page-hero .page-title .title-en { font-size: 16px; color: rgba(255, 255, 255, 0.85); letter-spacing: 2px; }
/* 面包屑导航 */
.breadcrumb { max-width: 1300px; margin: 0 auto; padding: 20px 30px; font-size: 14px; color: #666; }
.breadcrumb a { color: #0055aa; text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb .sep { margin: 0 8px; color: #999; }
/* 主内容容器 */
.page-main { max-width: 1300px; margin: 0 auto; padding: 0 30px 60px; }
/* ====================== 图文列表（上下结构） ====================== */
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.article-card { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); transition: transform 0.3s, box-shadow 0.3s; cursor: pointer; }
.article-card:hover { transform: translateY(-5px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); }
.article-card-img { width: 100%; height: 200px; overflow: hidden; }
.article-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s; }
.article-card:hover .article-card-img img { transform: scale(1.05); }
.article-card-body { padding: 20px; }
.article-card-body h3 { font-size: 18px; color: #333; margin-bottom: 10px; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.article-card-body .article-meta { font-size: 13px; color: #999; margin-bottom: 10px; }
.article-card-body .article-desc { font-size: 14px; color: #666; line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* ====================== 图文列表（左右结构） ====================== */
.article-list { display: flex; flex-direction: column; gap: 30px; }
.article-row { display: flex; gap: 30px; background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); transition: transform 0.3s, box-shadow 0.3s; cursor: pointer; }
.article-row .a{ display: flex; gap: 30px; }
.article-row:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); }
.article-row-img { width: 320px; min-width: 320px; height: 100%; overflow: hidden; }
.article-row-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s;max-height: 200px; }
.article-row:hover .article-row-img img { transform: scale(1.05); }
.article-row-body { flex: 1; padding: 25px 30px 25px 0; display: flex; flex-direction: column; justify-content: center; }
.article-row-body h3 { font-size: 20px; color: #333; margin-bottom: 12px; line-height: 1.5; }
.article-row-body .article-meta { font-size: 13px; color: #999; margin-bottom: 12px; }
.article-row-body .article-desc { font-size: 14px; color: #666; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* ====================== 文字列表页 ====================== */
.text-list { background: #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); }
.text-list-item { display: flex; align-items: center; justify-content: space-between; padding: 20px 30px; border-bottom: 1px solid #f0f0f0; transition: background 0.3s; cursor: pointer; }
.text-list-item:last-child { border-bottom: none; }
.text-list-item:hover { background: #f8f9fa; }
.text-list-item .text-list-title { flex: 1; font-size: 16px; color: #333; padding-right: 20px; line-height: 1.5; }
.text-list-item:hover .text-list-title { color: #0055aa; }
.text-list-item .text-list-date { font-size: 14px; color: #999; min-width: 100px; text-align: right; }
/* ====================== 文章详情页 ====================== */
.article-detail { background: #fff; border-radius: 10px; padding: 50px 60px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); }
.article-detail-header { text-align: center; padding-bottom: 30px; border-bottom: 1px solid #f0f0f0; margin-bottom: 40px; }
.article-detail-header h1 { font-size: 30px; color: #333; line-height: 1.4; margin-bottom: 20px; }
.article-detail-meta { font-size: 14px; color: #999; }
.article-detail-meta span { margin: 0 15px; }
.article-detail-content { font-size: 16px; line-height: 1.8; color: #444; }
.article-detail-content p { margin-bottom: 24px; }
.article-detail-content h2 { font-size: 22px; color: #0055aa; margin: 40px 0 20px; padding-left: 15px; border-left: 4px solid #0055aa; }
.article-detail-content img { max-width: 100%; height: auto; border-radius: 8px; margin: 20px 0; }
.article-detail-footer { margin-top: 50px; padding-top: 30px; border-top: 1px solid #f0f0f0; display: flex; justify-content: space-between; }
.article-nav a { color: #0055aa; text-decoration: none; font-size: 14px; }
.article-nav a:hover { text-decoration: underline; }
/* ====================== 搜索页 ====================== */
.search-page { background: #fff; border-radius: 10px; padding: 40px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); }
.search-page-header { margin-bottom: 30px; }
.search-page-box { display: flex; gap: 10px; margin-bottom: 20px; }
.search-page-box input { flex: 1; height: 46px; padding: 0 20px; border: 2px solid #0055aa; border-radius: 6px; font-size: 15px; outline: none; }
.search-page-box input:focus { border-color: #ff7f24; }
.search-page-box button { height: 46px; padding: 0 30px; background: #0055aa; color: #fff; border: none; border-radius: 6px; font-size: 15px; cursor: pointer; transition: background 0.3s; }
.search-page-box button:hover { background: #003366; }
.search-filter { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; }
.search-filter-item { padding: 6px 16px; background: #f0f4f8; border-radius: 20px; font-size: 13px; color: #666; cursor: pointer; transition: all 0.3s; }
.search-filter-item.active, .search-filter-item:hover { background: #0055aa; color: #fff; }
.search-result-info { font-size: 14px; color: #999; margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #f0f0f0; }
.search-result-list { display: flex; flex-direction: column; gap: 20px; }
.search-result-item { padding: 20px; border: 1px solid #f0f0f0; border-radius: 8px; transition: box-shadow 0.3s; cursor: pointer; }
.search-result-item:hover { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); }
.search-result-item h3 { font-size: 18px; color: #0055aa; margin-bottom: 10px; }
.search-result-item .search-result-desc { font-size: 14px; color: #666; line-height: 1.6; margin-bottom: 10px; }
.search-result-item .search-result-meta { font-size: 13px; color: #999; }
.search-result-item .search-keyword { color: #ff7f24; font-weight: bold; }
.search-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 40px; }
.search-pagination a { display: inline-block; min-width: 36px; height: 36px; line-height: 36px; text-align: center; padding: 0 10px; border: 1px solid #ddd; border-radius: 4px; color: #666; text-decoration: none; transition: all 0.3s; }
.search-pagination a:hover, .search-pagination a.active { background: #0055aa; color: #fff; border-color: #0055aa; }
/* ====================== 通用分页 ====================== */
.pagination { /*display: flex;*/ justify-content: center; gap: 8px; margin-top: 50px; }
/*.pagination a { display: inline-block; min-width: 36px; height: 36px; line-height: 36px; text-align: center; padding: 0 10px; border: 1px solid #ddd; border-radius: 4px; color: #666; text-decoration: none; transition: all 0.3s; }
.pagination a:hover, .pagination a.active { background: #0055aa; color: #fff; border-color: #0055aa; }
*/
.pagination{}
.pagination .block{ padding:6px 0;}
/*.pagination a,*/
.pagination .p_first,
.pagination .p_prev,
.pagination .p_first_d,
.pagination .p_prev_d,
.pagination .p_no_d,
.pagination .p_no,
.pagination .p_dot,
.pagination .p_next,
.pagination .p_last,
.pagination .p_next_d,
.pagination .p_last_d,
.pagination .p_pages span{display:inline-block;padding: 0px 0px!important;margin: 10px 5px!important;border: 1px solid #ddd!important;border-radius: 5px!important;color: #333;transition: all 0.3s ease; cursor:pointer; width:44px !important; height:32px !important; line-height:32px;}
.pagination .p_pages span a{ width:100%; height:100%; display:block; line-height:32px; }
.pagination .p_no_d,
.pagination .p_pages span:hover{background: #066bad!important;color: #fff!important;border-color: #881211;}

/*.pagination a:hover,
.pagination span:hover {background: #066bad!important;color: #fff!important;border-color: #881211;}
.pagination span.active {background: #066bad!important;color: #fff!important;border-color: #881211;}
.pagination span:hover a{background:none!important; color:#fff!important;}
.pb_sys_style1 .p_no_d{ background:#881211!important; color:#fff!important;}
.defaultButtonStyle{display: inline;padding: 10px 15px!important;margin: 0 5px!important;border: 1px solid #ddd!important;border-radius: 5px!important;color: #333!important;transition: all 0.3s ease; cursor:pointer;height: auto !important; }
.defaultInputStyle{display: inline;padding: 9px 10px!important;margin: 0 5px!important;border: 1px solid #ddd!important;border-radius: 5px!important;color: #333!important;transition: all 0.3s ease; cursor:pointer;height: auto !important; }*/

/* 无封面图条目：移除图片区域，文字撑满整行 */
.article-row.no-img .article-row-img { display: none; }
.article-row.no-img .article-row-body { padding: 25px 30px; }
@media (max-width: 992px) {
	.article-row.no-img .article-row-body { padding: 20px; }
}

/* ====================== 响应式适配 ====================== */
@media (max-width: 992px) { 
	.article-grid { grid-template-columns: repeat(2, 1fr); }
	.article-row { flex-direction: column; }
	.article-row-img { width: 100%; min-width: 100%; height: 200px; }
	.article-row-body { padding: 20px; }
	.article-detail { padding: 30px; }
}
@media (max-width: 768px) { 
	.page-hero { height: 300px; }
	/*.page-hero .top-header { left: 0; padding: 0 20px; }*/
	.page-hero .page-title h2 { font-size: 24px; }
	
	/*.page-hero .nav-toggle { display: flex; }
	.page-hero .header-content { flex-wrap: wrap; padding: 10px 0; }*/
	.page-hero .logo-text h1 { font-size: 16px; }
	.page-hero .logo-text h2 { font-size: 13px; }
	/*.page-hero .main-nav { display: none; flex-direction: column; align-items: stretch; gap: 0; width: 100%; order: 3; background: rgba(0, 40, 80, 0.95); border-radius: 8px; padding: 10px 0; margin-top: 10px; }*/
	.page-hero .main-nav.open { display: flex; }
	.page-hero .main-nav > a { font-size: 15px; padding: 12px 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
	.page-hero .main-nav > a:last-of-type { border-bottom: none; }
	.page-hero .main-nav .quick-search { display: flex; padding: 10px 20px; }
	.page-hero .main-nav .quick-search input { flex: 1; }
	.article-grid { grid-template-columns: 1fr; }
	.text-list-item { padding: 15px 20px; }
	.text-list-item .text-list-date { min-width: 70px; font-size: 12px; }
	.article-detail { padding: 20px; }
	.article-detail-header h1 { font-size: 22px; }
	.search-page { padding: 20px; }
	
	.article-row .a{ display:inline-block;}
}



/* ====================== 响应式 ====================== */ 
@media (max-width:1200px) { 
.logo-text{}
.logo-text img{ width:250px; }
.main-nav > a{ font-size:16px; }
.quick-search input{ width:60px; }
}
@media (max-width: 992px) { 
	.hero-section > .top-header{ left:0;}
	.open-time{ display:none;}
	
	.search-float { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -45%); z-index: 10; width: 820px; max-width: calc(100% - 100px); }
	.search-float-inner { display: flex; flex-direction: column; background: rgba(255, 255, 255, 0.8); border-radius: 10px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25); overflow: hidden; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); background: linear-gradient(to right, rgba(6, 103, 171, 0.38), rgba(0, 101, 202, 0.38)); }
	.search-top-bar { width:calc(100% - 20px); background: rgba(245, 248, 252, 0.95); /*padding: 15px 25px 0;*/ border-bottom: 1px solid rgba(232, 238, 245, 0.8); padding-bottom:0; }
	.search-title { font-size: 18px; font-weight: 600; color: #003366; margin-bottom: 10px; letter-spacing: 1px; text-align:center; padding:8px; }
	.search-tabs { display: flex; gap: 5px; flex-wrap: wrap; }
	.search-tab { padding: 10px 20px; font-size: 14px; color: #555; cursor: pointer; border-radius: 6px 6px 0 0; transition: all 0.3s; white-space: nowrap; position: relative; }
	.search-tab:hover { color: #0066cc; background: #eaf2fb; }
	.search-tab.active { border-left-color:transparent; color: #0066cc; background: #fff; font-weight: 500; }
	.search-content { flex: 1; padding: 25px 30px; margin-bottom:40px; }
	.search-panel { display: none; }
	.search-panel.active { display: block; animation: fadeIn 0.3s; }
	
	/* 移动端：侧边栏默认隐藏，垂直居中按钮 */
	.quick-nav { position: fixed; top: 0; bottom: 0; left: -180px; width: 180px; transition: left 0.4s ease; padding: 90px 0 20px 0; background: rgba(255, 255, 255, 0.95); }
	.quick-nav.open { left: 0; }
	.quick-nav.collapsed { left: -180px; width: 180px; }
	.quick-nav.collapsed .nav-text { opacity: 1; pointer-events: auto; width: auto; flex: initial; }
	.quick-nav.collapsed .nav-icon { margin-right: 8px; text-align: left; width: auto; }
	.quick-nav.collapsed .quick-nav-list li a, .quick-nav.collapsed .nav-bottom-item { justify-content: flex-start; padding-left: 12px; padding-right: 12px; }
	/* 移动端：二级菜单向右弹出（点击触发，非 hover）；默认隐藏 */
	.quick-nav-list .sub-nav{ position: absolute; left: 100%; top: 0; min-width: 150px; max-width: 160px; background: #fff; box-shadow: 0 4px 20px rgba(6, 107, 173, 0.2); border-radius: 0 8px 8px 0; padding: 6px 0; z-index: 100; opacity: 0; visibility: hidden; transform: translateX(-12px); transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s; }
	.quick-nav-list li.has-sub.sub-open > .sub-nav{ opacity: 1; visibility: visible; transform: translateX(0); }
	.quick-nav-list li.has-sub.sub-open > a .nav-click .iconfont{ transform: rotate(90deg); color: #fff; }
	.quick-nav-list .sub-nav li a{ padding: 10px 18px; font-size: 13px; }
	.quick-nav-list .sub-nav::before{ display: none; }
	.quick-nav-toggle { display: flex; position: fixed; top: 50%; left: 0; right: auto; transform: translateY(-50%); z-index: 25; border-radius: 0 8px 8px 0; width: 30px; height: 60px; background: rgba(0, 40, 80, 0.45); padding-left:4px; }
	.quick-nav-toggle .iconfont{ font-size:24px; color:#fff; }
	.quick-nav-toggle .iconfont:before{ content:"\e1740";}
	.quick-nav.open .quick-nav-toggle { left: 180px; right: auto; transition: all 0.3s; }
	.quick-nav.open .quick-nav-toggle .iconfont:before{ content:"\e1736";}
	.quick-nav.collapsed .quick-nav-toggle { left: 0; right: auto; }
	.top-header { left: 0; padding-left: 30px; }
	.page-hero > .top-header, 
	.hero-section > .top-header{ left:0; }
	.quick-links { left: 30px; gap: 10px; }
}
@media (max-width: 992px) { 
	.book-list-container .swiper-slide { flex: 0 0 calc(33.333% - 14px); width: 33.333%; }
}
@media (max-width: 992px) { 
	.search-float { width: 90%; }
	.news-section .section-inner, .calendar-section .section-inner, .campus-section .section-inner { flex-direction: column; }
	.news-right, .calendar-right, .campus-right { width: 100%; }
	/* 移动端 Swiper 容器约束 - 防止宽度计算溢出 */ 
	.news-left, .calendar-left, .book-left, .book-right { width: 100%; max-width: 100%; }
	.news-cover-swiper, .news-cover-container, .calendar-bg-inner, .calendar-feature-swiper, .calendar-feature-container, .book-list-swiper, .book-list-container { width: 100% !important; max-width: 100% !important; overflow: hidden !important; position: relative; }
	.news-cover-container, .news-cover-container .swiper-slide { height: 350px !important; }
	.calendar-feature-container { height: 200px !important; }
	/*.book-list-container { height: 150px !important; }*/
	/*.book-list-container .swiper-slide, .book-list-item { height: 130px !important; }*/
	.book-section .section-inner { flex-direction: column; }
	.book-left { width: 100%; }
	.sail-tabs { display: flex; gap: 10px; }
	.sail-tab { flex: 1; margin-bottom: 0; }
	.sail-tab.active::after { display: none; }
	.campus-mask { display: none; }
}
/* 各校区图书馆 - 手机端优化 */ 
@media (max-width: 992px) { 
	.campus-section { min-height: auto; }
	.campus-section .section-inner { padding-top: 0; position: relative; padding-bottom:40px; }
	.campus-left { margin-left: 0; margin-right: 0; height: auto; padding: 20px 20px 0; width: 100%; flex: none; }
	.campus-mobile-img { display: block; width: 100%; height: 200px; border-radius: 8px; overflow: hidden; margin-top: 15px; }
	.campus-mobile-img img { width: 100%; height: 100%; object-fit: cover; }
	.campus-title-overlay { position: relative; top: auto; left: auto; z-index: 5; }
	.campus-title-overlay h3 { font-size: 20px; color: #003366; text-shadow: none; }
	.campus-title-overlay .title-en { color: #888; }
	.campus-right { width: 100%; height: auto; background-image: none; margin-top: 0; }
	.campus-list { height: auto; margin-top: 0; padding: 20px; display: flex; flex-direction: row; justify-content: space-around; gap: 10px; }
	.campus-title-overlay::before{ background:#eb4106!important;}
	.section-title.white h3{ /*color:#eb4106!important;*/}
	.campus-title-overlay .title-en{ color:#999!important; text-shadow:none; }
	.campus-item { position: relative; transform: none !important; left: auto; flex: 1; text-align: center; margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; }
	.campus-item:nth-child(1){ top:0;}
	.campus-item:nth-child(2){ top:0;}
	.campus-item:nth-child(3){ top:0;}
	.campus-circle-img { width: 60px !important; height: 60px !important; }
	.campus-item.active .campus-circle-img { width: 70px !important; height: 70px !important; }
	.campus-name { font-size: 12px; color: #333; text-align: center; white-space: normal; line-height: 1.4; }
	/* 移动端隐藏PC端背景图 */ 
	.campus-section { background-image: none !important; }
	.campus-mask { display: none; }
	
	.cal-title{ font-size:16px; }
	.calendar-list li{ padding:16px 0;}
	.special-item p{ font-size:20px;}
}
@media (max-width: 768px) { 
	/* 移动端覆盖：首页侧边栏相关定位 */ 
	.hero-section > .top-header { left: 0; padding:0 20px; }
	.hero-section > .quick-nav.collapsed ~ .top-header { left: 0; }
	.hero-section > .quick-links { left: 30px; flex-wrap: nowrap; overflow-x:auto; overflow-y:hidden; padding:20px 0; }
	.quick-link-item{ min-width:80px; }
	.hero-section > .quick-nav.collapsed ~ .quick-links { left: 30px; }
	
	.quick-link-item .ql-icon { width: 40px; height: 40px; font-size: 18px; }
	.search-tabs { overflow-x: auto; flex-wrap: nowrap; }
	.search-tab { padding: 8px 14px; font-size: 13px; }
	.main-nav { gap: 15px; }
	.main-nav > a { font-size: 13px; }
	.quick-search { display: none; }
	.open-time { display: none; }
	.special-items { flex-direction: column; }
	.quick-link-item .ql-icon{ font-size:28px;}
	.quick-link-item span:last-child{ font-size:16px; }
	
	.calendar-feature-card{ display:block;}
	.feature-img{ position:relative; top:auto; width:100%; border:none; }
	.feature-content{ position: inherit; width:100%; padding:20px; height:350px; }
	.feature-switch{ margin-left:0; padding-bottom:25px; }
	.calendar-section{ height:auto; background-position:right;}
	.calendar-feature-container{ height:auto!important;}
	
	.sail-tabs{ margin-bottom:60px;}
	.sail-tab{ font-size:18px; }
	.sail-tab:hover, .sail-tab, .sail-tab.active{ background-size:100% 100%;}
	.book-show-cover{ width:180px; height:240px; }
	.book-show-info h4{ font-size:20px; }
	.book-desc{ height:100px; overflow:hidden; font-size:14px; }
	
	.campus-item.active .campus-name{ font-size:16px; }
	
	.campus-left{ padding:70px 0 0px 0px; }
	.campus-title-overlay h3{ font-size:30px;}
	.section-title.orange span{ font-size:14px; }
	.campus-mobile-img{ height:350px;}
}
/* 手机端导航：汉堡菜单 + 垂直下拉 */ 
@media (max-width: 768px) { 
	.nav-toggle { display: flex; }
	.top-header { left: 0; right: 0; padding: 0 20px; }
	.header-content { flex-wrap: wrap; /*padding: 10px 0;*/ /*border-radius:20px;*/ border-bottom-left-radius:6px; border-top-left-radius:40px; border-bottom-right-radius:40px; }
	.logo-text h1 { font-size: 16px; }
	.logo-text h2 { font-size: 13px; }
	/* 导航默认隐藏，点击汉堡按钮后垂直展开 */ 
	.main-nav { display: none; flex-direction: column; align-items: stretch; gap: 0; width: 100%; order: 3; /*background: rgba(0, 40, 80, 0.95);*/ border-radius: 8px; padding: 10px 0; margin-top: 10px; }
	.main-nav.open { display: flex; }
	.main-nav > a { font-size: 15px; padding: 12px 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
	.main-nav > a:last-of-type { border-bottom: none; }
	.main-nav .quick-search { display: flex; padding: 10px 20px; }
	.main-nav .quick-search form{ width:100%;}
	.main-nav .quick-search .quick-search-btn{ float:right; }
	.main-nav .quick-search input { flex: 1; width:90%; }
}
@media (max-width: 768px) { 
	.book-list-container .swiper-slide { flex: 0 0 calc(50% - 10px); width: 50%; }
}
@media (max-width: 576px) {
	.book-list-container .swiper-slide { flex: 0 0 100%; width: 100%; }
}

/* ====================== 多级菜单（最多4级）- PC端向右弹出 ====================== */
/* 嵌套子菜单项：作为定位上下文，承载下级 sub-nav 的 left:100% 锚点 */
.quick-nav-list .sub-nav li.has-sub { position: relative; }
/* has-sub 的二级及以下菜单项：使用 flex 布局，右侧显示展开箭头 */
.quick-nav-list .sub-nav li.has-sub > a { display: flex; justify-content: space-between; align-items: center; padding-right: 16px; }
.quick-nav-list .sub-nav li.has-sub > a::after { font-family:"iconfont"; content: '\e994'; font-size: 12px; color: #989ea5; transition: transform 0.3s; margin-left: 8px; }
.quick-nav-list .sub-nav li.has-sub:hover > a::after { transform: rotate(90deg); color: #fff; }
/* 三级、四级菜单复用 .sub-nav 的向右弹出规则（li.has-sub:hover > .sub-nav 已对所有层级生效） */
/* 深层菜单略微收窄，避免连级弹出超出屏幕右侧 */
.quick-nav-list .sub-nav .sub-nav { min-width: 160px; }
.quick-nav-list .sub-nav .sub-nav .sub-nav { min-width: 150px; }

/* ====================== 正文左侧 父子菜单导航（section-sidebar） ====================== */
/* 主内容区改为 flex：左侧导航 + 右侧正文；正文 flex:1 自适应宽度 */
.page-main.has-section-sidebar { display: flex; gap: 30px; align-items: flex-start; }
.page-main.has-section-sidebar .article-detail,
.page-main.has-section-sidebar .list-content { flex: 1; min-width: 0; }

/* 收起状态：已移除（section-sidebar 始终在文档流中显示，不再隐藏到左侧靠边） */

/* 左侧导航容器：始终在文档流中，与面包屑内容左对齐（共用 page-main 的 30px 内边距） */
.section-sidebar { width: 260px; flex-shrink: 0; background: #fff; border-radius: 10px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08); overflow: hidden; position: sticky; top: 20px; }
/* 顶部标题栏 */
.section-sidebar-header { padding: 18px 20px; background: linear-gradient(135deg, #0055aa, #0077cc); color: #fff; }
.section-sidebar-title { font-size: 18px; font-weight: 600; letter-spacing: 1px; }

/* 导航列表 */
.section-sidebar-nav { padding: 8px 0; max-height: calc(100vh - 200px); overflow-y: auto; }
.section-sidebar-nav::-webkit-scrollbar { width: 6px; }
.section-sidebar-nav::-webkit-scrollbar-thumb { background: #d0d7e0; border-radius: 3px; }

/* 节点项 */
.section-nav-item { list-style: none; }
.section-nav-link { display: flex; align-items: center; gap: 8px; padding: 11px 18px; color: #555; font-size: 14px; text-decoration: none; transition: all 0.2s; border-left: 3px solid transparent; }
.section-nav-link:hover { color: #0055aa; background: rgba(0, 85, 170, 0.04); }
/* 展开箭头 */
.section-toggle { display: inline-flex; align-items: center; justify-content: center; width: 16px; flex-shrink: 0; }
.section-toggle .iconfont { font-size: 14px; color: #989ea5; transition: transform 0.3s; display: inline-block; }
/* has-sub 展开/收起箭头旋转 */
.section-nav-item.has-sub.open > .section-nav-link .section-toggle .iconfont { transform: rotate(90deg); color: #0055aa; }
/* 叶子节点（无子菜单）缩进对齐 toggle 宽度，使层级对齐 */
.section-nav-item:not(.has-sub) > .section-nav-link {/* padding-left: 42px;*/ }
.section-text { flex: 1; }

/* 子级列表（手风琴：默认隐藏，open 时显示），逐级缩进 */
.section-sub { list-style: none; display: none; margin: 0; padding: 0; background: rgba(6, 107, 173, 0.03); }
.section-nav-item.has-sub.open > .section-sub { display: block; }
.section-sub .section-nav-link { padding-left: 42px; font-size: 13.5px; }
.section-sub .section-sub .section-nav-link { padding-left: 60px; }
.section-sub .section-sub .section-sub .section-nav-link { padding-left: 78px; }
/* has-sub 子项保留 toggle，覆盖上面的叶子缩进 */
.section-sub .section-nav-item.has-sub > .section-nav-link { padding-left: 18px; }
.section-sub .section-sub .section-nav-item.has-sub > .section-nav-link { padding-left: 42px; }

/* 当前激活项（当前文章所在节点） */
.section-nav-item.active > .section-nav-link { color: #0055aa; background: rgba(0, 85, 170, 0.08); border-left-color: #0055aa; font-weight: 600; }

/* ====================== 移动端：左侧快速导航多级改为内联手风琴 ====================== */
@media (max-width: 992px) {
	/* 多级子菜单改为内联展开，避免右侧弹出连级溢出屏幕 */
	.quick-nav-list .sub-nav { position: static; left: auto; top: auto; min-width: 0; max-width: none; transform: none; opacity: 1; visibility: visible; box-shadow: none; border-radius: 0; padding: 0; background: rgba(6, 107, 173, 0.06); display: none; }
	.quick-nav-list li.has-sub.sub-open > .sub-nav { display: block; transform: none; }
	.quick-nav-list .sub-nav li a { padding: 10px 18px 10px 30px; font-size: 13px; }
	.quick-nav-list .sub-nav .sub-nav li a { padding-left: 42px; }
	.quick-nav-list .sub-nav .sub-nav .sub-nav li a { padding-left: 54px; }
	.quick-nav-list .sub-nav::before { display: none; }
	/* 嵌套 has-sub 项箭头：展开时旋转 */
	.quick-nav-list .sub-nav li.has-sub > a::after { content: '▸'; }
	.quick-nav-list .sub-nav li.has-sub.sub-open > a::after { transform: rotate(90deg); color: #fff; }
}

/* ====================== 移动端：正文父子导航堆叠在正文上方（始终显示） ====================== */
@media (max-width: 992px) {
	/* 移动端改为纵向堆叠：父子导航在正文上方直接展示，不再隐藏到左侧靠边（左侧已有全局 quick-nav） */
	.page-main.has-section-sidebar { flex-direction: column; gap: 16px; }
	.section-sidebar { position: static; width: 100%; max-width: 100%; top: auto; }
	/* 限制导航高度，过长可滚动，避免占用过多屏幕 */
	.section-sidebar-nav { max-height: 320px; }
}
