/* ===== CSS Variables (same as homepage) ===== */
:root {
    --c-primary:    #F07226;
    --c-primary-d:  #D95D10;
    --c-primary-l:  #F9A568;
    --c-accent:     #FFB347;
    --c-accent2:    #FF6B35;
    --c-bg:         #FFF8F3;
    --c-bg2:        #FFF2E8;
    --c-surface:    #FFFFFF;
    --c-text:       #1A1209;
    --c-text-2:     #5C4033;
    --c-text-muted: #9C7B6B;
    --c-border:     rgba(240,114,38,.18);
    --c-shadow:     rgba(240,114,38,.14);
    --c-green:      #27AE60;
    --c-red:        #E53935;
    --radius-sm:    10px;
    --radius-md:    16px;
    --radius-lg:    24px;
    --radius-xl:    36px;
    --font-head:    'Outfit', sans-serif;
    --font-body:    'DM Sans', sans-serif;
    --transition:   .32s cubic-bezier(.4,0,.2,1);
    --tr:           .3s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); background: var(--c-bg); color: var(--c-text); line-height: 1.65; overflow-x: hidden; }
h1,h2,h3,h4,h5 { font-family: var(--font-head); font-weight: 700; }
a { text-decoration: none; color: inherit; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--c-bg); }
::-webkit-scrollbar-thumb { background: var(--c-primary-l); border-radius: 99px; }
/* ===== NAVBAR ===== */
.navbar {
    overflow: visible;
    background: rgba(255,248,243,.92);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--c-border);
    padding: 12px 0;
    position: sticky; top: 0; z-index: 900;
}
.navbar-brand {
    width: 170px;
}
.nav-link {
    font-family: var(--font-head); font-weight: 500; font-size: .92rem;
    color: var(--c-text-2) !important; padding: 6px 12px !important;
    border-radius: var(--radius-sm); transition: var(--transition);
}
.nav-link:hover { color: var(--c-primary) !important; background: rgba(240,114,38,.08); }
/*.lang-select {
    appearance: none; border: 1.5px solid var(--c-border); border-radius: var(--radius-sm);
    background: var(--c-surface); color: var(--c-text-2);
    font-family: var(--font-body); font-size: .85rem; padding: 5px 28px 5px 10px;
    cursor: pointer;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23F07226' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 8px center;
    transition: var(--transition);
}
.lang-select:hover { border-color: var(--c-primary); }*/
/* ===== 自定义语言切换器 ===== */
.lang-switcher-wrap {
    position: relative;
}

.lang-switcher-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--c-surface);
    border: 1.5px solid var(--c-border);
    border-radius: var(--radius-sm);
    color: var(--c-text-2);
    font-family: var(--font-body);
    font-size: .85rem;
    padding: 5px 12px 5px 10px;
    cursor: pointer;
    transition: var(--tr);
    white-space: nowrap;
}
.lang-switcher-btn:hover {
    border-color: var(--c-primary);
    color: var(--c-primary-d);
}
.lang-switcher-btn .bi-globe2 {
    color: var(--c-primary);
    font-size: .82rem;
}
.lang-caret {
    font-size: .68rem;
    transition: transform .25s ease;
    color: var(--c-primary);
}
.lang-switcher-wrap.open .lang-caret {
    transform: rotate(180deg);
}

/* 下拉面板 */
.lang-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 200px;
    max-height: 320px;
    overflow-y: auto;
    background: var(--c-surface);
    border: 1px solid rgba(240,114,38,.16);
    border-radius: var(--radius-md);
    box-shadow: 0 12px 40px rgba(20,8,2,.12), 0 3px 14px rgba(240,114,38,.1);
    padding: 6px;
    opacity: 0;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity .2s ease, transform .2s ease;
    z-index: 1000;
}
/* 滚动条美化 */
.lang-dropdown::-webkit-scrollbar { width: 4px; }
.lang-dropdown::-webkit-scrollbar-track { background: transparent; }
.lang-dropdown::-webkit-scrollbar-thumb { background: var(--c-primary-l); border-radius: 99px; }

.lang-switcher-wrap.open .lang-dropdown {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* 每一个语言链接 */
.lang-dropdown a {
    display: block;
    padding: 7px 10px;
    border-radius: var(--radius-sm);
    font-size: .84rem;
    color: var(--c-text-2);
    font-family: var(--font-body);
    transition: background .15s;
    text-decoration: none;
}
.lang-dropdown a:hover {
    background: rgba(240,114,38,.08);
    color: var(--c-primary-d);
}
.lang-dropdown a.active {
    background: rgba(240,114,38,.1);
    color: var(--c-primary-d);
    font-weight: 600;
}

/* 移动端：下拉向左对齐防止超出屏幕 */
@media (max-width: 991px) {
    .lang-dropdown {
        right: auto;
        left: 0;
        width: 180px;
    }
}
/* ===== MEGA MENU ===== */
.nav-mega { position: relative; }

.nav-mega-toggle {
    display: flex !important;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}
.nav-caret {
    font-size: .7rem;
    transition: transform .28s ease;
    flex-shrink: 0;
}
.nav-mega.open .nav-caret { transform: rotate(180deg); }

/* Panel */
.mega-panel {
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    transform: translateY(8px);
    width: min(96vw, 1020px);          /* 860 → 1020 */
    background: #fff;
    border: 1px solid rgba(240,114,38,.14);
    border-radius: var(--radius-lg);
    box-shadow: 0 16px 60px rgba(20,8,2,.12), 0 4px 20px rgba(240,114,38,.1);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
    z-index: 999;
}
.mega-panel::before {
    content: '';
    position: absolute;
    top: -10px; left: 0; right: 0;
    height: 10px;
}
.nav-mega.open .mega-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.mega-inner {
    display: flex;
    align-items: flex-start;
    padding: 20px 20px 20px 24px;
    gap: 0;
}

/* Groups area */
.mega-group {
    width: 220px;        /* 每组固定宽，内容对齐 */
    flex-shrink: 0;
    padding: 0 20px;
}
.mega-group:first-child { padding-left: 0; }
.mega-group-title {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: .68rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--c-text-muted);
    margin-bottom: 10px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--c-border);
    white-space: nowrap;
}

/* 面板宽度跟随内容 */
.mega-panel {
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    transform: translateY(8px);
    width: max-content;               /* 自动适配 */
    max-width: min(96vw, 1040px);     /* 最大不超过屏宽 */
    background: #fff;
    border: 1px solid rgba(240,114,38,.14);
    border-radius: var(--radius-lg);
    box-shadow: 0 16px 60px rgba(20,8,2,.12), 0 4px 20px rgba(240,114,38,.1);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s ease, transform .22s ease;
    z-index: 999;
}
.mega-panel::before {
    content: '';
    position: absolute;
    top: -10px; left: 0; right: 0;
    height: 10px;
}
.nav-mega.open .mega-panel {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* 内部改回 flex，各组固定宽 */
.mega-inner {
    display: flex;
    align-items: flex-start;
    padding: 20px 20px 20px 24px;
    gap: 0;
}

.mega-group {
    width: 220px;        /* 每组固定宽，内容对齐 */
    flex-shrink: 0;
    padding: 0 20px;
}
.mega-group:first-child { padding-left: 0; }

.mega-group-title {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: .68rem;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--c-text-muted);
    margin-bottom: 10px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--c-border);
    white-space: nowrap;
}

.mega-divider {
    width: 1px;
    background: var(--c-border);
    align-self: stretch;
    flex-shrink: 0;
    margin: 0;
}

/* 单列列表 */
.mega-grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.mega-item {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 8px;
    border-radius: var(--radius-sm);
    transition: background .18s;
    text-decoration: none;
    white-space: nowrap;    /* 单项不换行 */
}
.mega-item:hover { background: rgba(240,114,38,.07); }

.mega-item-icon {
    width: 38px; height: 24px;
    border-radius: 6px;
    display: flex; align-items: center; justify-content: center;
    font-family: var(--font-head);
    font-weight: 800;
    font-size: .58rem;
    letter-spacing: .3px;
    flex-shrink: 0;
}
.mega-item-label {
    font-family: var(--font-head);
    font-weight: 600;
    font-size: .83rem;
    color: var(--c-text-2);
    white-space: nowrap;
}
.mega-item:hover .mega-item-label { color: var(--c-primary-d); }

/* aside 固定宽 */
.mega-aside {
    width: 155px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-left: 16px;
    margin-left: 4px;
    border-left: 1px solid var(--c-border);
}
.mega-aside-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: var(--c-bg);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 14px;
    text-decoration: none;
    transition: var(--transition);
}
.mega-aside-card:hover {
    border-color: rgba(240,114,38,.3);
    box-shadow: 0 4px 16px rgba(240,114,38,.1);
    transform: translateY(-2px);
}
.mega-aside-icon {
    width: 36px; height: 36px;
    background: linear-gradient(135deg, var(--c-primary-l), var(--c-accent));
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem; color: #fff;
    box-shadow: 0 3px 10px rgba(240,114,38,.3);
}
.mega-aside-name {
    font-family: var(--font-head);
    font-weight: 700;
    font-size: .83rem;
    color: var(--c-text);
}
.mega-aside-desc {
    font-size: .72rem;
    color: var(--c-text-muted);
    line-height: 1.45;
    white-space: normal;
}

/* 移动端 */
@media (max-width: 991px) {
    .mega-panel {
        position: static;
        transform: none;
        width: 100%;
        max-width: 100%;
        box-shadow: none;
        border: none;
        border-top: 1px solid var(--c-border);
        border-radius: 0;
        max-height: 0;
        overflow: hidden;
        transition: max-height .35s ease, opacity .25s ease;
        opacity: 1;
        pointer-events: none;
    }
    .nav-mega.open .mega-panel {
        max-height: 640px;
        pointer-events: auto;
        transform: none;
        overflow-y: auto;
    }
    .mega-inner {
        flex-direction: column;
        padding: 12px 16px;
    }
    .mega-group {
        width: 100%;
        padding: 0;
        margin-bottom: 12px;
    }
    .mega-divider {
        width: 100%; height: 1px;
        margin: 4px 0 12px;
    }
    .mega-item { white-space: normal; }
    .mega-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
    .mega-aside {
        width: 100%;
        flex-direction: row;
        border-left: none;
        border-top: 1px solid var(--c-border);
        padding: 12px 0 0;
        margin-left: 0;
    }
    .mega-aside-card { flex: 1; flex-direction: row; align-items: center; }
}
.stat-pill {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,.85);
    border: 1px solid var(--c-border);
    border-radius: 99px;
    padding: 7px 16px;
    font-size: .83rem;
    font-weight: 600;
    color: var(--c-text-2);
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 12px var(--c-shadow);
}
.stat-pill i { color: var(--c-primary); font-size: .9rem; }
@media (max-width: 767px) {
    .stat-pill { font-size: .78rem; }
}

/* ===== FOOTER ===== */
footer { background: #140D06; color: rgba(255,255,255,.6); padding: 48px 0 22px; }
.footer-brand {
    width: 220px;
}
/*.footer-brand .logo-icon {
    width: 32px; height: 32px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-accent2));
    border-radius: 8px; display: flex; align-items: center; justify-content: center;
    font-size: .85rem; color: #fff;
}*/
.footer-links { list-style: none; padding-left: 1px;}
.footer-links li { margin-bottom: 8px; }
.footer-links a { font-size: .84rem; color: rgba(255,255,255,.45); transition: color .2s; }
.footer-links a:hover { color: var(--c-primary-l); }
.footer-col-title { font-family: var(--font-head); font-weight: 700; font-size: .85rem; color: rgba(255,255,255,.8); margin-bottom: 14px; }
.footer-divider { border-color: rgba(255,255,255,.08); margin: 32px 0 18px; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; font-size: .78rem; color: rgba(255,255,255,.28); }
.footer-bottom a { color: rgba(255,255,255,.28); }
.footer-bottom a:hover { color: var(--c-primary-l); }
/* 将 .footer-links .link-soon 改为： */
.footer-links .link-soon {
    color: rgba(255,255,255,.2);
    cursor: default;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: .83rem;   /* 与 .footer-links a 保持一致 */
}
.footer-links .link-soon::after {
    content: '';
    display: inline-block;
    font-size: .58rem;
    font-family: var(--font-head);
    font-weight: 700;
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.28);
    padding: 1px 5px;
    border-radius: 4px;
}
/* Mega menu coming-soon 状态 */
.mega-item-soon {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 8px;
    border-radius: var(--radius-sm);
    cursor: default;
    opacity: .48;
}
.mega-item-soon .mega-item-icon {
    background: #F3EDE8 !important;
    color: var(--c-text-muted) !important;
}
.mega-item-soon .mega-item-label {
    color: var(--c-text-muted);
}

/* 面板顶部提示横幅 */
.mega-soon-banner {
    display: flex;
    align-items: center;
    gap: 7px;
    background: rgba(240,114,38,.07);
    border: 1px solid rgba(240,114,38,.16);
    border-radius: var(--radius-sm);
    padding: 7px 12px;
    margin-bottom: 14px;
    font-family: var(--font-head);
    font-size: .76rem;
    font-weight: 600;
    color: var(--c-primary-d);
}
.mega-soon-banner i { font-size: .82rem; color: var(--c-primary); flex-shrink: 0; }

:root{
    --pec-primary:    #F07226;
    --pec-primary-d:  #D95D10;
    --pec-primary-l:  #F9A568;
    --pec-bg:         #FFF8F3;
    --pec-surface:    #FFFFFF;
    --pec-text:       #1A1209;
    --pec-text2:      #5C4033;
    --pec-muted:      #9C7B6B;
    --pec-border:     rgba(240,114,38,.15);
    --pec-green:      #16A34A;
    --pec-radius:     16px;
    --pec-shadow:     0 8px 40px rgba(240,114,38,.18);
    --pec-tr:         .25s ease;
    --font-head:      'Outfit', sans-serif;
    --font-body:      'DM Sans', sans-serif;
}

/* ---------- 提示条 ---------- */
.pec-cookie-bar{
    position:fixed; bottom:1rem; left:50%; transform:translateX(-50%);
    z-index:9999; width:min(96vw, 820px);
    background:var(--pec-surface);
    border:1px solid var(--pec-border);
    border-radius:var(--pec-radius);
    box-shadow:var(--pec-shadow);
    padding:1.25rem 1.5rem;
    font-family:var(--font-body);
    animation: pecSlideUp .35s ease forwards;
}
@keyframes pecSlideUp{
    from{opacity:0;transform:translateX(-50%) translateY(24px)}
    to  {opacity:1;transform:translateX(-50%) translateY(0)}
}
.pec-cookie-bar__inner{
    display:flex; gap:1.25rem; align-items:flex-start; flex-wrap:wrap;
}
.pec-cookie-bar__text{ flex:1 1 280px; }
.pec-cookie-bar__title{
    font-family:var(--font-head); font-weight:700;
    font-size:1rem; color:var(--pec-text); margin:0 0 .35rem;
}
.pec-cookie-bar__desc{
    font-size:.85rem; color:var(--pec-text2); margin:0 0 .4rem; line-height:1.5;
}
.pec-cookie-bar__links{ margin:0; font-size:.8rem; }
.pec-cookie-bar__links a{
    color:var(--pec-primary); text-decoration:none; font-weight:500;
}
.pec-cookie-bar__links a:hover{ text-decoration:underline; }
.pec-sep{ margin:0 .4rem; color:var(--pec-muted); }

.pec-cookie-bar__actions{
    display:flex; gap:.6rem; align-items:center; flex-wrap:wrap;
    flex-shrink:0; padding-top:.15rem;
}

/* ---------- 通用按钮 ---------- */
.pec-btn{
    font-family:var(--font-body); font-weight:600;
    font-size:.84rem; padding:.5rem 1.1rem;
    border-radius:50px; cursor:pointer; white-space:nowrap;
    transition:var(--pec-tr); border:none; line-height:1.2;
}
.pec-btn--solid{
    background:var(--pec-primary); color:#fff;
}
.pec-btn--solid:hover{ background:var(--pec-primary-d); }
.pec-btn--outline{
    background:transparent;
    border:1.5px solid var(--pec-primary);
    color:var(--pec-primary);
}
.pec-btn--outline:hover{ background:rgba(240,114,38,.08); }
.pec-btn--ghost{
    background:transparent;
    border:1.5px solid var(--pec-border);
    color:var(--pec-text2);
}
.pec-btn--ghost:hover{ border-color:var(--pec-primary); color:var(--pec-primary); }

/* ---------- 弹窗遮罩 ---------- */
.pec-modal-backdrop{
    position:fixed; inset:0; z-index:10000;
    background:rgba(26,18,9,.45);
    display:flex; align-items:center; justify-content:center;
    backdrop-filter:blur(3px);
    animation:pecFadeIn .2s ease;
}
@keyframes pecFadeIn{ from{opacity:0} to{opacity:1} }

/* ---------- 弹窗主体 ---------- */
.pec-modal{
    background:var(--pec-surface);
    border-radius:var(--pec-radius);
    width:min(94vw, 480px);
    max-height:90vh; overflow-y:auto;
    box-shadow:var(--pec-shadow);
    font-family:var(--font-body);
    animation:pecScaleIn .25s ease;
}
@keyframes pecScaleIn{
    from{opacity:0;transform:scale(.96)}
    to  {opacity:1;transform:scale(1)}
}
.pec-modal__header{
    display:flex; justify-content:space-between; align-items:center;
    padding:1.25rem 1.5rem 0;
}
.pec-modal__title{
    font-family:var(--font-head); font-weight:700;
    font-size:1.1rem; color:var(--pec-text); margin:0;
}
.pec-modal__close{
    background:none; border:none; cursor:pointer;
    color:var(--pec-muted); font-size:1rem; padding:.25rem;
    border-radius:8px; transition:var(--pec-tr);
}
.pec-modal__close:hover{ color:var(--pec-text); background:var(--pec-bg); }

.pec-modal__body{ padding:1rem 1.5rem; display:flex; flex-direction:column; gap:.75rem; }
.pec-modal__footer{ padding:0 1.5rem 1.5rem; }

/* ---------- 分类行 ---------- */
.pec-cat{
    border:1px solid var(--pec-border);
    border-radius:12px; padding:1rem;
}
.pec-cat__head{
    display:flex; justify-content:space-between;
    align-items:center; gap:.75rem;
}
.pec-cat__name{
    font-weight:600; font-size:.9rem; color:var(--pec-text); margin:0 0 .2rem;
}
.pec-cat__desc{
    font-size:.8rem; color:var(--pec-muted); margin:0; line-height:1.45;
}

/* ---------- 徽章（始终开启） ---------- */
.pec-badge{
    font-size:.75rem; font-weight:600; color:var(--pec-green);
    background:rgba(22,163,74,.1); padding:.2rem .65rem;
    border-radius:50px; white-space:nowrap; flex-shrink:0;
}

/* ---------- 开关 ---------- */
.pec-toggle{ position:relative; display:inline-block; cursor:pointer; flex-shrink:0; }
.pec-toggle input{ opacity:0; width:0; height:0; position:absolute; }
.pec-toggle__track{
    display:block; width:44px; height:24px;
    background:#e0d0c8; border-radius:50px;
    transition:var(--pec-tr); position:relative;
}
.pec-toggle__track::after{
    content:''; position:absolute;
    top:3px; left:3px;
    width:18px; height:18px;
    background:#fff; border-radius:50%;
    transition:var(--pec-tr);
    box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.pec-toggle input:checked + .pec-toggle__track{ background:var(--pec-primary); }
.pec-toggle input:checked + .pec-toggle__track::after{ transform:translateX(20px); }
.pec-toggle input:focus-visible + .pec-toggle__track{
    outline:2px solid var(--pec-primary); outline-offset:2px;
}

/* ---------- 悬浮重设按钮 ---------- */
.pec-revoke-btn{
    position:fixed; bottom:1.25rem; right:1.25rem; z-index:9998;
    width:44px; height:44px; border-radius:50%;
    background:var(--pec-primary); color:#fff;
    border:none; cursor:pointer; font-size:1.1rem;
    box-shadow:0 4px 16px rgba(240,114,38,.4);
    transition:var(--pec-tr);
    display:flex; align-items:center; justify-content:center;
}
.pec-revoke-btn:hover{ background:var(--pec-primary-d); transform:scale(1.08); }

/* ---------- RTL 支持 ---------- */
[dir="rtl"] .pec-cookie-bar{ }
[dir="rtl"] .pec-revoke-btn{ right:auto; left:1.25rem; }

/* ---------- 响应式 ---------- */
@media(max-width:600px){
    .pec-cookie-bar{ bottom:0; left:0; right:0; width:100%; transform:none;
        border-radius:var(--pec-radius) var(--pec-radius) 0 0;
        border-bottom:none;
    }
    @keyframes pecSlideUp{
        from{opacity:0;transform:translateY(24px)}
        to  {opacity:1;transform:translateY(0)}
    }
    .pec-cookie-bar__actions{ width:100%; justify-content:flex-end; }
}