/* 使用全局主題變量 */

/* Banner 主容器 */
.modern-banner {
    position: relative;
    width: 100%;
    height: 256px;
    min-height: 256px;
    background: linear-gradient(135deg, #1a1a1a 0%, #2d1b3d 50%, #1a1a1a 100%) !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    /* 防止布局抖动 */
    contain: layout style paint;
}

/* Banner 背景圖案 */
.modern-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('/static/musica/images/banner-pattern.png') repeat;
    opacity: 0.1;
    animation: moveBackground 20s linear infinite;
}

/* Banner 內容區域 */
.modern-banner-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Banner 標題 */
.modern-banner-title {
    font-size: 2.8rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    /* 取消动画，避免布局抖动 */
}

/* Banner 副標題 */
.modern-banner-subtitle {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 2rem;
    /* 取消动画，避免布局抖动 */
}

/* Banner 麵包屑導航 */
.modern-banner-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    /* 取消动画，避免布局抖动 */
}

.modern-banner-breadcrumb a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: color var(--transition-normal) ease;
    font-size: 1rem;
}

.modern-banner-breadcrumb a:hover {
    color: #ffffff;
}

.modern-banner-breadcrumb .separator {
    color: rgba(255, 255, 255, 0.6);
}

/* Banner 底部波浪效果 */
.modern-banner-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background: url('/static/musica/images/wave.svg') repeat-x;
    animation: waveAnimation 10s linear infinite;
}

/* 波浪動畫 */
@keyframes waveAnimation {
    from { background-position-x: 0; }
    to { background-position-x: 1000px; }
}

@keyframes moveBackground {
    from { background-position: 0 0; }
    to { background-position: 100% 100%; }
}

/* 优化动画，减少布局抖动 - 使用较小的位移值 */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -20px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 20px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* 響應式設計 */
@media (max-width: 768px) {
    .modern-banner {
        height: 192px;
    }

    .modern-banner-title {
        font-size: 2.5rem;
    }

    .modern-banner-subtitle {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .modern-banner {
        height: 160px;
    }

    .modern-banner-title {
        font-size: 2rem;
    }

    .modern-banner-breadcrumb {
        flex-wrap: wrap;
    }
}