/* 主题颜色变量 */
:root {
    --primary-color: #023894;
    --primary-hover: #034ac3;
}

/* 导航样式 */
.swiper-button-next,
.swiper-button-prev {
    color: #ffffff !important;
}

.swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.5);
}

.swiper-pagination-bullet-active {
    background: #ffffff;
}

/* 主色调应用 */
.text-primary {
    color: var(--primary-color);
}

.bg-primary {
    background-color: var(--primary-color);
}

.hover\:text-primary:hover {
    color: var(--primary-color);
}

.hover\:bg-primary:hover {
    background-color: var(--primary-color);
}

.border-primary {
    border-color: var(--primary-color);
}

/* 链接颜色 */
a:hover {
    color: var(--primary-color);
}

/* 按钮样式 */
.btn-primary {
    background-color: var(--primary-color);
    color: white;
    transition: background-color 0.3s;
}

.btn-primary:hover {
    background-color: var(--primary-hover);
}

/* 二级菜单样式 */
.group:hover .group-hover\:block {
    display: block;
}

.group .group-hover\:block {
    display: none;
}

/* 确保二级菜单显示在其他元素之上 */
.group {
    position: relative;
}

.group .absolute {
    z-index: 50;
}

/* Banner样式 */
.subject-banner {
    width: 100%;
    overflow: hidden;
}

.banner-image {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    height: 400px;
}

/* 图片懒加载样式 */
.lazy-load {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.lazy-load.loaded {
    opacity: 1;
}

/* 图片优化 */
img {
    max-width: 100%;
    height: auto;
}

/* 性能优化 */
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* 响应式优化 */
@media (max-width: 768px) {
    .banner-image {
        height: 300px;
    }
    
    img {
        width: 100%;
        height: auto;
    }
}

/* 动画性能优化 */
.hardware-accelerated {
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
}