/* ===== Banner Base — 蓝色科技数据流风格（共享） =====
 *
 * 使用方法：
 * 1. 在 HTML head 中引入此文件：<link href="assets/css/banner-base.css" rel="stylesheet">
 * 2. 在页面专属 CSS 中设置背景变量：
 *    .sci-banner { --banner-color: #05080e; --banner-bg: url('../img/xxx/xxx_banner.jpg'); }
 * 3. 子页面（product/ 文件夹）路径示例：
 *    .sci-banner { --banner-color: #05080e; --banner-bg: url('../../img/xxx/xxx_banner.jpg'); }
 *
 * 类名对照表（旧 → 新）：
 *   xxx-banner         → sci-banner
 *   xxx-banner::before → sci-banner::before
 *   xxx-banner-grid    → sci-banner-grid
 *   xxx-banner-glow-secondary → sci-banner-glow-secondary
 *   xxx-banner-glow-blue     → sci-banner-glow-blue
 *   xxx-banner-light-top     → sci-banner-light-top
 *   xxx-banner-bottom-fade   → sci-banner-bottom-fade
 *   xxx-banner-orbits        → sci-banner-orbits
 *   xxx-banner-particles     → sci-banner-particles
 *   xxx-banner-particle      → sci-banner-particle
 *   xxx-banner-connections   → sci-banner-connections
 *   xxx-banner-content       → sci-banner-content
 *   xxx-banner-breadcrumb    → sci-banner-breadcrumb
 *   xxx-banner-sep           → sci-banner-sep
 *   xxx-banner-current       → sci-banner-current
 *   xxx-banner-title         → sci-banner-title
 *   xxx-banner-title-accent  → sci-banner-title-accent
 *   xxx-banner-subtitle      → sci-banner-subtitle
 *   xxx-banner-line          → sci-banner-line
 * ===== */

#main { margin-top: 0 !important; }

/* ── Banner 容器 ── */
.sci-banner {
    --banner-color: #05080e;
    --banner-bg: none;
    position: relative;
    height: 380px;
    display: flex;
    align-items: center;
    overflow: hidden;
    z-index: 0;
    background: var(--banner-color) var(--banner-bg) center center / cover no-repeat;
}

/* ── Layer 1: 图片上方暗色遮罩，增强文字可读性 ── */
.sci-banner::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        /* 左侧暗色渐变遮罩，确保左侧文字清晰 */
        linear-gradient(90deg, rgba(5,8,14,0.55) 0%, rgba(5,8,14,0.25) 35%, rgba(5,8,14,0.05) 55%, transparent 75%),
        /* 底部暗色渐变，与下方内容区自然过渡 */
        linear-gradient(180deg, transparent 60%, rgba(5,8,14,0.25) 85%, rgba(5,8,14,0.45) 100%);
    z-index: 0;
}

/* ── Layer 2: 网格纹理 ── */
.sci-banner-grid {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
        radial-gradient(circle 1px, rgba(255, 180, 100, 0.10) 0.6px, transparent 0.6px);
    background-size: 48px 48px;
    mask-image: linear-gradient(135deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 75%);
    -webkit-mask-image: linear-gradient(135deg, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 75%);
}

/* ── Layer 3: 右侧暖色光晕 ── */
.sci-banner-glow-secondary {
    position: absolute;
    width: 55%;
    height: 140%;
    top: -20%;
    right: -10%;
    background: radial-gradient(ellipse at 50% 40%,
        rgba(255, 150, 40, 0.12) 0%,
        rgba(255, 120, 20, 0.06) 35%,
        transparent 65%);
    z-index: 1;
    pointer-events: none;
}

/* ── Layer 3.5: 左侧暖棕辅光 ── */
.sci-banner-glow-blue {
    position: absolute;
    width: 35%;
    height: 100%;
    top: 0;
    left: -5%;
    background: radial-gradient(ellipse at 60% 60%,
        rgba(120, 60, 20, 0.12) 0%,
        rgba(80, 40, 10, 0.05) 45%,
        transparent 70%);
    z-index: 1;
    pointer-events: none;
}

/* ── Layer 4: 顶部暖色光线 ── */
.sci-banner-light-top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(255, 150, 40, 0.25) 10%,
        rgba(255, 190, 90, 0.6) 30%,
        rgba(255, 220, 140, 0.85) 50%,
        rgba(255, 180, 70, 0.5) 70%,
        rgba(255, 140, 40, 0.2) 85%,
        transparent 100%);
    z-index: 5;
    pointer-events: none;
    box-shadow: 0 0 20px rgba(255, 180, 80, 0.25), 0 0 60px rgba(255, 160, 60, 0.08);
}

/* ── Layer 5: 底部柔和过渡（已禁用，图片自带过渡效果） ── */
.sci-banner-bottom-fade {
    display: none;
}

/* ── Layer 6: 右侧几何网络 SVG ── */
.sci-banner-orbits {
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    z-index: 2;
    pointer-events: none;
    opacity: 0.6;
}
.sci-banner-orbits svg {
    width: 320px;
    height: 320px;
}

/* ── Layer 7: 多彩浮动粒子 ── */
.sci-banner-particles {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
}
.sci-banner-particle {
    position: absolute;
    border-radius: 50%;
}
/* 粒子 1 - 暖橙大光 */
.sci-banner-particle:nth-child(1) {
    width: 5px; height: 5px; top: 18%; right: 25%;
    background: rgba(255, 190, 100, 0.9);
    box-shadow: 0 0 18px 6px rgba(255, 190, 100, 0.45), 0 0 50px 15px rgba(255, 160, 60, 0.12);
    animation: sci-pulse-gold 4s ease-in-out infinite 0s;
}
/* 粒子 2 - 暖金 */
.sci-banner-particle:nth-child(2) {
    width: 3px; height: 3px; top: 55%; right: 42%;
    background: rgba(255, 200, 120, 0.8);
    box-shadow: 0 0 12px 4px rgba(255, 200, 120, 0.35);
    animation: sci-pulse-blue 5s ease-in-out infinite -1.5s;
}
/* 粒子 3 - 暖金小 */
.sci-banner-particle:nth-child(3) {
    width: 3px; height: 3px; top: 70%; right: 20%;
    background: rgba(255, 170, 60, 0.75);
    box-shadow: 0 0 10px 3px rgba(255, 170, 60, 0.3);
    animation: sci-pulse-gold 6s ease-in-out infinite -2.5s;
}
/* 粒子 4 - 淡金 */
.sci-banner-particle:nth-child(4) {
    width: 3px; height: 3px; top: 30%; right: 50%;
    background: rgba(255, 210, 140, 0.7);
    box-shadow: 0 0 10px 4px rgba(255, 210, 140, 0.28);
    animation: sci-pulse-blue 4.5s ease-in-out infinite -0.8s;
}
/* 粒子 5 - 暖光大 */
.sci-banner-particle:nth-child(5) {
    width: 6px; height: 6px; top: 12%; right: 15%;
    background: rgba(255, 180, 80, 0.65);
    box-shadow: 0 0 24px 8px rgba(255, 180, 80, 0.25), 0 0 60px 18px rgba(255, 160, 60, 0.06);
    animation: sci-pulse-gold 7s ease-in-out infinite -3s;
}
/* 粒子 6 - 浅暖 */
.sci-banner-particle:nth-child(6) {
    width: 2px; height: 2px; top: 80%; right: 55%;
    background: rgba(255, 200, 100, 0.65);
    box-shadow: 0 0 8px 3px rgba(255, 200, 100, 0.25);
    animation: sci-pulse-blue 5.5s ease-in-out infinite -2s;
}

/* 粒子间连接线 */
.sci-banner-connections {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
}
.sci-banner-connections::before,
.sci-banner-connections::after {
    content: '';
    position: absolute;
    height: 1px;
}
.sci-banner-connections::before {
    width: 200px; top: 25%; right: 15%;
    transform: rotate(-8deg);
    background: linear-gradient(90deg, transparent, rgba(255, 170, 70, 0.12), transparent);
}
.sci-banner-connections::after {
    width: 160px; top: 60%; right: 30%;
    transform: rotate(5deg);
    background: linear-gradient(90deg, transparent, rgba(255, 190, 100, 0.10), transparent);
}

/* ── Keyframes ── */
@keyframes sci-pulse-gold {
    0%, 100% { opacity: 0.45; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.8); }
}
@keyframes sci-pulse-blue {
    0%, 100% { opacity: 0.4; transform: scale(1); }
    50% { opacity: 0.9; transform: scale(1.5); }
}
@keyframes sci-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

/* ── Banner 内容区 ── */
.sci-banner-content {
    position: relative;
    z-index: 10;
    text-align: left;
    padding: 100px 0 50px;
}

/* 面包屑 */
.sci-banner-breadcrumb {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    font-size: 13px;
    letter-spacing: 1.2px;
}
.sci-banner-breadcrumb a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    transition: color 0.3s;
}
.sci-banner-breadcrumb a:hover { color: #ffffff; }
.sci-banner-sep { color: rgba(255, 255, 255, 0.4); }
.sci-banner-current { color: #FF9500; }

/* 标题 */
.sci-banner-title {
    font-size: 46px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 16px;
    line-height: 1.15;
    letter-spacing: -0.02em;
}
.sci-banner-title-accent {
    color: #FF9500;
}

/* 副标题 */
.sci-banner-subtitle {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0 0 30px;
    max-width: 500px;
    line-height: 1.8;
    font-weight: 300;
    letter-spacing: 0.3px;
}

/* 装饰线 */
.sci-banner-line {
    width: 50px;
    height: 2px;
    margin: 0;
    background: linear-gradient(90deg, rgba(255, 170, 60, 0.85), rgba(255, 170, 60, 0.15));
    border-radius: 2px;
    box-shadow: 0 0 12px rgba(255, 170, 60, 0.2);
}

/* ── Banner Responsive ── */
@media (max-width: 991px) {
    .sci-banner { height: 340px; }
    .sci-banner-content { padding: 90px 20px 40px; }
    .sci-banner-title { font-size: 36px; }
    .sci-banner-subtitle { font-size: 15px; max-width: 400px; }
    .sci-banner-orbits { opacity: 0.35; right: 0; }
    .sci-banner-orbits svg { width: 220px; height: 220px; }
    .sci-banner-glow-secondary { width: 50%; }
    .sci-banner-glow-blue { width: 30%; }
}

@media (max-width: 767px) {
    .sci-banner { height: 280px; }
    .sci-banner-content { padding: 80px 20px 36px; }
    .sci-banner-title { font-size: 28px; }
    .sci-banner-subtitle { font-size: 13px; line-height: 1.6; max-width: 300px; }
    .sci-banner-orbits,
    .sci-banner-particles,
    .sci-banner-connections,
    .sci-banner-glow-blue { display: none; }
}

