* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Microsoft YaHei", sans-serif;
}
body {
    background-color: #f3f2ee;
    color: #333;
    overflow-x: hidden;
    animation: fadeInPage 0.6s ease-out;
}
html {
    scroll-behavior: smooth;  /* 平滑滚动，增强体验 */
}
a{
    text-decoration: none;
    color:black;
}
.carousel-slide img,
.video-card .video-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
/* 按钮微动 */
.more-btn, .notice-more {
    transition: transform 0.3s, opacity 0.3s, filter 0.3s;
    will-change: transform;
}
.more-btn:hover, .notice-more:hover {
    transform: translateX(6px);
    opacity: 0.9;
    filter: brightness(1.05);
}

/* 卡片悬浮提升 */
.culture-card, .video-card, .download-item {
    transition: transform 0.4s cubic-bezier(0.2, 0, 0, 1), box-shadow 0.4s;
    will-change: transform;
}
.culture-card:hover, .video-card:hover, .download-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 30px rgba(0, 0, 0, 0.12);
}

/* 新闻/通知列表悬停微背景 + 左移效果 */
.news-item, .notice-item {
    transition: background-color 0.3s, padding-left 0.3s, border-radius 0.2s;
    cursor: pointer;
    border-radius: 6px;
    padding-left: 0;
}
.news-item:hover, .notice-item:hover {
    background-color: rgba(164, 0, 19, 0.05);
    padding-left: 10px;
}

/* 下载图片细腻缩放 */
.download-image img {
    transition: transform 0.5s ease;
    display: block; /* 去除多余间隙 */
}
.download-image img:hover {
    transform: scale(1.02);
}

/* 视频卡片图片放大 (需父级overflow hidden) */
.video-image {
    overflow: hidden;
}
.video-image img {
    transition: transform 0.6s ease;
    object-fit: cover;  /* 保持比例，防止变形 */
}
.video-card:hover .video-image img {
    transform: scale(1.08);
}

/* 搜索按钮背景过渡 */
.search-bar button {
    transition: background-color 0.3s;
}
.search-bar button:hover {
    background-color: #a40013;
}

/* 底部二维码小互动 */
.qr-code img {
    transition: transform 0.3s;
}
.qr-code img:hover {
    transform: scale(1.08);
}

/* 轮播图指示点悬停放大 */
.dot {
    transition: transform 0.2s, background-color 0.2s;
}
.dot:hover {
    transform: scale(1.3);
    background-color: #a40013;
}

/* 小标题图标轻微跳动 (趣味) */
.title-icon {
    transition: transform 0.2s;
}
.section-title:hover .title-icon {
    transform: translateY(-3px);
}
/* 为部分卡片增加更柔和的阴影过渡 */
.culture-card, .video-card, .download-item, .news-item, .notice-item {
    will-change: transform, box-shadow, background-color;
}



.section {
    width: 100%;
    padding: 13px 0;
}
.container {
    width: 98%;
    max-width: 1600px;
    margin: 0 auto;
}
.section-title {
    display: flex;
    align-items: center;
    position: relative;
}
.section-title h2 {
    font-size: 24px;
    font-weight: bold;
    margin-left: 0;
}
.title-icon {
    width: 57px;
    height: 57px;
    vertical-align: middle;
    display: inline-block;
}
.more-btn {
    display: inline-flex;
    align-items: center;
    color: white;
    text-decoration: none;
    font-weight: bold;
    margin-left: auto;
    background-image: url('../images/more.png');
    background-size: cover;
    padding: 48px 24px;
    border-radius: 4px;
}
.theory-section .section-title {
    width: 100%;
    grid-column: 1 / 3;
}
.theory-section .section-title .more-btn {
    position: absolute;
    right: 0;
}

/* === 顶部导航（高度已增大） === */
.header {
    background-color: #a40013;
    padding: 15px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.logo-area {
    display: flex;
    align-items: center;
}
.logo {
    width: 534px;
    height: 106px;
    margin-right: 180px;
}
.site-name {
    width: 200px;
    height: 92px;
}
.search-bar {
    display: flex;
    align-items: center;
}
.search-bar input {
    padding: 12px 15px;
    border: none;
    border-radius: 20px 0 0 20px;
    width: 250px !important;
    background-color: #893744;
    color: white;
    margin-right:-5px;
}
.search-bar button {
    background-color: #893744;
    border: none;
    padding: 12px 15px;
    border-radius: 0 20px 20px 0;
    cursor: pointer;
    color: white;
}
.search-bar input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

/* === Banner 与 导航栏 === */
.banner-section {
    position: relative;
    padding: 0;
    height: 500px;
    overflow: hidden;
    margin-top: -1px;
}
.banner-container {
    position: relative;
    height: 100%;
}
.banner-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1s ease;
    background-size: cover;
    background-position: center;
}
.banner-slide img {
    width: 100%;      /* 宽度撑满父容器 */
    height: 100%;     /* 高度撑满父容器 */
    object-fit: cover; /* 保持宽高比，覆盖整个容器（可能裁剪） */
}
.banner-slide.active {
    opacity: 1;
}
.banner-slide img,
.banner-title {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    color: white;
    font-size: 28px;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.7);
}
.banner-title {
    bottom: 50px;
}


.banner-dots {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 10px;
}
.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ccc;
    cursor: pointer;
}
.dot.active {
    background-color: #a40013;
}
.nav-section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    padding: 0;
}
.nav-container {
    display: flex;
    justify-content: center;
}
.nav-menu {
    display: flex;
    background-color: rgb(164 0 19 / 60%);
    border-radius: 0 0 5px 5px;
    padding: 0 20px;
    width: 1480px;
    height: 86px;
    line-height: 45px;
}
.nav-item {
    padding: 20px 30px;
    cursor: pointer;
    font-size: 24px;
    width: 300px;
    text-align: center;
    transition: color 0.25s, background-color 0.25s, border-radius 0.2s;
}
.nav-item a {
    text-decoration: none;
    color: white;
}

.nav-item a.active, .nav-item a:hover {
    color: #ffcc00;
}





/* === 理论学习与通知公告 === */
.theory-section {
    padding-top: 60px;
}
.theory-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 80px;
}
.theory-left {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.carousel-container {
    grid-column: 1 / 2;
    height: 315px;
    position: relative;
    overflow: hidden;
    border-radius: 5px;
}
.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.5s ease;
    background-size: cover;
    background-position: center;
}
.carousel-slide.active {
    opacity: 1;
}

/* 轮播容器核心样式 */
.carousel-container {
    position: relative; /* 为指示器定位做准备 */
    width: 100%;
    height: 300px; /* 轮播图高度，可根据图片调整 */
    overflow: hidden; /* 隐藏超出容器的轮播项 */
}

/* 轮播项样式 */
.carousel-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0; /* 默认隐藏 */
    transition: opacity 0.5s ease; /* 切换过渡动画 */
}

/* 激活的轮播项显示 */
.carousel-slide.active {
    opacity: 1;
    z-index: 1;
}

/* 轮播图图片样式 */
.carousel-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 保持图片比例，填充容器 */
}

/* 数字指示器样式【重点修改】 */
.carousel-dots {
    position: absolute;
    bottom: 15px;      /* 距离底部15px */
    right: 15px;       /* 距离右侧15px → 定位到右下角 */
    display: flex;
    gap: 8px;
    z-index: 2; /* 确保在轮播图上方 */
}

.littledot {
    width: 30px;
    height: 30px;
    border-radius: 0;
    border: 1px solid #ffffff;
    background-color: rgba(128, 128, 128, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff; /* 数字改为白色，更醒目 */
    font-size: 14px;
    cursor: pointer; /* 鼠标悬浮显示手型 */
    transition: background-color 0.5s ease;
}

.littledot.active {
    background-color: rgba(255, 0, 0, 0.5);
    color: white;
}



.news-list {
    grid-column: 2 / 3;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.news-item {
    display: flex;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid #e0e0e0;
}
.news-item::before {
    content: "";
    width: 4px;
    height: 16px;
    background-color: #a40013;
    margin-right: 10px;
}
.news-title {
    flex: 1;
    font-size: 16px;
    overflow: hidden;            /* 隐藏溢出的内容 */
    white-space: nowrap;         /* 强制文本在一行内显示，不允许换行 */
    text-overflow: ellipsis;     /* 用省略号表示被截断的文本 */
}
.news-date {
    color: #888;
    font-size: 14px;
}
.notice-section {
/*
    background-color: #fff;
    padding: 20px;
*/
    border-radius: 5px;
/*            box-shadow: 0 2px 10px rgba(0,0,0,0.05);*/
}
.notice-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
/*            margin-bottom: 15px;*/
    position: relative;
}
.notice-title {
    display: flex;
    align-items: center;
}
.notice-title h3 {
    font-size: 24px;
    margin-left: 8px;
}
.notice-title::after {  
    content: "";
    position: absolute;
    bottom: 8px;
    left: 57px;
    width: max(100% - 57px, 20px);
    height: 3px;
    background-color: #a40013;
}
.notice-more {
    color: #000000;
    text-decoration: none;
    font-size: 14px;
}
.notice-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
    margin-left:28px;
}
.notice-item {
    display: flex;
    align-items: center;
    height:31px;
}
.notice-item::before {
    content: "";
    display: inline-block;
    width: 19px;
    height: 17px;
    margin-right: 8px;
    background-image: url(../images/jiantou.png);
    background-size: cover;
}
.notice-item-title {
    flex: 1;
    font-size: 16px;
     overflow: hidden;            /* 隐藏溢出的内容 */
  white-space: nowrap;         /* 强制文本在一行内显示，不允许换行 */
  text-overflow: ellipsis;     /* 用省略号表示被截断的文本 */
}
.notice-item-date {
    color: #888;
    font-size: 13px;
}

/* === 校园文化 === */
.culture-section {
/*
    padding: 60px 0;
    background-color: #fff;
*/
}
.culture-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}
.culture-card {
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    padding: 10px 36px 36px 36px;
    position: relative;
    overflow: hidden;
}
.culture-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 5px;
    height: 100%;
    background-color: #a40013;
}
.culture-date {
    display: inline-block;
    background-color: #a40013;
    color: white;
    padding: 5px 15px;
    border-radius: 20px;
    font-size: 14px;
    margin-bottom: 15px;
}
.culture-title {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
}

/* === 视频长旅 === */
.video-section {
/*            padding: 60px 0;*/
}
.video-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.video-card {
    position: relative;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
.video-image {
    width: 100%;
    height: 236px;
    background-color: #ddd;
    background-size: cover;
    background-position: center;
}
.video-image img{ 
    width: 100%;
    height: 236px;
}
.video-title {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.7);
    color: white;
    padding: 10px;
    font-size: 16px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.video-title a{
   color:white;
}
/* === 下载专区 === */
.download-section {
    padding: 60px 0;
/*            background-color: #fff;*/
}
.download-header {
    background-color: #a40013;
    color: white;
    padding: 4px 20px;
    display: flex;
    align-items: center;
}
.download-header h2 {
    margin-left: 10px;
    font-size: 22px;
}
.download-content {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 30px;
    margin-top: 37px;
}
.download-image img{
    margin-left:80px;
    background-color: #ddd;
    border-radius: 5px;
    box-shadow: 8px 8px 15px rgba(0,0,0,0.25);
}
.download-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 26px;
}
.download-item {
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    padding: 15px;
    position: relative;
    overflow: hidden;
    text-align: right;
}
.download-item::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 5px;
    height: 100%;
    background-color: #a40013;
}
.download-date {
    color: #a40013;
    font-size: 16px;
    margin-bottom: 8px;
    font-weight: 600;
}
.download-title {
    font-size: 16px;
    font-weight: bold;
}

/* === 底部 === */
.footer {
    background-color: #555;
    color: white;
    padding: 40px 0;
}
.footer-content {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 30px;
}
.footer-info p {
    margin-bottom: 30px;
    font-size: 15px;
}
.footer-qr {
    text-align: center;
}
.qr-code {
    width: 120px;
    height: 120px;
    background-color: #fff;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    font-size: 12px;
}
.qr-code img{
    width:130px;
}

.qr-text {
    font-size: 18px;
}

/* === 关键修复：下划线始终可见 === */
.theory-section .section-title::after
{
    content: "";
    position: absolute;
    bottom: 5px;
    left: 49px;                     /* 图标宽度+间距 */
    width: max(66.666% - 158px, 20px); /* 至少20px，避免负值 */
    height: 3px;
    background-color: #a40013;
    pointer-events: none;
}
.culture-section .section-title::after{
    content: "";
    position: absolute;
    bottom: 33px;
    left: 49px;                     /* 图标宽度+间距 */
    width: max(66.666% - 505px, 20px); /* 至少20px，避免负值 */
    height: 3px;
    background-color: #a40013;
    pointer-events: none;
}
.video-section .section-title::after {
    content: "";
    position: absolute;
    bottom: 33px;
    left: 49px;                     /* 图标宽度+间距 */
    width: max(66.666% - 505px, 20px); /* 至少20px，避免负值 */
    height: 3px;
    background-color: #a40013;
    pointer-events: none;
}



@keyframes fadeInPage {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

/* 适应移动端，悬停效果仍然可用但不会破坏触摸 */
@media (hover: hover) and (pointer: fine) {
    .culture-card:hover, .video-card:hover, .download-item:hover {
        transform: translateY(-6px);
    }
}
@media (max-width: 1366px) {
    .nav-menu{
       width: 90%;
    }
}
@media (max-width: 1366px) {
     .logo{
        margin-right:80px;
    }
}
@media (max-width: 1244px) {
     .logo{
        margin-right:30px;
    }
}
@media (max-width: 1150px) {
    .logo{
        margin-right:0px;

    }
    .nav-menu{
        width: 100%;
        font-size:22px;
    }
    /* 头部自适应 */
    .header-content {
        flex-wrap: wrap;
        justify-content: center;
    }
    .logo-area {
        width: 100%;
        justify-content: center;
        margin-bottom: 10px;
    }
    .logo, .site-name {
        width: auto;
        height: auto;
        margin-right: 0;
    }
    .logo img, .site-name img {
        max-width: 100%;
        height: auto;
        max-height: 102px;
        width: auto;
    }
    .search-bar {
        width: 100%;
        justify-content: center;
    }
    .search-bar input {
        width: 70%;
        max-width: 500px;
    }            
}
@media(max-width:1000px){
    /* 导航菜单更紧凑 */
    .nav-menu {
        width: 100%;
        height: auto;
        flex-wrap: wrap;
        padding: 5px 0;
        justify-content: center;
    }
}

@media (max-width: 992px) {
    .theory-content { grid-template-columns: 1fr; }
    .video-content { grid-template-columns: repeat(2, 1fr); }
    .culture-content { grid-template-columns: repeat(2, 1fr); }
    .download-content { grid-template-columns: 1fr; }
    .download-grid { grid-template-columns: repeat(2, 1fr); }
}
/* 小屏幕细致优化 */
@media screen and (max-width: 768px) {
    .theory-section .section-title::after,
    .culture-section .section-title::after,
    .video-section .section-title::after {
        left: 36px;
        width: max(75% - 36px, 20px);
    }
    .header-content { flex-direction: column; gap: 15px; }
    .search-bar input { width: 300px; }
    .nav-menu { flex-wrap: wrap; }
    .nav-item { padding: 12px 18px; }
    .theory-left { grid-template-columns: 1fr; }
    .video-content { grid-template-columns: 1fr; }
    .culture-content { grid-template-columns: 1fr; }
    .download-grid { grid-template-columns: 1fr; }
    .footer-content { grid-template-columns: 1fr; text-align: center; }
    .nav-item {
        width: 33.33%;
        padding: 10px 5px;
        font-size: 16px;
        box-sizing: border-box;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }   
    /* banner 高度降低，文字适配 */
    .banner-section {
        height: 45vw;
        max-height: 350px;
        min-height: 220px;
    }
    .banner-title {
        font-size: 18px;
        bottom: 30px;
        padding: 0 15px;
    }
    .banner-dots {
        bottom: 10px;
    }

    /* 理论学习轮播高度调整 */
    .carousel-container {
        height: 200px;
    }

    /* 通知公告列表缩进微调 */
    .notice-list {
        margin-left: 10px;
    }
    .notice-item::before {
        width: 16px;
        height: 14px;
        background-size: contain;
    }

    /* 校园文化卡片内边距减小 */
    .culture-card {
        padding: 8px 15px 20px 15px;
    }
    .culture-card::before {
        width: 4px;
    }
    .culture-date {
        font-size: 13px;
        padding: 3px 12px;
    }

    /* 视频卡片标题文字缩小 */
    .video-title {
        font-size: 14px;
        padding: 8px;
    }

    /* 下载专区图片居中，取消左外边距 */
    .download-image {
        text-align: center;
    }
    .download-image img {
        margin-left: 0;
        max-width: 80%;
        box-shadow: 4px 4px 10px rgba(0,0,0,0.2);
    }
    .download-grid {
        margin: 10px 0;
        gap: 15px;
    }
    .download-item {
        padding: 12px;
    }

    /* 底部二维码缩小 */
    .qr-code {
        width: 100px;
        height: 100px;
    }
    .qr-code img {
        width: 100px;
    }
    .qr-text {
        font-size: 16px;
    }

    /* 下划线位置微调 (配合左侧图标) */
    .theory-section .section-title::after {
        left: 45px;
        width: max(70% - 45px, 20px);
    }
    .culture-section .section-title::after,
    .video-section .section-title::after {
        left: 45px;
        width: max(70% - 45px, 20px);
        bottom: 25px;
    }
    .notice-title::after {
        left: 45px;
        width: calc(100% - 45px);
        bottom: 5px;
    }
}

/* 更小屏幕 (480px以下) 优化 */
@media screen and (max-width: 480px) {
    .theory-section .section-title::after,
    .culture-section .section-title::after,
    .video-section .section-title::after {
        width: max(85% - 36px, 20px);
    }
    .nav-item {
        width: 50%;
        font-size: 14px;
        padding: 8px 3px;
    }
    .banner-title {
        font-size: 16px;
        bottom: 25px;
    }
    .culture-content {
        gap: 15px;
    }
    .culture-card {
        padding: 8px 12px 15px 12px;
    }
    .video-content {
        gap: 15px;
    }
    .download-grid {
        grid-template-columns: 1fr;
    }
    .footer-info p {
        font-size: 13px;
    }
    .qr-code {
        width: 80px;
        height: 80px;
    }
    .qr-code img {
        width: 80px;
    }
}