﻿/* ==================== hnla.css ==================== */

body, button, input, select, textarea {
    font-family: 'Microsoft YaHei', '微软雅黑', 'PingFang SC', 'Noto Sans SC', -apple-system, sans-serif;
}

:root {
    --hnla-skyline: url('../assets/images/hainan-skyline.png'); /* 默认兜底 */
    --gov-blue: #4d9ffa;
    --gov-dark: #0d3b6b;
    --gov-light: #6bb3fb;
    --gold-light: #a8d4ff;
    --accent-cyan: #26c6da;
    --text-dark: #0d3b6b;
    --text-light: #5a7a9e;
    --border: #dbe9f8;
}

/* ==================== 页面主包装 ==================== */
.main-wrapper {
    margin-top: 72px;
}

/* ==================== 页面 Banner ==================== */
.page-banner {
    position: relative;
    background: #ffffff;
    overflow: hidden;
    min-height: 400px;
    display: flex;
    align-items: center;
    padding: 60px 60px 50px;
}


/* 天际线背景图（贴顶） */
.page-banner::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 400px;
    background-image: var(--hnla-skyline);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    z-index: 0;
    pointer-events: none;
}

/* 底部白色渐变，衔接正文 */
.page-banner::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100px;
    background: linear-gradient(0deg, #ffffff 0%, rgba(255,255,255,0.92) 55%, rgba(255,255,255,0) 100%);
    z-index: 1;
    pointer-events: none;
}

/* Banner 内容区域 */
.page-banner-content {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin: 0 auto;
    text-align: left;
    padding-top: 40px;
    width: 100%;
}

/* Banner 标签（可选） */
.page-banner .banner-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 16px;
    background: rgba(77,159,250,0.12);
    border: 1px solid rgba(77,159,250,0.35);
    color: #4d9ffa;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 12px;
    letter-spacing: 1px;
    border-radius: 999px;
}

/* 主标题 */
.page-banner h1 {
    font-size: 38px;
    font-weight: 700;
    color: #0d3b6b;
    margin-bottom: 8px;
    /* 用 drop-shadow 而不是 text-shadow，避免遮挡渐变文字本身的颜色 */
    filter:
            drop-shadow(0 1px 2px rgba(255, 255, 255, 0.95))
            drop-shadow(0 2px 8px rgba(255, 255, 255, 0.85));
}

/* 标题渐变文字 */
.page-banner h1 span {
    background: linear-gradient(90deg, #4d9ffa, #26c6da);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* 英文副标题 */
.page-banner .banner-title-en {
    font-size: 14px;
    font-weight: 400;
    color: #5a7a9e;
    letter-spacing: 2px;
    text-transform: uppercase;
    line-height: 1.4;
    margin-bottom: 14px;
    display: block;
    /* 文字阴影：让英文副标题在图片背景上更清晰 */
    text-shadow:
            0 1px 0 rgba(255, 255, 255, 0.95),
            0 2px 8px rgba(255, 255, 255, 0.85);
}

/* 中文描述 */
.page-banner .banner-sub {
    font-size: 16px;
    color: #5a7a9e;
    max-width: 700px;
    line-height: 1.8;
}

/* ==================== 内容容器（通用） ==================== */
.content-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 60px 60px;
}


/* ==================== 面包屑 ==================== */
.page-breadcrumb {
    background: white;
    border-bottom: 1px solid var(--border);
    padding: 12px 60px;
}

.page-breadcrumb-inner {
    max-width: 1200px;
    margin: 0 auto;
    font-size: 13px;
    color: var(--text-light);
}

.page-breadcrumb a {
    color: var(--text-dark);
    text-decoration: none;
    transition: color 0.2s;
}

.page-breadcrumb a:hover { color: var(--gov-blue); }

.page-breadcrumb .separator { margin: 0 8px; }
.page-breadcrumb .current { color: var(--gov-blue); }



/* ==================== 响应式 ==================== */
@media (max-width: 768px) {
    .page-banner {
        padding: 30px 20px;
        min-height: 260px;
    }
    .page-banner::before {
        height: 220px;
    }
    .page-banner::after {
        height: 150px;
    }
    .page-banner-content {
        padding-top: 30px;
    }
    .page-banner h1 {
        font-size: 26px;
    }
    .page-banner .banner-title-en {
        font-size: 12px;
        letter-spacing: 1px;
    }
    .page-banner .banner-sub {
        font-size: 14px;
    }
    .content-container {
        padding: 20px 16px 40px;
    }

    .page-breadcrumb { padding: 10px 20px; }

}

@media (max-width: 480px) {
    .page-banner {
        min-height: 220px;
        padding: 24px 16px;
    }
    .page-banner::before {
        height: 180px;
    }
    .page-banner::after {
        height: 120px;
    }
    .page-banner-content {
        padding-top: 24px;
    }
    .page-banner h1 {
        font-size: 22px;
    }
    .page-banner .banner-title-en {
        font-size: 11px;
        letter-spacing: 0.5px;
    }
}