/**
 * 通用Banner背景样式
 * 使用方式：
 * 1. 引入此CSS文件
 * 2. 在banner容器上添加 class="banner-bg" 
 * 3. 添加主题类名定义颜色，如 class="banner-bg theme-blue"
 * 
 * 可用主题：
 * - theme-blue (默认蓝色)
 * - theme-blue-light (浅蓝色)
 * - theme-red (红色-高优先)
 * - theme-orange (橙色-优先)
 * - theme-pink (粉色-关系)
 * - theme-green (绿色)
 * - theme-purple (紫色)
 */

/* ===== 主题颜色变量定义 ===== */
:root {
    /* 蓝色主题 (默认) */
    --banner-color-start: #1e6fff;
    --banner-color-mid: #3d8bff;
    --banner-color-end: #5ba3ff;
    
    /* 纹理透明度 */
    --texture-opacity: 0.08;
}

/* ===== 基础Banner样式 ===== */
.banner-bg {
    position: relative;
    background: 
        /* 1. 底部边缘高光 */
        linear-gradient(0deg, rgba(255,255,255,0.15) 0%, transparent 25%),
        /* 2. 右下角光晕 */
        radial-gradient(ellipse 60% 45% at 85% 95%, rgba(255,255,255,0.25) 0%, transparent 55%),
        /* 3. 左侧柔和光晕 */
        radial-gradient(ellipse 50% 80% at 5% 40%, rgba(255,255,255,0.12) 0%, transparent 50%),
        /* 4. 顶部深色加深 */
        linear-gradient(180deg, rgba(0,0,0,0.18) 0%, transparent 40%),
        /* 5. 左上角深色区域 */
        radial-gradient(ellipse 80% 70% at -10% -5%, rgba(0,0,0,0.25) 0%, transparent 45%),
        /* 6. 斜向丝绸光带 */
        linear-gradient(315deg, 
            transparent 0%,
            rgba(255,255,255,0.04) 20%,
            rgba(255,255,255,0.12) 45%,
            rgba(255,255,255,0.12) 55%,
            rgba(255,255,255,0.04) 80%,
            transparent 100%
        ),
        /* 7. 主渐变 - 多色过渡（翻转） */
        linear-gradient(330deg, 
            var(--banner-color-start) 0%,
            var(--banner-color-start) 15%,
            var(--banner-color-mid) 40%, 
            var(--banner-color-mid) 60%,
            var(--banner-color-end) 85%,
            var(--banner-color-end) 100%
        );
    overflow: hidden;
}

/* ===== 纹理层 - 几何线条 ===== */
.banner-bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: var(--texture-opacity);
    background-image: 
        /* 斜线网格 */
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 20px,
            rgba(255,255,255,0.5) 20px,
            rgba(255,255,255,0.5) 21px
        ),
        repeating-linear-gradient(
            -45deg,
            transparent,
            transparent 20px,
            rgba(255,255,255,0.3) 20px,
            rgba(255,255,255,0.3) 21px
        );
    pointer-events: none;
    z-index: 1;
}

/* ===== 纹理层 - 右上角柔和光晕 ===== */
.banner-bg::after {
    content: '';
    position: absolute;
    top: -110px;
    right: -130px;
    width: 300px;
    height: 280px;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.1) 40%, transparent 65%);
    pointer-events: none;
    z-index: 1;
}

/* 确保内容在纹理之上 */
.banner-bg > * {
    position: relative;
    z-index: 2;
}

/* ===== 主题颜色预设 ===== */

/* 蓝色主题 (默认) - 深蓝色 */
.banner-bg.theme-blue,
.banner-bg {
    --banner-color-start: #002d80;
    --banner-color-mid: #0052d9;
    --banner-color-end: #2b7de9;
}

/* 浅蓝色主题 */
.banner-bg.theme-blue-light {
    --banner-color-start: #1a6dd9;
    --banner-color-mid: #4087e9;
    --banner-color-end: #6ba8f8;
}

/* 红色主题 - 高优先召回 */
.banner-bg.theme-red {
    --banner-color-start: #991b1b;
    --banner-color-mid: #dc2626;
    --banner-color-end: #ef4444;
}

/* 橙色主题 - 优先召回 */
.banner-bg.theme-orange {
    --banner-color-start: #9a3412;
    --banner-color-mid: #ea580c;
    --banner-color-end: #f97316;
}

/* 粉色主题 - 关系构建 */
.banner-bg.theme-pink {
    --banner-color-start: #9d174d;
    --banner-color-mid: #db2777;
    --banner-color-end: #ec4899;
}

/* 绿色主题 */
.banner-bg.theme-green {
    --banner-color-start: #00796b;
    --banner-color-mid: #00a870;
    --banner-color-end: #4cd964;
}

/* 紫色主题 */
.banner-bg.theme-purple {
    --banner-color-start: #7b1fa2;
    --banner-color-mid: #9c27b0;
    --banner-color-end: #ba68c8;
}

/* 青绿色主题 - 客户回访 */
.banner-bg.theme-teal {
    --banner-color-start: #0f766e;
    --banner-color-mid: #14b8a6;
    --banner-color-end: #2dd4bf;
}

/* 黑金主题 - 客户详情 */
.banner-bg.theme-dark-gold {
    --banner-color-start: #1a1a1a;
    --banner-color-mid: #2a2520;
    --banner-color-end: #1f1c18;
    --texture-opacity: 0.06;
}
.banner-bg.theme-dark-gold::after {
    bottom: 0px;
    right: 0px;
    width: 500px;
    height: 500px;
    background: 
        radial-gradient(ellipse at 60% 70%, rgba(255, 196, 0, 0.25) 0%, transparent 50%),
        linear-gradient(135deg, transparent 0%, rgba(255, 187, 0, 0.15) 30%, rgba(255, 183, 0, 0.2) 60%, transparent 100%);
}

/* 珊瑚粉主题 - 助教详情 */
.banner-bg.theme-coral {
    --banner-color-start: #be4a62;
    --banner-color-mid: #d4617a;
    --banner-color-end: #e8899a;
}

/* ===== 纹理变体 ===== */


/* 艺术波浪纹理 */
.banner-bg.texture-artistic::before {
    background-image: 
        /* 全局柔和渐变 */
        linear-gradient(120deg, 
            rgba(255,255,255,0.15) 0%, 
            transparent 40%,
            rgba(255,255,255,0.05) 70%, 
            rgba(255,255,255,0.12) 100%
        ),
        /* 多层流动曲线 */
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M-20 80 Q30 40 80 80 T180 80 T280 80' fill='none' stroke='rgba(255,255,255,0.12)' stroke-width='1.5'/%3E%3Cpath d='M-20 120 Q40 160 100 120 T220 120' fill='none' stroke='rgba(255,255,255,0.08)' stroke-width='1'/%3E%3Cpath d='M-20 160 Q50 130 110 160 T240 160' fill='none' stroke='rgba(255,255,255,0.06)' stroke-width='1'/%3E%3C/svg%3E");
    background-size: 100% 100%, 200px 150px;
    opacity: 1;
}

/* 丝绸流线纹理 */
.banner-bg.texture-silk::before {
    background-image: 
        /* 丝绸光泽渐变 */
        linear-gradient(135deg, 
            rgba(255,255,255,0.18) 0%, 
            transparent 25%,
            rgba(255,255,255,0.06) 50%,
            transparent 75%, 
            rgba(255,255,255,0.1) 100%
        ),
        /* 优雅的贝塞尔曲线 */
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 200'%3E%3Cpath d='M0 100 C50 50, 100 150, 150 100 S250 50, 300 100' fill='none' stroke='rgba(255,255,255,0.1)' stroke-width='2'/%3E%3Cpath d='M0 140 C60 90, 120 190, 180 140 S280 90, 340 140' fill='none' stroke='rgba(255,255,255,0.07)' stroke-width='1.5'/%3E%3Cpath d='M0 60 C40 30, 90 90, 140 60 S220 30, 280 60' fill='none' stroke='rgba(255,255,255,0.05)' stroke-width='1'/%3E%3C/svg%3E");
    background-size: 100% 100%, 280px 180px;
    opacity: 1;
}

/* Windows 11 Bloom 风格 - 流动丝带效果 */
.banner-bg.texture-aurora::before {
    background-image: 
        /* 流动丝带 SVG */
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 200' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='ribbon1' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='rgba(255,255,255,0.4)'/%3E%3Cstop offset='50%25' stop-color='rgba(255,255,255,0.15)'/%3E%3Cstop offset='100%25' stop-color='rgba(255,255,255,0.3)'/%3E%3C/linearGradient%3E%3ClinearGradient id='ribbon2' x1='0%25' y1='100%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='rgba(0,0,0,0.15)'/%3E%3Cstop offset='50%25' stop-color='rgba(255,255,255,0.2)'/%3E%3Cstop offset='100%25' stop-color='rgba(0,0,0,0.1)'/%3E%3C/linearGradient%3E%3ClinearGradient id='ribbon3' x1='0%25' y1='0%25' x2='100%25' y2='0%25'%3E%3Cstop offset='0%25' stop-color='rgba(255,255,255,0)'/%3E%3Cstop offset='30%25' stop-color='rgba(255,255,255,0.35)'/%3E%3Cstop offset='70%25' stop-color='rgba(255,255,255,0.35)'/%3E%3Cstop offset='100%25' stop-color='rgba(255,255,255,0)'/%3E%3C/linearGradient%3E%3Cfilter id='blur'%3E%3CfeGaussianBlur stdDeviation='2'/%3E%3C/filter%3E%3C/defs%3E%3C!-- 底层丝带 --%3E%3Cpath d='M-50 180 Q80 100 180 140 T350 100 T500 140' fill='none' stroke='url(%23ribbon2)' stroke-width='60' stroke-linecap='round' filter='url(%23blur)'/%3E%3C!-- 中层丝带 --%3E%3Cpath d='M-30 50 Q100 120 200 70 T380 110 T520 60' fill='none' stroke='url(%23ribbon1)' stroke-width='45' stroke-linecap='round'/%3E%3C!-- 顶层高光丝带 --%3E%3Cpath d='M0 120 Q120 60 220 100 T420 70' fill='none' stroke='url(%23ribbon3)' stroke-width='25' stroke-linecap='round'/%3E%3C!-- 光影细节 --%3E%3Cpath d='M50 90 Q150 150 280 90 T450 120' fill='none' stroke='rgba(255,255,255,0.25)' stroke-width='8' stroke-linecap='round'/%3E%3C/svg%3E");
    background-size: 480px 160px;
    background-position: center 40px;
    background-repeat: no-repeat;
    opacity: 0.5;
}

/* 流线纹理 */
.banner-bg.texture-flow::before {
    background-image: 
        repeating-linear-gradient(
            120deg,
            transparent,
            transparent 40px,
            rgba(255,255,255,0.08) 40px,
            rgba(255,255,255,0.08) 80px
        );
    opacity: 1;
}

/* 简约纹理 - 只有光晕无线条 */
.banner-bg.texture-minimal::before {
    background: none;
}

/* ===== 动画效果（可选） ===== */
.banner-bg.animated::before {
    animation: texture-shift 20s linear infinite;
}

@keyframes texture-shift {
    0% {
        background-position: 0 0, 0 0;
    }
    100% {
        background-position: 40px 40px, -40px -40px;
    }
}

