@charset "UTF-8";

/* ===================== 全局 ===================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    min-height: 100%;
    background: #f6f7fb;
    color: #333;
    font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Helvetica, Arial, sans-serif;
    display: flex;
    flex-direction: column;
}

a {
    color: #5b4bcc;
    text-decoration: none;
    transition: color .2s ease;
}

a:hover {
    color: #302460;
}

.layui-container {
    max-width: 1200px;
}

.layui-input:focus,
.layui-textarea:focus {
    border-color: #6a5ae0 !important;
}

/* ===================== 顶部（滚动时导航条悬浮固定） ===================== */
.site-header {
    position: sticky;
    top: -67px;
    z-index: 999;
}

.site-topbar {
    background: #ffffff;
    border-bottom: 1px solid #f0f0f5;
}

.topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 66px;
    gap: 16px;
}

.site-logo {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.site-logo .logo-img {
    max-height: 40px;
    width: auto;
    display: block;
}

.site-logo .logo-mark {
    display: inline-flex;
    align-items: center;
}

.site-logo .logo-text {
    font-size: 22px;
    font-weight: 700;
    color: #23204d;
    letter-spacing: 1px;
    white-space: nowrap;
}

.site-promo {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}

.site-promo .promo-text {
    font-size: 13px;
    color: #4a4668;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===================== 紫色导航 ===================== */
.site-navbar {
    background: #3F3769;
    position: relative;
}

.navbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 52px;
    position: relative;
}

.nav-menu {
    list-style: none;
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
    padding: 0;
    gap: 6px;
}

.nav-item {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-item > a {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    height: 100%;
    padding: 0 18px;
    color: rgba(255, 255, 255, .82);
    font-size: 15px;
    position: relative;
    white-space: nowrap;
}

.nav-item > a .nav-arrow {
    font-size: 14px;
    transition: transform .2s ease;
}

.nav-item:hover > a,
.nav-item.active > a {
    color: #ffffff;
}

.nav-item > a::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 6px;
    width: 0;
    height: 3px;
    border-radius: 2px;
    background: #00d68f;
    transform: translateX(-50%);
    transition: width .25s ease;
}

.nav-item:hover > a::after,
.nav-item.active > a::after {
    width: 22px;
}

.nav-item:hover .nav-arrow {
    transform: rotate(180deg);
}

/* 下拉子菜单 */
.nav-sub {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(6px);
    min-width: 130px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(20, 16, 60, .18);
    list-style: none;
    padding: 6px;
    opacity: 0;
    visibility: hidden;
    transition: all .22s ease;
    z-index: 60;
}

.nav-sub::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 0;
    right: 0;
    height: 6px;
}

.nav-item:hover .nav-sub {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.nav-sub li a {
    display: block;
    padding: 8px 14px;
    font-size: 14px;
    color: #4a4668;
    border-radius: 6px;
    white-space: nowrap;
}

.nav-sub li a:hover {
    background: #f3f1fb;
    color: #302460;
}

/* 登录注册 */
.nav-user {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    margin-left: 16px;
}

.nav-user .nav-login,
.nav-user .nav-register {
    display: inline-block;
    padding: 7px 22px;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1.2;
}

.nav-user .nav-login {
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, .55);
}

.nav-user .nav-login:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.nav-user .nav-register {
    background: #00d68f;
    color: #04301f;
    font-weight: 600;
}

.nav-user .nav-register:hover {
    background: #2be6a6;
    color: #04301f;
}

.nav-user .login-divider {
    width: 1px;
    height: 16px;
    background: rgba(255, 255, 255, .35);
    display: none;
}

.nav-user .user-avatar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}

.nav-user .user-avatar img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, .4);
}

.nav-user .user-logout {
    color: rgba(255, 255, 255, .8);
    font-size: 13px;
}

.nav-user .user-logout:hover {
    color: #fff;
}

/* 移动端菜单按钮 */
.nav-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 38px;
    height: 38px;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .4);
    border-radius: 8px;
    cursor: pointer;
    padding: 0 9px;
}

.nav-toggle span {
    display: block;
    height: 2px;
    background: #fff;
    border-radius: 2px;
}

/* ===================== 主体 ===================== */
.site-main {
    flex-grow: 1;
}

/* layui 栅格负边距在窄屏会造成横向滚动，统一归零 */
.site-main .layui-row.layui-col-space16 {
    margin: 0;
}

/* ===================== 主视觉 ===================== */
.home-hero {
    position: relative;
    background: linear-gradient(180deg, #020a24 0%, #0a163c 18%, #16255c 36%, #2c3d8c 52%, #4c57ae 68%, #7a74c6 84%, #a89cd8 100%);
    overflow: hidden;
    padding-top: 56px;
    min-height: calc(100vh - 119px);
}

.hero-bg .orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    pointer-events: none;
}

.hero-bg .orb-1 {
    width: 420px;
    height: 420px;
    right: -120px;
    top: -60px;
    background: radial-gradient(circle, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, 0) 65%);
}

.hero-bg .orb-2 {
    width: 300px;
    height: 300px;
    left: -90px;
    top: 40%;
    background: radial-gradient(circle, rgba(0, 214, 143, .14) 0%, rgba(0, 214, 143, 0) 65%);
}

.hero-bg .orb-3 {
    width: 260px;
    height: 260px;
    left: 42%;
    bottom: -110px;
    background: radial-gradient(circle, rgba(138, 124, 246, .2) 0%, rgba(138, 124, 246, 0) 65%);
}

.hero-container {
    position: relative;
}

.hero-main {
    display: flex;
    align-items: center;
    gap: 30px;
    padding-bottom: 120px;
}

/* 左侧插画 */
.hero-visual {
    position: relative;
    flex: 0 0 52%;
    min-height: 430px;
}

.hero-art {
    width: 100%;
    height: auto;
    display: block;
}

.hero-visual-img {
    width: 100%;
    max-height: 460px;
    object-fit: contain;
    display: block;
}

.float-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    border-radius: 14px;
    padding: 10px 16px;
    box-shadow: 0 14px 34px rgba(10, 8, 50, .28);
    animation: floaty 5s ease-in-out infinite;
}

.float-card .fc-ic {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: var(--c);
    background: color-mix(in srgb, var(--c) 14%, #ffffff);
}

.float-card .fc-txt {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
}

.float-card .fc-txt b {
    font-size: 14px;
    color: #23204d;
}

.float-card .fc-txt small {
    font-size: 12px;
    color: #8a86a8;
    white-space: nowrap;
}

.float-card.fc-1 {
    left: 2%;
    bottom: 14%;
    animation-delay: .4s;
}

.float-card.fc-2 {
    right: -2%;
    top: 12%;
    animation-delay: 1.4s;
}

.float-card.fc-3 {
    right: 4%;
    bottom: 22%;
    animation-delay: 2.2s;
}

@keyframes floaty {
    0%,
    100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* 右侧标题 */
.hero-text {
    flex: 1;
    color: #ffffff;
}

.hero-title {
    font-size: 62px;
    font-weight: 800;
    letter-spacing: 2px;
    line-height: 1.15;
    text-shadow: 0 6px 24px rgba(10, 8, 50, .35);
    margin-bottom: 22px;
}

.hero-sub {
    font-size: 17px;
    line-height: 1.8;
    color: rgba(255, 255, 255, .88);
    max-width: 440px;
    margin-bottom: 32px;
}

.hero-btns {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 30px;
    border-radius: 30px;
    font-size: 16px;
    line-height: 1.2;
    transition: all .25s ease;
}

.hero-btn-primary {
    background: #ffffff;
    color: #302460;
    font-weight: 600;
    box-shadow: 0 10px 26px rgba(10, 8, 50, .3);
}

.hero-btn-primary:hover {
    color: #302460;
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(10, 8, 50, .38);
}

.hero-btn-ghost {
    border: 1.5px solid rgba(255, 255, 255, .65);
    color: #ffffff;
}

.hero-btn-ghost:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.hero-points {
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
}

.hero-points .point {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: rgba(255, 255, 255, .85);
}

.hero-points .point i {
    color: #00d68f;
    font-size: 16px;
}

/* 主视觉底部快捷卡片 */
.hero-quick {
    position: relative;
    z-index: 5;
    margin-top: -66px;
    padding-bottom: 64px;
}

.quick-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.quick-item {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #ffffff;
    border-radius: 14px;
    padding: 20px 22px;
    box-shadow: 0 16px 40px rgba(20, 16, 60, .16);
    transition: transform .25s ease, box-shadow .25s ease;
}

.quick-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 46px rgba(20, 16, 60, .22);
    color: inherit;
}

.quick-ic {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #5b4bcc;
    background: #efeefb;
}

.quick-item:nth-child(2n) .quick-ic {
    color: #00a878;
    background: #e6f9f1;
}

.quick-item:nth-child(3n) .quick-ic {
    color: #e08a00;
    background: #fff4e0;
}

.quick-txt {
    display: flex;
    flex-direction: column;
    min-width: 0;
    flex: 1;
}

.quick-txt b {
    font-size: 16px;
    color: #23204d;
    margin-bottom: 4px;
}

.quick-txt small {
    font-size: 12px;
    color: #8a86a8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.quick-go {
    color: #c5c1dd;
    font-size: 20px;
    flex-shrink: 0;
    transition: transform .25s ease, color .25s ease;
}

.quick-item:hover .quick-go {
    transform: translateX(4px);
    color: #5b4bcc;
}

/* 主视觉底部：白色波浪 + 口号 */
.hero-bottom {
    position: relative;
    padding: 84px 0 56px;
}

.hero-wave {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 64%;
    height: 160px;
    pointer-events: none;
}

.hero-bottom-inner {
    position: relative;
    display: flex;
    justify-content: flex-end;
}

.hero-slogan {
    position: relative;
    z-index: 2;
    font-size: 30px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #2b2554;
    text-align: right;
    text-shadow: 0 2px 10px rgba(255, 255, 255, .35);
}

/* 整页图片模式：上传首页整图后，整张显示该图 */
.home-hero.home-cover {
    min-height: 0;
    padding-top: 0;
    background: #0a163c;
    overflow: hidden;
}

.cover-stage {
    position: relative;
    overflow: hidden;
}

.home-hero.home-cover .hero-cover-img {
    display: block;
    width: 100%;
    height: auto;
    /* 防下载：禁止拖拽/选中，鼠标事件穿透到保护层 */
    pointer-events: none;
    -webkit-user-drag: none;
    user-select: none;
}

/* 透明保护层：盖在图片上方，拦截右键另存/长按保存 */
.cover-guard {
    position: absolute;
    inset: 0;
    z-index: 5;
}

/* 整图动态效果：缓慢缩放 */
.hero-cover-img.cover-zoom {
    animation: coverZoom 22s ease-in-out infinite alternate;
    will-change: transform;
}

@keyframes coverZoom {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.06);
    }
}

/* 光斑漂浮 */
.cover-fx {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.fx-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(28px);
    opacity: .55;
    animation: fxFloat 15s ease-in-out infinite alternate;
}

.fx-orb-1 {
    width: 190px;
    height: 190px;
    left: 6%;
    top: 12%;
    background: radial-gradient(circle, rgba(120, 180, 255, .8) 0%, rgba(120, 180, 255, 0) 70%);
    animation-duration: 17s;
}

.fx-orb-2 {
    width: 230px;
    height: 230px;
    right: 4%;
    top: 36%;
    background: radial-gradient(circle, rgba(160, 130, 255, .7) 0%, rgba(160, 130, 255, 0) 70%);
    animation-duration: 20s;
    animation-delay: -6s;
}

.fx-orb-3 {
    width: 150px;
    height: 150px;
    left: 38%;
    bottom: 6%;
    background: radial-gradient(circle, rgba(0, 214, 143, .45) 0%, rgba(0, 214, 143, 0) 70%);
    animation-duration: 14s;
    animation-delay: -3s;
}

@keyframes fxFloat {
    from {
        transform: translate(0, 0) scale(1);
    }
    to {
        transform: translate(50px, -70px) scale(1.18);
    }
}

/* 流光扫过 */
.fx-sweep {
    position: absolute;
    top: -30%;
    bottom: -30%;
    width: 110px;
    left: -220px;
    background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-18deg);
    animation: fxSweep 7s ease-in-out infinite;
}

@keyframes fxSweep {
    0% {
        left: -220px;
    }
    60%,
    100% {
        left: 110%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero-cover-img.cover-zoom,
    .fx-orb,
    .fx-sweep {
        animation: none !important;
    }
}

/* ===================== 首页区块 ===================== */
.home-section {
    padding: 70px 0;
}

.home-news {
    background: #ffffff;
}

.sec-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 34px;
    gap: 16px;
}

.sec-title {
    font-size: 30px;
    font-weight: 700;
    color: #23204d;
    position: relative;
    padding-left: 16px;
}

.sec-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 26px;
    border-radius: 3px;
    background: linear-gradient(180deg, #6a5ae0, #00d68f);
}

.sec-sub {
    font-size: 14px;
    color: #8a86a8;
    margin-top: 8px;
}

.sec-more {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 14px;
    color: #6a5ae0;
    white-space: nowrap;
}

.sec-more:hover {
    color: #302460;
}

/* 栏目卡片 */
.cats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.cat-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    background: #ffffff;
    border: 1px solid #eeecf7;
    border-radius: 14px;
    padding: 24px 20px;
    transition: all .25s ease;
    overflow: hidden;
}

.cat-card:hover {
    transform: translateY(-6px);
    border-color: transparent;
    box-shadow: 0 18px 40px rgba(48, 36, 96, .14);
    color: inherit;
}

.cat-ic {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
    color: #5b4bcc;
    background: linear-gradient(135deg, #efedfd, #e2defa);
}

.cat-card:nth-child(4n+2) .cat-ic {
    color: #00a878;
    background: linear-gradient(135deg, #e8faf2, #d3f6e8);
}

.cat-card:nth-child(4n+3) .cat-ic {
    color: #e08a00;
    background: linear-gradient(135deg, #fff6e6, #ffecc8);
}

.cat-card:nth-child(4n+4) .cat-ic {
    color: #3f8cff;
    background: linear-gradient(135deg, #eaf3ff, #d8eaff);
}

.cat-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.cat-info b {
    font-size: 16px;
    color: #23204d;
    margin-bottom: 6px;
}

.cat-info small {
    font-size: 12px;
    color: #8a86a8;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cat-go {
    position: absolute;
    right: 14px;
    top: 14px;
    font-size: 16px;
    color: #d5d2e6;
    transition: all .25s ease;
}

.cat-card:hover .cat-go {
    color: #5b4bcc;
    transform: translate(3px, -3px);
}

/* 最新动态列表 */
.news-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.news-item {
    display: flex;
    flex-direction: column;
    background: #f8f8fc;
    border-radius: 14px;
    overflow: hidden;
    transition: all .25s ease;
}

.news-item:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(48, 36, 96, .12);
    color: inherit;
}

.news-thumb {
    height: 160px;
    background: linear-gradient(135deg, #e6e3f6, #d5d0ee);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #8a7fd6;
    font-size: 44px;
    overflow: hidden;
}

.news-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.news-item:hover .news-thumb img {
    transform: scale(1.06);
}

.news-info {
    padding: 18px 20px 20px;
}

.news-title {
    font-size: 16px;
    font-weight: 600;
    color: #23204d;
    line-height: 1.5;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-item:hover .news-title {
    color: #5b4bcc;
}

.news-meta {
    display: flex;
    gap: 16px;
    font-size: 12px;
    color: #9a97b4;
    margin-bottom: 10px;
}

.news-meta i {
    margin-right: 4px;
}

.news-abstract {
    font-size: 13px;
    color: #6f6b8c;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 最新产品 */
.products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.product-card {
    background: #ffffff;
    border: 1px solid #eeecf7;
    border-radius: 14px;
    overflow: hidden;
    transition: all .25s ease;
}

.product-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(48, 36, 96, .14);
    border-color: transparent;
    color: inherit;
}

.product-card .product-img {
    height: 170px;
    background: linear-gradient(135deg, #eef0f7, #e2e5f2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #9aa2c8;
    font-size: 46px;
    overflow: hidden;
}

.product-card .product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.product-card:hover .product-img img {
    transform: scale(1.06);
}

.product-card .product-info {
    padding: 18px 20px 20px;
}

.product-card .product-name {
    font-size: 16px;
    font-weight: 600;
    color: #23204d;
    margin-bottom: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-card:hover .product-name {
    color: #5b4bcc;
}

.product-card .product-abstract {
    font-size: 13px;
    color: #6f6b8c;
    line-height: 1.6;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-card .product-meta {
    font-size: 12px;
    color: #9a97b4;
}

/* ===================== 底部（全站统一深蓝紫页脚） ===================== */
.site-footer {
    background: #3F3769;
    padding-top: 56px;
    margin-top: auto;
}

.site-footer-main {
    display: flex;
    gap: 80px;
    flex-wrap: wrap;
    align-items: flex-start;
}

.footer-brand {
    flex: 1.3;
    min-width: 260px;
}

.footer-brand b {
    display: block;
    font-size: 40px;
    font-weight: 800;
    letter-spacing: 2px;
    color: #fff;
    margin-bottom: 20px;
}

.footer-s1 {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}

.footer-s2 {
    font-size: 15px;
    color: rgba(255, 255, 255, .72);
}

.footer-col {
    flex: 1;
    min-width: 150px;
}

.footer-col h4 {
    font-size: 16px;
    color: #fff;
    margin-bottom: 18px;
}

.footer-col ul {
    list-style: none;
}

.footer-col ul li {
    margin-bottom: 12px;
}

.footer-col ul li a {
    font-size: 14px;
    color: rgba(255, 255, 255, .72);
}

.footer-col ul li a:hover {
    color: #fff;
}

.footer-col p {
    font-size: 14px;
    color: rgba(255, 255, 255, .72);
    line-height: 2;
}

.footer-col p i {
    margin-right: 6px;
}

.footer-copyright {
    margin-top: 46px;
    padding: 20px 0 26px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    text-align: center;
    font-size: 13px;
    color: rgba(255, 255, 255, .6);
}

/* ===================== 内页通用 ===================== */
.cat-banner {
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
    line-height: 0;
}

.cat-banner img {
    width: 100%;
    height: auto;
    display: block;
}

/* 纯图片封面页（如商务合作）：只显示栏目图片 */
.page-cover {
    line-height: 0;
}

.page-cover img {
    display: block;
    width: 100%;
    height: auto;
}

.page-banner {
    background: linear-gradient(100deg, #2c3d8c 0%, #5b4bcc 55%, #8b7cf6 100%);
    height: 170px;
    width: 100%;
    margin-bottom: 20px;
    border-radius: 8px;
    position: relative;
    overflow: hidden;
    padding: 0 30px;
}

.page-banner::after {
    content: "";
    position: absolute;
    right: -60px;
    top: -80px;
    width: 260px;
    height: 260px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .14) 0%, rgba(255, 255, 255, 0) 65%);
}

.page-banner h2 {
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 8px;
    position: relative;
    z-index: 1;
}

.page-banner p {
    color: rgba(255, 255, 255, .85);
    font-size: 15px;
    position: relative;
    z-index: 1;
}

.layui-card {
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(48, 36, 96, .06);
}

.layui-card-header {
    border-radius: 8px 8px 0 0;
}

.layui-card-header h3 {
    font-weight: 600;
    font-size: 16px;
}

.layui-card-header .nav a {
    color: #666;
    margin-left: 10px;
    font-size: 14px;
}

.layui-card-header .nav a.active {
    color: #5b4bcc;
}

.layui-card-header a.more {
    color: #666;
    font-size: 14px;
}

/* 文章列表（内页/加载更多共用） */
.article-list .article-item-card {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f2f1f8;
}

.article-list .article-item-card:last-child {
    border-bottom: none;
}

.article-list .article-thumb {
    width: 140px;
    height: 96px;
    background: linear-gradient(135deg, #e6e3f6, #d5d0ee);
    border-radius: 8px;
    margin-right: 15px;
    flex-shrink: 0;
    color: #8a7fd6;
    font-size: 14px;
    overflow: hidden;
}

.article-list .article-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.article-list .article-info {
    flex: 1;
    min-width: 0;
}

.article-list .article-title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 6px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.article-list .article-title a {
    color: #23204d;
}

.article-list .article-title a:hover {
    color: #5b4bcc;
}

.article-list .article-meta {
    font-size: 12px;
    color: #9a97b4;
}

.article-list .article-abstract {
    font-size: 14px;
    color: #6f6b8c;
    margin-top: 6px;
    line-height: 1.5;
}

/* 产品列表（栏目页） */
.product-list .product-item {
    border: 1px solid #eeecf7;
    border-radius: 10px;
    transition: all .25s ease;
    display: block;
}

.product-list .product-item:hover {
    box-shadow: 0 12px 28px rgba(48, 36, 96, .12);
    transform: translateY(-4px);
}

.product-list .product-img {
    font-size: 18px;
    height: 150px;
    background: linear-gradient(135deg, #eef0f7, #e2e5f2);
    border-radius: 8px;
    margin-bottom: 10px;
    color: #9aa2c8;
    overflow: hidden;
}

.product-list .product-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-list .product-info {
    padding: 10px;
}

.product-list .product-name {
    font-size: 15px;
    font-weight: 600;
    color: #23204d;
    line-height: 1.5;
    margin-bottom: 8px;
}

.product-list .product-abstract {
    margin-bottom: 8px;
    font-size: 12px;
    color: #6f6b8c;
    line-height: 1.4;
}

.product-list .product-meta {
    font-size: 12px;
    color: #9a97b4;
}

/* 右侧推荐 */
.recommend-list {
    list-style: none;
}

.recommend-list .recommend-item {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f2f1f8;
}

.recommend-list .recommend-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.recommend-list .recommend-number {
    width: 24px;
    height: 24px;
    background: linear-gradient(135deg, #6a5ae0, #8b7cf6);
    color: #fff;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    margin-right: 12px;
    flex-shrink: 0;
}

.recommend-list .recommend-item:nth-child(n+4) .recommend-number {
    background: #b9b5d0;
}

.recommend-list .recommend-content {
    flex: 1;
    min-width: 0;
}

.recommend-list .recommend-title {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.recommend-list .recommend-title a {
    color: #23204d;
}

.recommend-list .recommend-title a:hover {
    color: #5b4bcc;
}

/* 右侧下载 */
.down-ul .down-info {
    flex: 1;
    min-width: 0;
}

.down-ul .down-title {
    font-weight: 500;
    font-size: 15px;
    margin-bottom: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.down-ul .down-item {
    position: relative;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f2f1f8;
}

.down-ul .down-item:last-child {
    border-bottom: none;
}

.down-ul .down-item .layui-btn {
    position: absolute;
    right: 0;
    top: 8px;
}

.down-ul .down-title a {
    color: #23204d;
}

.down-ul .down-title a:hover {
    color: #5b4bcc;
}

.down-ul .down-meta {
    font-size: 12px;
    color: #9a97b4;
}

/* 标签 */
.tag-cloud {
    gap: 8px;
}

.tag {
    background: #f0eefb;
    padding: 3px 9px;
    border-radius: 6px;
    font-size: 12px;
    color: #5b4bcc;
    transition: background-color .25s, color .25s;
}

.tag:hover {
    background: #5b4bcc;
    color: #fff;
}

.tag:before {
    content: "# ";
}

/* 右侧广告位 */
.ad-container {
    background: linear-gradient(135deg, #5b4bcc 0%, #302460 100%);
    border-radius: 10px;
    padding: 20px;
    margin-bottom: 15px;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.ad-container .ad-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(255, 255, 255, .2);
    color: #fff;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
}

.ad-container .ad-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
}

.ad-container .ad-content {
    font-size: 13px;
    margin-bottom: 15px;
    opacity: .9;
}

.ad-container .ad-button {
    background: #fff;
    color: #5b4bcc;
    font-weight: 600;
    transition: all .25s;
}

.ad-container .ad-button:hover {
    background: #f4f2ff;
    transform: translateY(-2px);
}

/* 详情页 */
.article-content h1 {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.5;
    color: #23204d;
}

.article-content .entry-meta {
    font-size: 13px;
    margin-top: 10px;
    color: #9a97b4;
}

.article-content .entry-meta > li {
    display: inline-block;
    padding: 0 6px;
}

.article-content .post-icons {
    margin-right: 3px;
}

.article-content .entry-content {
    margin-top: 15px;
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 1.9;
    color: #3f3b5c;
}

.article-content .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}

.entry-copyright {
    position: relative;
    border-radius: 8px;
    line-height: 22px;
    padding: 15px 20px;
    font-size: 12px;
    color: #8a86a8;
    background: #f6f5fc;
    width: 100%;
    margin: 25px 0 0;
}

.entry-copyright:after {
    content: "";
    display: block;
    width: 31px;
    height: 27px;
    position: absolute;
    background: url(../images/blockquote.png) 0 0 no-repeat;
    right: 10px;
    bottom: 6px;
    background-size: 100%;
    transform: rotateZ(180deg);
}

.article-tag {
    border-radius: 8px;
    margin-bottom: 15px;
    padding: 12px 15px;
    background-color: #fff;
}

.article-tag span {
    display: block;
    font-size: 13px;
    color: #6f6b8c;
    margin-bottom: 8px;
}

.allow_visitor {
    font-size: 15px;
    padding: 15px 10px;
    text-align: center;
    border-radius: 8px;
    background: #f6f5fc;
}

.allow_visitor p {
    color: #6f6b8c;
    font-size: 14px;
    line-height: 30px;
    margin-bottom: 8px;
}

/* 上一篇下一篇 */
.article-nav {
    overflow: hidden;
}

.article-nav .box-body {
    width: calc(50% - 7px);
    background-color: #fff;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(48, 36, 96, .06);
}

.article-nav .box-body + .box-body {
    float: right;
    text-align: right;
}

.article-nav .box-body a {
    color: #6f6b8c;
}

.article-nav .box-body p {
    color: #9a97b4;
    margin-bottom: 8px;
    font-size: 13px;
}

.article-nav .post-icons {
    margin-right: 2px;
}

/* 面包屑 */
.breadcrumb {
    padding: 8px 15px;
    list-style: none;
    border-radius: 4px;
    margin-bottom: 0;
}

.breadcrumb > li {
    display: inline-block;
}

.breadcrumb > li a {
    color: #5b4bcc;
}

.breadcrumb > .active {
    color: #8a86a8;
}

.breadcrumb > li + li:before {
    padding: 0 5px;
    color: #c5c1dd;
    content: "/\00a0";
}

/* 分页 */
.pagination {
    display: inline-block;
    padding-left: 0;
    margin: 20px 0;
    border-radius: 4px;
}

.pagination > li {
    display: inline;
}

.pagination > li > a,
.pagination > li > span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #5b4bcc;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #e4e1f2;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.pagination > .active > a,
.pagination > .active > a:focus,
.pagination > .active > a:hover,
.pagination > .active > span,
.pagination > .active > span:focus,
.pagination > .active > span:hover {
    z-index: 3;
    color: #fff;
    cursor: default;
    background-color: #5b4bcc;
    border-color: #5b4bcc;
}

.pagination > .disabled > a,
.pagination > .disabled > a:focus,
.pagination > .disabled > a:hover,
.pagination > .disabled > span,
.pagination > .disabled > span:focus,
.pagination > .disabled > span:hover {
    color: #9a97b4;
    cursor: not-allowed;
    background-color: #fff;
    border-color: #e4e1f2;
}

/* 筛选 */
.filter-category .filter-option a {
    color: #6f6b8c;
}

.filter-category .filter-option a:hover,
.filter-category .filter-option a.active {
    color: #fff;
    background-color: #5b4bcc;
}

/* 搜索页 */
.hot-keywords a {
    color: #5b4bcc;
}

.search-title {
    font-weight: 600;
    color: #23204d;
}

/* 分享 */
/* ===================== 商务合作页 ===================== */
.coop-section {
    padding: 64px 0 40px;
}

.coop-top {
    display: flex;
    gap: 60px;
    align-items: flex-start;
}

.coop-intro {
    flex: 1;
    padding-top: 10px;
}

.coop-label {
    display: inline-block;
    font-size: 14px;
    color: #5b4bcc;
    background: #eeecfc;
    border-radius: 20px;
    padding: 4px 14px;
    margin-bottom: 14px;
}

.coop-title {
    font-size: 34px;
    font-weight: 800;
    color: #23204d;
    line-height: 1.3;
    margin-bottom: 14px;
}

.coop-badge {
    display: inline-block;
    font-size: 13px;
    font-weight: 600;
    color: #00a878;
    background: #e6f9f1;
    border-radius: 6px;
    padding: 4px 12px;
    margin-bottom: 20px;
}

.coop-intro-text {
    font-size: 15px;
    line-height: 1.9;
    color: #6f6b8c;
    max-width: 420px;
}

.coop-form {
    flex: 0 0 460px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 16px 44px rgba(48, 36, 96, .1);
    padding: 30px 30px 22px;
}

.coop-field {
    margin-bottom: 18px;
}

.coop-field label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #23204d;
    margin-bottom: 8px;
}

.coop-field input,
.coop-field textarea {
    width: 100%;
    border: 1px solid #e4e1f2;
    border-radius: 10px;
    background: #fafafd;
    padding: 12px 14px;
    font-size: 14px;
    color: #23204d;
    outline: none;
    resize: vertical;
    transition: border-color .2s ease, background .2s ease;
}

.coop-field input:focus,
.coop-field textarea:focus {
    border-color: #8b7cf6;
    background: #fff;
}

.coop-form-foot {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 6px;
}

.coop-submit {
    border: none;
    cursor: pointer;
    background: linear-gradient(100deg, #5b4bcc, #8b7cf6);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    border-radius: 24px;
    padding: 11px 34px;
    transition: transform .2s ease, opacity .2s ease;
}

.coop-submit:hover {
    transform: translateY(-2px);
}

.coop-submit.disabled {
    opacity: .6;
    cursor: not-allowed;
}

.coop-submit-tip {
    font-size: 13px;
    color: #9a97b4;
}

.coop-privacy {
    margin-top: 16px;
    font-size: 12px;
    color: #b9b5d0;
}

.coop-contact {
    display: flex;
    gap: 60px;
    margin-top: 46px;
    padding-top: 30px;
    border-top: 1px dashed #e4e1f2;
}

.coop-contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    color: inherit;
    position: relative;
}

.coop-contact-item .cc-ic {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: #5b4bcc;
    background: #eeecfc;
}

.coop-contact-item .cc-txt {
    display: flex;
    flex-direction: column;
    line-height: 1.4;
}

.coop-contact-item .cc-txt b {
    font-size: 14px;
    color: #23204d;
}

.coop-contact-item .cc-txt small {
    font-size: 13px;
    color: #8a86a8;
}

.coop-contact-item .cc-qr {
    width: 120px;
    height: 120px;
    border-radius: 10px;
    border: 1px solid #eeecf7;
    margin-left: 8px;
}

/* 表单内提示条（替代浏览器弹窗） */
.coop-msg {
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 16px;
    line-height: 1.5;
}

.coop-msg-success {
    background: #e6f9f1;
    color: #00a878;
    border: 1px solid #c2f0dd;
}

.coop-msg-error {
    background: #fff1f0;
    color: #e5484d;
    border: 1px solid #ffd6d4;
}

/* 二维码未上传时的占位框 */
.cc-qr-empty {
    width: 120px;
    height: 120px;
    border: 2px dashed #d5d2e6;
    border-radius: 10px;
    margin-left: 8px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: #b9b5d0;
    font-size: 12px;
    font-style: normal;
}

.cc-qr-empty i {
    font-size: 34px;
}

.coop-band {
    background: #352a64;
    padding: 54px 0 40px;
    margin-top: 60px;
}

.coop-band-inner {
    display: flex;
    gap: 60px;
    flex-wrap: wrap;
}

.coop-brand {
    flex: 1.4;
    min-width: 260px;
}

.coop-brand b {
    display: block;
    font-size: 22px;
    color: #fff;
    margin-bottom: 16px;
}

.coop-slogan1 {
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 8px;
}

.coop-slogan2 {
    font-size: 14px;
    color: rgba(255, 255, 255, .65);
}

.coop-col {
    flex: 1;
    min-width: 150px;
}

.coop-col h4 {
    font-size: 15px;
    color: #fff;
    margin-bottom: 16px;
}

.coop-col ul {
    list-style: none;
}

.coop-col ul li {
    margin-bottom: 10px;
}

.coop-col ul li a {
    font-size: 13px;
    color: rgba(255, 255, 255, .7);
}

.coop-col ul li a:hover {
    color: #fff;
}

.coop-col p {
    font-size: 13px;
    color: rgba(255, 255, 255, .7);
    line-height: 2;
}

.coop-col p i {
    margin-right: 6px;
}

@media screen and (max-width: 992px) {
    .coop-top {
        flex-direction: column;
        gap: 30px;
    }

    .coop-form {
        flex: 1 1 auto;
        width: 100%;
    }

    .coop-contact {
        flex-direction: column;
        gap: 20px;
    }

    .coop-band-inner {
        gap: 30px;
    }

    .coop-brand {
        flex: 1 1 100%;
    }
}

/* ===================== 品牌展播页（白色底：上大图 + 下两小图） ===================== */
.brand-showcase {
    background: #ffffff;
    padding: 44px 0 60px;
}

.brand-title {
    font-size: 26px;
    font-weight: 700;
    color: #23204d;
    margin-bottom: 22px;
}

.brand-big {
    border-radius: 10px;
    overflow: hidden;
    line-height: 0;
}

.brand-big img {
    display: block;
    width: 100%;
    height: auto;
}

.brand-row2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.brand-small {
    border-radius: 10px;
    overflow: hidden;
    line-height: 0;
}

.brand-small img {
    display: block;
    width: 100%;
    height: auto;
}

.brand-ph-empty {
    min-height: 220px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #c0c4d0;
    background: #f6f7fb;
    border: 2px dashed #dde1ea;
    border-radius: 10px;
}

.brand-ph-empty i {
    font-size: 52px;
}

.brand-ph-empty em {
    font-style: normal;
    font-size: 14px;
    letter-spacing: 2px;
}

@media screen and (max-width: 768px) {
    .brand-row2 {
        grid-template-columns: 1fr;
    }
}

/* ===================== 订阅服务页（会员套餐 + 积分充值） ===================== */
.sub-head {
    background: #ffffff;
    padding: 40px 0 30px;
    border-bottom: 1px solid #f0f0f5;
}

.sub-head-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.sub-title {
    font-size: 30px;
    font-weight: 800;
    color: #23204d;
}

.sub-userbar {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.sub-center {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 20px;
    border-radius: 22px;
    border: 1.5px solid #5b4bcc;
    color: #5b4bcc;
    font-size: 14px;
}

.sub-center:hover {
    background: #f3f1fb;
    color: #5b4bcc;
}

.sub-center-fill {
    background: #5b4bcc;
    color: #fff;
}

.sub-center-fill:hover {
    background: #4a3cae;
    color: #fff;
}

.sub-section {
    padding: 44px 0 10px;
}

.sub-plans {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.sub-plan {
    position: relative;
    background: #ffffff;
    border: 1px solid #eeecf7;
    border-radius: 16px;
    padding: 22px 20px 20px;
    transition: transform .25s ease, box-shadow .25s ease;
}

.sub-plan:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(48, 36, 96, .12);
}

.sub-plan-hl {
    border: 2px solid #8b7cf6;
    background: linear-gradient(180deg, #faf9ff 0%, #ffffff 100%);
    box-shadow: 0 12px 34px rgba(91, 75, 204, .18);
}

.sub-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #00a878;
    background: #e6f9f1;
    border-radius: 20px;
    padding: 3px 12px;
    margin-bottom: 12px;
}

.sub-plan-hl .sub-tag {
    color: #fff;
    background: linear-gradient(100deg, #5b4bcc, #8b7cf6);
}

.sub-plan-name {
    font-size: 18px;
    font-weight: 700;
    color: #23204d;
    margin-bottom: 10px;
}

.sub-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 6px;
}

.sub-price b {
    font-size: 30px;
    font-weight: 800;
    color: #23204d;
}

.sub-price s {
    font-size: 14px;
    color: #b9b5d0;
}

.sub-price em {
    font-style: normal;
    font-size: 13px;
    color: #8a86a8;
}

.sub-rights {
    list-style: none;
    margin: 14px 0 18px;
}

.sub-rights li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #4a4668;
    line-height: 2;
}

.sub-rights li i {
    color: #00a878;
    font-size: 16px;
}

.sub-btn {
    display: block;
    width: 100%;
    border: none;
    cursor: pointer;
    border-radius: 24px;
    padding: 11px 0;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(100deg, #23204d, #3a3568);
    transition: transform .2s ease, opacity .2s ease;
}

.sub-btn:hover {
    transform: translateY(-2px);
}

.sub-btn.disabled {
    opacity: .6;
    cursor: not-allowed;
}

.sub-plan-hl .sub-btn {
    background: linear-gradient(100deg, #5b4bcc, #8b7cf6);
}

.sub-sec-title {
    font-size: 24px;
    font-weight: 800;
    color: #23204d;
    margin-bottom: 20px;
}

.sub-points {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.sub-pt {
    background: #ffffff;
    border: 1px solid #eeecf7;
    border-radius: 16px;
    padding: 24px 20px 20px;
    text-align: center;
    transition: transform .25s ease, box-shadow .25s ease;
}

.sub-pt:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(48, 36, 96, .12);
}

.sub-pt-points {
    font-size: 26px;
    font-weight: 800;
    color: #23204d;
    margin-bottom: 6px;
}

.sub-pt-bonus {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: #e08a00;
    background: #fff4e0;
    border-radius: 20px;
    padding: 3px 12px;
    margin-bottom: 8px;
}

.sub-pt-total {
    font-size: 13px;
    color: #8a86a8;
    margin-bottom: 16px;
}

.sub-pt-btn {
    background: linear-gradient(100deg, #5b4bcc, #8b7cf6);
}

/* 订阅页轮播 banner（活动中心样式） */
.sub-banner-section {
    padding: 26px 0 0;
}

.sub-banner {
    position: relative;
    height: 200px;
    border-radius: 14px;
    overflow: hidden;
}

.sub-slide {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    opacity: 0;
    transition: opacity .6s ease;
    pointer-events: none;
}

.sub-slide.active {
    opacity: 1;
}

.sub-slide-1 {
    background: linear-gradient(120deg, #2b1f6e, #5b2bd6);
}

.sub-slide-2 {
    background: linear-gradient(120deg, #0f4c81, #2f8cff);
}

.sub-slide-3 {
    background: linear-gradient(120deg, #123b2e, #16b8a6);
}

.sub-slide-t {
    font-size: 28px;
    font-weight: 700;
}

.sub-slide-s {
    opacity: .85;
    margin-top: 8px;
    font-size: 15px;
}

.sub-dots {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 8px;
    z-index: 2;
}

.sub-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .45);
    cursor: pointer;
}

.sub-dot.active {
    background: #fff;
}

/* AI 时事新闻 */
.sub-news {
    display: flex;
    flex-direction: column;
}

.sub-news-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 14px 4px;
    border-bottom: 1px solid #f0eef7;
    color: inherit;
}

.sub-news-item:last-child {
    border-bottom: none;
}

.sub-news-item:hover h4 {
    color: #5b4bcc;
}

.sub-news-main {
    min-width: 0;
}

.sub-news-main h4 {
    font-size: 15px;
    font-weight: 600;
    color: #23204d;
    margin-bottom: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sub-news-main p {
    font-size: 13px;
    color: #8a86a8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sub-news-meta {
    display: flex;
    gap: 16px;
    flex-shrink: 0;
    font-size: 12px;
    color: #b9b5d0;
}

.sub-news-meta i {
    margin-right: 3px;
}

/* 购买操作提示条 */
.sub-toast {
    position: fixed;
    left: 50%;
    top: 80px;
    transform: translateX(-50%) translateY(-10px);
    background: rgba(35, 32, 77, .92);
    color: #fff;
    font-size: 14px;
    padding: 10px 22px;
    border-radius: 24px;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
}

.sub-toast.show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

@media screen and (max-width: 992px) {
    .sub-plans,
    .sub-points {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 576px) {
    .sub-plans,
    .sub-points {
        grid-template-columns: 1fr;
    }
}

/* ===================== 营销讲堂页 ===================== */
.course-head {
    background: linear-gradient(135deg, #303060 0%, #4a3a90 100%);
    padding: 46px 0 40px;
    color: #fff;
}

.course-title {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.course-sub {
    font-size: 15px;
    color: rgba(255, 255, 255, .8);
    margin-bottom: 26px;
}

.course-cats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.course-cat {
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.course-cat:hover {
    background: rgba(255, 255, 255, .22);
    border-color: rgba(255, 255, 255, .5);
    transform: translateY(-3px);
    color: #fff;
}

.course-cat.active {
    background: #fff;
    border-color: #fff;
    box-shadow: 0 10px 26px rgba(20, 10, 60, .3);
}

.course-cat b {
    font-size: 16px;
    font-weight: 600;
}

.course-cat span {
    font-size: 13px;
    color: #c9b8ff;
}

.course-cat.active b {
    color: #23204d;
}

.course-cat.active span {
    color: #5b4bcc;
    font-weight: 600;
}

.course-section {
    padding: 30px 0 60px;
}

.course-filter {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    background: linear-gradient(90deg, #4a4180 0%, #3F3769 55%, #362e5e 100%);
    border-radius: 12px;
    padding: 12px 20px;
    margin-bottom: 22px;
    box-shadow: 0 8px 24px rgba(35, 32, 77, .2);
}

/* 分类组：占剩余宽度并靠右对齐，左半部分保持不动 */
.course-filter-cat {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 180px;
    margin-left: 32px;
}

.course-filter-label {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
}

.course-filter-label:hover {
    color: #d9d2ff;
}

.course-levels {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.course-level {
    padding: 5px 16px;
    border-radius: 16px;
    font-size: 13px;
    color: rgba(255, 255, 255, .85);
    background: rgba(255, 255, 255, .12);
    transition: background .2s ease, color .2s ease;
}

.course-level:hover {
    background: rgba(255, 255, 255, .24);
    color: #fff;
}

.course-level.active {
    background: #fff;
    color: #3F3769;
    font-weight: 600;
}

.course-filter-sort {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
}

.course-select {
    appearance: none;
    -webkit-appearance: none;
    background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233F3769' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
    border: none;
    border-radius: 16px;
    padding: 6px 32px 6px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #3F3769;
    cursor: pointer;
    outline: none;
}

.course-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.course-card {
    display: block;
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 6px 20px rgba(48, 36, 96, .06);
    transition: transform .25s ease, box-shadow .25s ease;
}

.course-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(48, 36, 96, .14);
    color: inherit;
}

.course-card-img {
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e9e6f8, #d8d2f2);
    color: #8b7cf6;
    font-size: 48px;
    overflow: hidden;
}

.course-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.course-card:hover .course-card-img img {
    transform: scale(1.06);
}

.course-card-info {
    padding: 14px 18px 18px;
}

.course-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #23204d;
    line-height: 1.5;
    margin-bottom: 12px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.course-card:hover .course-card-title {
    color: #5b4bcc;
}

.course-card-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 12px;
    color: #9a97b4;
}

.course-lv {
    padding: 2px 10px;
    border-radius: 10px;
    font-size: 12px;
}

.course-lv-0 {
    color: #00a878;
    background: #e6f9f1;
}

.course-lv-1 {
    color: #3f8cff;
    background: #eaf3ff;
}

.course-lv-2 {
    color: #5b4bcc;
    background: #eeecfc;
}

.course-lv-3 {
    color: #e08a00;
    background: #fff4e0;
}

.course-price {
    margin-left: auto;
    font-weight: 700;
    color: #e5484d;
}

.course-empty {
    text-align: center;
    padding: 60px 0;
    color: #9a97b4;
}

/* 课程卡外链视频角标 */
.course-card-img {
    position: relative;
}

.course-badge {
    position: absolute;
    left: 10px;
    bottom: 10px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: rgba(35, 32, 77, .78);
    border-radius: 20px;
    padding: 3px 10px;
}

/* 课程详情页内嵌第三方视频播放器 */
.course-video {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    margin: 16px 0;
    border-radius: 12px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 12px 34px rgba(48, 36, 96, .16);
}

.course-video iframe,
.course-video video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* 课程资料按钮（上传文件/外部链接） */
.course-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin: 16px 0;
}

.course-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 24px;
    padding: 10px 26px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    transition: transform .2s ease;
}

.course-btn:hover {
    color: #fff;
    transform: translateY(-2px);
}

.course-btn-file {
    background: linear-gradient(100deg, #5b4bcc, #8b7cf6);
}

.course-btn-link {
    background: linear-gradient(100deg, #0f4c81, #2f8cff);
}

/* 等级拦截提示框 */
.vip-lock {
    text-align: center;
    padding: 46px 20px;
    background: linear-gradient(135deg, #f6f4ff, #efe9ff);
    border: 1px dashed #b9a8f0;
    border-radius: 14px;
    margin: 16px 0;
}

.vip-lock i {
    font-size: 44px;
    color: #8b7cf6;
    display: block;
    margin-bottom: 12px;
}

.vip-lock p {
    font-size: 15px;
    color: #4a4668;
    margin-bottom: 18px;
}

.vip-lock-btn {
    display: inline-block;
    background: linear-gradient(100deg, #5b4bcc, #8b7cf6);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border-radius: 24px;
    padding: 10px 34px;
    margin-right: 10px;
}

.vip-lock-btn:hover {
    color: #fff;
    transform: translateY(-2px);
}

.vip-lock-login {
    font-size: 13px;
    color: #8a86a8;
}

/* 下载列表等级标签 */
.dl-lv {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 12px;
    color: #5b4bcc;
    background: #eeecfc;
}

@media screen and (max-width: 992px) {
    .course-cats,
    .course-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 576px) {
    .course-cats,
    .course-grid {
        grid-template-columns: 1fr;
    }
}

/* ===================== 企业访谈页 ===================== */
.iv-section {
    background: #303060;
    padding: 64px 0 70px;
    color: #fff;
}

.iv-wrap {
    display: flex;
    gap: 48px;
    align-items: stretch;
}

.iv-vtitle {
    writing-mode: vertical-rl;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
    border-left: 1px solid rgba(255, 255, 255, .2);
    border-right: 1px solid rgba(255, 255, 255, .2);
    padding: 16px 14px;
}

.iv-vtitle b {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: 12px;
    color: #fff;
}

.iv-vtitle em {
    font-style: normal;
    font-size: 13px;
    letter-spacing: 2px;
    color: #c9b8ff;
}

.iv-main {
    flex: 1;
    min-width: 0;
}

.iv-top {
    display: grid;
    grid-template-columns: 0.9fr 1.1fr;
    gap: 48px;
    align-items: start;
    margin-bottom: 40px;
}

.iv-left {
    min-width: 0;
}

.iv-badge {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    color: #d8b890;
    margin-bottom: 18px;
}

.iv-badge b {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
}

.iv-badge em {
    font-style: normal;
    font-size: 15px;
    font-weight: 700;
    color: #e8c078;
}

.iv-heading {
    font-size: 46px;
    font-weight: 800;
    letter-spacing: 2px;
    background: linear-gradient(100deg, #f7e3b8 0%, #f0c078 60%, #e0a860 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin-bottom: 12px;
}

.iv-sub {
    font-size: 17px;
    color: #ffffff;
    margin-bottom: 18px;
}

.iv-tags {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.iv-tag {
    padding: 6px 16px;
    border-radius: 18px;
    font-size: 13px;
    font-weight: 600;
    color: #f0c078;
    background: rgba(240, 192, 120, .12);
    border: 1px solid rgba(240, 192, 120, .4);
}

.iv-right {
    min-width: 0;
}

.iv-intro {
    font-size: 15px;
    line-height: 2;
    color: rgba(255, 255, 255, .85);
}

.iv-guest {
    display: flex;
    align-items: stretch;
    gap: 22px;
}

.iv-goldbar {
    width: 6px;
    border-radius: 3px;
    flex-shrink: 0;
    background: linear-gradient(180deg, #e8c078 0%, #c8985c 45%, #a07040 100%);
}

.iv-guest-body {
    flex: 1;
    min-width: 0;
}

.iv-guest-label {
    display: inline-block;
    font-size: 14px;
    font-weight: 600;
    color: #e8c078;
    border-bottom: 2px solid #e8c078;
    padding-bottom: 6px;
    margin-bottom: 18px;
}

.iv-guest-card {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 16px;
    padding: 24px 26px;
}

.iv-guest-avatar {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #5b4bcc, #8b7cf6);
    color: #fff;
    font-size: 38px;
    overflow: hidden;
}

.iv-guest-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.iv-guest-info {
    flex: 1;
    min-width: 0;
}

.iv-guest-info b {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}

.iv-guest-info em {
    display: block;
    font-style: normal;
    font-size: 13px;
    color: #c9b8ff;
    margin-bottom: 10px;
}

.iv-guest-info p {
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255, 255, 255, .78);
}

@media screen and (max-width: 768px) {
    .iv-wrap {
        flex-direction: column;
        gap: 26px;
    }

    .iv-vtitle {
        writing-mode: horizontal-tb;
        flex-direction: row;
        gap: 10px;
        border: none;
        padding: 0;
    }

    .iv-vtitle b {
        letter-spacing: 4px;
        font-size: 26px;
    }

    .iv-top {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .iv-heading {
        font-size: 30px;
    }

    .iv-guest-card {
        flex-direction: column;
    }
}

.social-share .social-share-icon {
    font-size: 14px;
    width: 18px;
    height: 18px;
    line-height: 18px;
    color: #9a97b4;
    border: none;
}

.social-share .social-share-icon:hover {
    background: none;
}

.social-share .icon-weibo:hover {
    color: #ff763b;
}

.social-share .icon-qq:hover {
    color: #56b6e7;
}

.social-share .icon-qzone:hover {
    color: #fdbe3d;
}

.social-share .icon-wechat:hover {
    color: #7bc549;
}

/* 加载更多 */
.load-more {
    margin-bottom: 10px;
}

.load-more .layui-btn {
    min-width: 90px;
    border-radius: 20px;
}

.layui-border-blue {
    border-color: #8b7cf6 !important;
}

/* ===================== 工具类 ===================== */
.text-center {
    text-align: center !important;
}

.d-flex {
    display: flex !important;
}

.flex-wrap {
    flex-wrap: wrap !important;
}

.justify-content-between {
    justify-content: space-between !important;
}

.justify-content-center {
    justify-content: center !important;
}

.align-items-center {
    align-items: center !important;
}

.justify-content-end {
    justify-content: flex-end !important;
}

.flex-column {
    flex-direction: column !important;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.text-ellipsis-1,
.text-ellipsis-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    white-space: normal;
}

.text-ellipsis-2 {
    -webkit-line-clamp: 2;
}

.meta-dot {
    display: inline-block;
    width: 3px;
    height: 3px;
    background-color: #b9b5d0;
    border-radius: 50%;
    margin: 0 8px;
}

/* ===================== 响应式 ===================== */
@media screen and (max-width: 992px) {
    .hero-main {
        flex-direction: column;
        padding-bottom: 130px;
    }

    .hero-visual {
        flex: 1 1 auto;
        width: 100%;
        max-width: 520px;
        min-height: 0;
    }

    .hero-text {
        text-align: center;
        width: 100%;
    }

    .hero-sub {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-btns,
    .hero-points {
        justify-content: center;
    }

    .hero-title {
        font-size: 46px;
    }

    .quick-inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .cats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .news-list,
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-slogan {
        font-size: 24px;
    }
}

@media screen and (max-width: 768px) {
    .site-header {
        top: -57px;
    }

    .topbar-inner {
        height: 56px;
    }

    .site-logo .logo-text {
        font-size: 18px;
    }

    .site-promo {
        display: none;
    }

    .navbar-inner {
        height: 50px;
    }

    .nav-toggle {
        display: flex;
    }

    .nav-menu {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #2a1f58;
        flex-direction: column;
        align-items: stretch;
        height: auto;
        padding: 8px 0;
        display: none;
        z-index: 55;
        box-shadow: 0 16px 30px rgba(20, 16, 60, .35);
    }

    .nav-menu.open {
        display: flex;
    }

    .nav-item {
        height: auto;
    }

    .nav-item > a {
        height: auto;
        padding: 13px 18px;
        justify-content: space-between;
    }

    .nav-item > a::after {
        display: none;
    }

    .nav-sub {
        position: static;
        transform: none;
        opacity: 1;
        visibility: visible;
        box-shadow: none;
        background: rgba(0, 0, 0, .18);
        border-radius: 0;
        padding: 4px 0;
    }

    .nav-sub li a {
        color: rgba(255, 255, 255, .8);
        padding-left: 34px;
    }

    .nav-sub li a:hover {
        background: rgba(255, 255, 255, .08);
        color: #fff;
    }

    .nav-user {
        margin-left: auto;
    }

    .nav-user .nav-login,
    .nav-user .nav-register {
        padding: 6px 14px;
        font-size: 13px;
    }

    .home-hero {
        padding-top: 36px;
    }

    .hero-main {
        gap: 20px;
    }

    .hero-title {
        font-size: 38px;
    }

    .hero-sub {
        font-size: 15px;
    }

    .float-card {
        padding: 8px 12px;
        border-radius: 10px;
    }

    .float-card .fc-ic {
        width: 30px;
        height: 30px;
        font-size: 16px;
        border-radius: 8px;
    }

    .float-card .fc-txt b {
        font-size: 12px;
    }

    .float-card .fc-txt small {
        font-size: 11px;
    }

    .quick-inner,
    .cats-grid,
    .news-list,
    .products-grid {
        grid-template-columns: 1fr;
    }

    .hero-bottom {
        padding: 60px 0 40px;
    }

    .hero-wave {
        width: 100%;
        height: 110px;
    }

    .hero-slogan {
        text-align: left;
        font-size: 21px;
        letter-spacing: 1px;
    }

    .home-section {
        padding: 46px 0;
    }

    .sec-title {
        font-size: 24px;
    }

    .site-footer-main {
        gap: 30px;
    }

    .footer-brand {
        flex: 1 1 100%;
        min-width: 100%;
    }

    .page-banner {
        height: 130px;
    }

    .article-list .article-thumb {
        width: 110px;
        height: 80px;
    }

    .article-nav .box-body {
        width: 100%;
        float: none !important;
        text-align: left !important;
        margin-bottom: 10px;
    }

    .entry-info > .d-flex {
        display: block !important;
    }
}

/* ===================== 关于我们页 ===================== */
.about-page {
    background: #ffffff;
    padding: 88px 0 80px;
}

.about-inner {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 70px;
    align-items: center;
}

.about-label {
    display: inline-block;
    font-size: 14px;
    color: #5b4bcc;
    background: #eeecfc;
    border-radius: 20px;
    padding: 4px 14px;
    margin-bottom: 16px;
}

.about-title {
    font-size: 30px;
    font-weight: 800;
    color: #23204d;
    margin-bottom: 18px;
}

.about-name {
    font-size: 46px;
    font-weight: 800;
    color: #23204d;
    letter-spacing: 4px;
    line-height: 1.2;
    margin-bottom: 16px;
}

.about-sub {
    font-size: 15px;
    color: #6f6b8c;
    line-height: 1.8;
}

.about-text {
    font-size: 15px;
    color: #6f6b8c;
    line-height: 2;
    margin-bottom: 18px;
}

.about-text:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 992px) {
    .about-inner {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .about-name {
        font-size: 34px;
    }
}