@charset "UTF-8";

/* ===================== Banner区域 ===================== */
.banner {
    position: relative;
    height: 540px;
    background: #454C56;
    /* margin-top: 106px; */
    overflow: hidden;
}

.banner-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 540px;
}

.banner-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
}

.banner-content {
    position: relative;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Banner标题 */
.banner-titles {
    text-align: center;
    color: #ffffff;
}

.banner-titles h2 {
    font-size: 60px;
    font-weight: 700;
    line-height: 1.23;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    animation: slideInFromTop 1s ease-out 0.5s both;
}

.banner-titles .subtitle {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 14%;
    margin: 0;
    text-transform: uppercase;
    animation: slideInFromBottom 1s ease-out 0.8s both;
}

@keyframes slideInFromTop {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideInFromBottom {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===================== 文章区域 ===================== */

/* 产品列表 */
.article-list {
    padding: 80px 0;
    overflow: hidden;
    animation: fadeIn 0.8s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.article-list .sidebar {
    float: left;
    width: 250px;
    padding-bottom: 60px;
    background-color: #fff;
    box-shadow: 0px 8px 36.8px 3.2px rgba(0, 0, 7, 0.1);
}

.article-list .sidebar h3 {
    height: 76px;
    line-height: 76px;
    background-color: #475C82;
    width: 100%;
    padding: 0 30px;
    font-size: 20px;
    color: #fff;
    position: relative;
}

.article-list .sidebar ul li h4 {
    height: 84px;
    line-height: 84px;
    font-size: 16px;
    font-weight: 500;
    padding: 0 50px 0 45px; /* 增加右侧padding为箭头留空间 */
    position: relative;
    cursor: pointer;
    overflow: hidden;
    border-bottom: 1px solid #e5e5e5;
    /* 完全移除所有transition */
}

.article-list .sidebar ul li h4 a {
    color: #333333;
    font-size: 16px;
    /* 完全移除所有transition */
}

.article-list .sidebar ul li h4::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 30px;
    margin: auto;
    width: 3px;
    height: 15px;
    background-color: #e5e5e5;
    /* 完全移除所有transition */
}

/* 箭头样式 - 位置完全固定，无任何动画 */
.article-list .sidebar ul li h4::after {
    content: '';
    border: 4px solid transparent;
    border-top: 4px solid #888;
    border-bottom: none;
    position: absolute;
    width: 0;
    height: 0;
    right: 20px; /* 固定位置 */
    top: 50%;
    transform: translateY(-50%) rotateZ(0); /* 折叠状态：向下箭头 */
    /* 完全移除所有transition */
}

/* 悬停和激活状态 - 只改变颜色，位置绝对不变 */
.article-list .sidebar ul li.active h4 a,
.article-list .sidebar ul li h4:hover a {
    color: #1673FF;
}

.article-list .sidebar ul li.active h4::before,
.article-list .sidebar ul li h4:hover::before {
    background-color: #1673FF;
}

/* 悬停时箭头颜色变化，但位置固定 */
.article-list .sidebar ul li.active h4::after,
.article-list .sidebar ul li h4:hover::after {
    border-top-color: #1673FF;
    right: 20px !important; /* 强制固定位置 */
    top: 50% !important;
    transform: translateY(-50%) rotateZ(0) !important; /* 保持折叠状态向下箭头 */
}

/* 展开状态 - 箭头旋转为向上，但位置固定 */
.article-list .sidebar ul li.active h4::after {
    border-top-color: #1673FF;
    right: 20px !important; /* 强制固定位置 */
    top: 50% !important;
    transform: translateY(-50%) rotateZ(180deg) !important; /* 展开状态：向上箭头 */
}

/* 优化二级菜单折叠区域在导航内部 */
.article-list .sidebar ul li .pro-second {
    background: #fff;
    margin: 0; /* 不要有外边距 */
    padding: 0 0 12px 45px; /* 左侧缩进与一级对齐 */
    border: none;
    box-shadow: none;
    position: static;
    width: auto;
    border-top: 1px solid #f0f0f0;
    border-bottom: 1px solid #e5e5e5; /* 子菜单底部边框 */
}

/* 有子菜单且展开的导航项，移除自身底部边框，避免重复 */
.article-list .sidebar ul li:not(.no-children).active h4 {
    border-bottom: none;
}

/* 有子菜单但未展开的导航项，保持底部边框 */
.article-list .sidebar ul li:not(.no-children):not(.active) h4 {
    border-bottom: 1px solid #e5e5e5;
}

.article-list .sidebar ul li {
    overflow: visible;
}
.article-list .sidebar ul li .pro-second h6 {
    padding-left: 0;
    margin-left: 0;
    line-height: 30px;
    height: 30px;
}

.article-list .sidebar ul li .pro-second .pro-third {
    line-height: 30px;
    height: 30px;
    margin: 0 20px;
}

.article-list .sidebar ul li .pro-second h6 a,
.article-list .sidebar ul li .pro-second .pro-third a {
    font-size: 14px;
    color: #999999;
    font-weight: normal;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    position: relative;
    display: block;
    padding-left: 12px;
}

.article-list .sidebar ul li .pro-second h6 a::before,
.article-list .sidebar ul li .pro-second .pro-third a::before {
    content: '';
    width: 8px;
    height: 2px;
    background: #666;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    -ms-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
}

.article-list .sidebar ul li .pro-second h6.active a,
.article-list .sidebar ul li .pro-second h6 a:hover,
.article-list .sidebar ul li .pro-second .pro-third.active a,
.article-list .sidebar ul li .pro-second .pro-third a:hover {
    color: #1673FF;
}

.article-list .sidebar ul li .pro-second h6.active a::before,
.article-list .sidebar ul li .pro-second h6 a:hover::before,
.article-list .sidebar ul li .pro-second .pro-third.active a::before,
.article-list .sidebar ul li .pro-second .pro-third a:hover::before {
    background: #1673FF;
}
/* 没有子导航的项目不显示折叠按钮 */
.article-list .sidebar ul li.no-children h4::after {
    display: none;
}

/* 没有子导航的项目不需要指针样式 */
.article-list .sidebar ul li.no-children h4 {
    cursor: default;
}

/* 新闻内容区域 */
.news-content {
    float: left;
    width: calc(100% - 280px);
    padding-left: 60px;
    margin-left: 10px;
    background: #fff;
    /* min-height: 600px; */
}

/* 面包屑导航样式 */
.breadcrumb {
    padding: 30px 0 20px 0;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
}

.breadcrumb::before {
    content: '';
    width: 4px;
    height: 40px;
    background: #1673FF;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    animation: expandWidth 0.8s ease-out 1s both;
}

@keyframes expandWidth {
    from {
        width: 0;
    }
    to {
        width: 4px;
    }
}

.current-category {
    font-size: 28px;
    font-weight: 600;
    color: #333;
    margin-left: 20px;
    line-height: 1.2;
}

.divider {
    margin: 0 15px;
    color: #ccc;
    font-size: 24px;
}

.section-subtitle {
    font-size: 16px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* 新闻列表容器 */
.news-container {
    margin-bottom: 40px;
}

/* 新闻链接样式 */
.news-link {
    display: block;
    text-decoration: none;
    color: inherit;
    margin-bottom: 10px;
    transition: all 0.3s ease;
}

.news-link:hover {
    color: inherit;
    text-decoration: none;
}

/* 新闻项样式 */
.news-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
    border-bottom: 1px solid #f0f0f0;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    transform: translateY(0);
}

.news-item::before {
    content: '•';
    color: #1673FF;
    font-size: 16px;
    font-weight: bold;
    margin-right: 15px;
    line-height: 1;
}

.news-link:hover .news-item {
    background-color: #f8f9fa;
    padding: 20px 15px;
    margin: 0 -15px;
    border-radius: 4px;
    border-bottom: 1px solid transparent;
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

/* 新闻信息部分 */
.news-info {
    flex: 1;
    padding-left: 0;
}

.news-title {
    font-size: 16px;
    font-weight: 400;
    color: #333;
    line-height: 1.6;
    margin: 0;
    transition: color 0.3s ease;
}

.news-link:hover .news-title {
    color: #1673FF;
}

/* 新闻日期部分 */
.news-date {
    text-align: right;
    color: #999;
    font-size: 14px;
    min-width: 80px;
    margin-left: 20px;
    line-height: 1.2;
}

.news-date .date {
    display: block;
    font-weight: 500;
    font-size: 16px;
    color: #666;
}

.news-date .year {
    display: block;
    font-size: 12px;
    margin-top: 2px;
    color: #999;
}

/* 响应式调整 */
@media (max-width: 768px) {
    .news-content {
        width: 100%;
        margin-left: 0;
        margin-top: 20px;
    }
    
    .current-category {
        font-size: 24px;
    }
    
    .news-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .news-date {
        margin-left: 0;
        text-align: left;
    }
    
    .banner-titles h2,
    .banner-titles .subtitle {
        animation-duration: 0.6s;
    }
    
    .news-link:hover .news-item {
        transform: translateY(-2px);
    }
}

/* ===================== 动画效果 ===================== */

/* 加载动画 */
.loading-animation {
    position: relative;
    overflow: hidden;
}

.loading-animation::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

/* 滚动触发动画 */
.scroll-fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}

.scroll-fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* 打字机效果 */
.typewriter {
    overflow: hidden;
    border-right: 0.15em solid #1673FF;
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: 0.15em;
    animation: typing 2s steps(40, end), blink-caret 0.75s step-end infinite;
}

@keyframes typing {
    from {
        width: 0;
    }
    to {
        width: 100%;
    }
}

@keyframes blink-caret {
    from, to {
        border-color: transparent;
    }
    50% {
        border-color: #1673FF;
    }
}

/* 脉冲动画 */
.pulse {
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
    100% {
        transform: scale(1);
    }
}

/* 渐入渐出动画 */
.fade-in-up {
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease-out forwards;
}

@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 边框展开动画 */
.border-expand {
    position: relative;
    overflow: hidden;
}

.border-expand::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #1673FF;
    transition: width 0.3s ease;
}

.border-expand:hover::after {
    width: 100%;
}

/* ===================== 完整响应式设计 ===================== */

/* 768px以下 - 平板 */
@media (max-width: 768px) {
    /* Banner区域调整 */
    .banner {
        height: 400px;
    }
    
    .banner-image {
        height: 400px;
    }
    
    .banner-titles h2 {
        font-size: 48px;
        margin-bottom: 8px;
    }
    
    .banner-titles .subtitle {
        font-size: 32px;
    }
    
    /* 文章列表布局调整 */
    .article-list {
        padding: 60px 0;
    }
    
    .article-list .container {
        padding: 0 20px;
    }
    
    /* 侧边栏调整 */
    .article-list .sidebar {
        float: none;
        width: 100%;
        margin-bottom: 30px;
        padding-bottom: 0;
    }
    
    .article-list .sidebar h3 {
        font-size: 18px;
        height: 60px;
        line-height: 60px;
        padding: 0 20px;
    }
    
    .article-list .sidebar ul li h4 {
        height: 70px;
        line-height: 70px;
        font-size: 15px;
        padding: 0 40px 0 35px;
    }
    
    .article-list .sidebar ul li h4::before {
        left: 20px;
        height: 12px;
    }
    
    .article-list .sidebar ul li h4::after {
        right: 15px;
    }
    
    .article-list .sidebar ul li .pro-second {
        padding: 0 0 10px 35px;
    }
    
    .article-list .sidebar ul li .pro-second h6,
    .article-list .sidebar ul li .pro-second .pro-third {
        line-height: 28px;
        height: 28px;
    }
    
    .article-list .sidebar ul li .pro-second h6 a,
    .article-list .sidebar ul li .pro-second .pro-third a {
        font-size: 13px;
        padding-left: 10px;
    }
    
    /* 内容区域调整 */
    .news-content {
        float: none;
        width: 100%;
        padding-left: 0;
        margin-left: 0;
    }
    
    .breadcrumb {
        padding: 25px 0 15px 0;
    }
    
    .current-category {
        font-size: 24px;
        margin-left: 15px;
    }
    
    .section-subtitle {
        font-size: 14px;
    }
    
    .news-item {
        padding: 25px 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .news-title {
        font-size: 15px;
        line-height: 1.5;
    }
    
    .news-date {
        margin-left: 0;
        text-align: left;
        min-width: auto;
    }
    
    .news-date .date {
        font-size: 14px;
    }
}

/* 480px以下 - 手机 */
@media (max-width: 480px) {
    /* Banner区域调整 */
    .banner {
        height: 300px;
    }
    
    .banner-image {
        height: 300px;
    }
    
    .banner-titles h2 {
        font-size: 36px;
        margin-bottom: 6px;
    }
    
    .banner-titles .subtitle {
        font-size: 24px;
    }
    
    /* 文章列表调整 */
    .article-list {
        padding: 40px 0;
    }
    
    .article-list .container {
        padding: 0 15px;
    }
    
    /* 侧边栏调整 */
    .article-list .sidebar {
        margin-bottom: 25px;
        border-radius: 8px;
        overflow: hidden;
    }
    
    .article-list .sidebar h3 {
        font-size: 16px;
        height: 50px;
        line-height: 50px;
        padding: 0 15px;
    }
    
    .article-list .sidebar ul li h4 {
        height: 60px;
        line-height: 60px;
        font-size: 14px;
        padding: 0 35px 0 25px;
    }
    
    .article-list .sidebar ul li h4::before {
        left: 15px;
        height: 10px;
        width: 2px;
    }
    
    .article-list .sidebar ul li h4::after {
        right: 12px;
        border-width: 3px;
        border-top-width: 3px;
    }
    
    .article-list .sidebar ul li .pro-second {
        padding: 0 0 8px 25px;
    }
    
    .article-list .sidebar ul li .pro-second h6,
    .article-list .sidebar ul li .pro-second .pro-third {
        line-height: 26px;
        height: 26px;
    }
    
    .article-list .sidebar ul li .pro-second h6 a,
    .article-list .sidebar ul li .pro-second .pro-third a {
        font-size: 12px;
        padding-left: 8px;
    }
    
    .article-list .sidebar ul li .pro-second h6 a::before,
    .article-list .sidebar ul li .pro-second .pro-third a::before {
        width: 6px;
        height: 1px;
    }
    
    /* 面包屑调整 */
    .breadcrumb {
        padding: 20px 0 12px 0;
    }
    
    .current-category {
        font-size: 20px;
        margin-left: 12px;
    }
    
    .divider {
        margin: 0 10px;
        font-size: 20px;
    }
    
    .section-subtitle {
        font-size: 12px;
    }
    
    /* 新闻列表调整 */
    .news-item {
        padding: 20px 0;
    }
    
    .news-item::before {
        font-size: 14px;
        margin-right: 10px;
    }
    
    .news-title {
        font-size: 14px;
        line-height: 1.4;
    }
    
    .news-date .date {
        font-size: 13px;
    }
    
    .news-link:hover .news-item {
        padding: 15px 10px;
        margin: 0 -10px;
        transform: translateY(-1px);
    }
}

/* 360px以下 - 超小屏幕 */
@media (max-width: 360px) {
    /* Banner区域调整 */
    .banner {
        height: 250px;
    }
    
    .banner-image {
        height: 250px;
    }
    
    .banner-titles h2 {
        font-size: 28px;
        margin-bottom: 4px;
    }
    
    .banner-titles .subtitle {
        font-size: 18px;
    }
    
    /* 文章列表调整 */
    .article-list {
        padding: 30px 0;
    }
    
    .article-list .container {
        padding: 0 10px;
    }
    
    /* 侧边栏调整 */
    .article-list .sidebar h3 {
        font-size: 15px;
        height: 45px;
        line-height: 45px;
        padding: 0 12px;
    }
    
    .article-list .sidebar ul li h4 {
        height: 55px;
        line-height: 55px;
        font-size: 13px;
        padding: 0 30px 0 20px;
    }
    
    .article-list .sidebar ul li h4::before {
        left: 12px;
        height: 8px;
    }
    
    .article-list .sidebar ul li h4::after {
        right: 10px;
    }
    
    .article-list .sidebar ul li .pro-second {
        padding: 0 0 6px 20px;
    }
    
    .article-list .sidebar ul li .pro-second h6,
    .article-list .sidebar ul li .pro-second .pro-third {
        line-height: 24px;
        height: 24px;
    }
    
    .article-list .sidebar ul li .pro-second h6 a,
    .article-list .sidebar ul li .pro-second .pro-third a {
        font-size: 11px;
        padding-left: 6px;
    }
    
    /* 面包屑调整 */
    .breadcrumb {
        padding: 15px 0 10px 0;
    }
    
    .breadcrumb::before {
        height: 30px;
        width: 3px;
    }
    
    .current-category {
        font-size: 18px;
        margin-left: 10px;
    }
    
    .divider {
        margin: 0 8px;
        font-size: 18px;
    }
    
    .section-subtitle {
        font-size: 11px;
    }
    
    /* 新闻列表调整 */
    .news-item {
        padding: 18px 0;
    }
    
    .news-item::before {
        font-size: 12px;
        margin-right: 8px;
    }
    
    .news-title {
        font-size: 13px;
        line-height: 1.3;
    }
    
    .news-date .date {
        font-size: 12px;
    }
    
    .news-link:hover .news-item {
        padding: 12px 8px;
        margin: 0 -8px;
        transform: none;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    }
}

/* 横屏模式优化 */
@media (max-width: 768px) and (orientation: landscape) {
    .banner {
        height: 350px;
    }
    
    .banner-image {
        height: 350px;
    }
    
    .banner-titles h2 {
        font-size: 40px;
    }
    
    .banner-titles .subtitle {
        font-size: 28px;
    }
    
    .article-list {
        padding: 50px 0;
    }
}
