/* ==========================================================
   珠海市承曜科技有限公司 · 主站设计系统
   Tailwind 风格：色板 / 间距 / 圆角 / 阴影 / 组件
   ========================================================== */
:root {
    --slate-50:#f8fafc; --slate-100:#f1f5f9; --slate-200:#e2e8f0; --slate-300:#cbd5e1;
    --slate-400:#94a3b8; --slate-500:#64748b; --slate-600:#475569; --slate-700:#334155;
    --slate-800:#1e293b; --slate-900:#0f172a;
    --sky-50:#f0f9ff; --sky-100:#e0f2fe; --sky-400:#38bdf8; --sky-500:#0ea5e9; --sky-600:#0284c7;
    --indigo-50:#eef2ff; --indigo-100:#e0e7ff; --indigo-500:#6366f1; --indigo-600:#4f46e5; --indigo-700:#4338ca;
    --emerald-50:#ecfdf5; --emerald-400:#34d399; --emerald-500:#10b981; --emerald-600:#059669;
    --amber-50:#fffbeb; --amber-400:#fbbf24; --amber-500:#f59e0b;
    --rose-50:#fff1f2; --rose-500:#f43f5e;
    --grad-primary:linear-gradient(135deg,#0ea5e9 0%,#4f46e5 100%);
    --grad-brand:linear-gradient(135deg,#f8fafc 0%,#eef2ff 100%);
    --grad-dark:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
    --r-sm:8px; --r-md:12px; --r-lg:16px; --r-xl:22px;
    --sh-sm:0 1px 2px rgba(15,23,42,.06);
    --sh-md:0 4px 16px rgba(15,23,42,.06);
    --sh-lg:0 18px 40px rgba(15,23,42,.10);
    --sh-brand:0 10px 30px rgba(79,70,229,.18);
    --ease:cubic-bezier(.4,0,.2,1);
}

body {
    font-family:'PingFang SC','Microsoft YaHei','Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;
    color:var(--slate-700);
    background:#fff;
    -webkit-font-smoothing:antialiased;
}

a { color:inherit; text-decoration:none; transition:color .2s var(--ease); }
img { max-width:100%; }

/* ============ 通用区块 ============ */
.cy-sec { padding:64px 0; }
.cy-sec--tint { background:linear-gradient(180deg,#f8fafc 0%,#fff 100%); }
.cy-sec--soft { background:var(--indigo-50); }
.cy-container { max-width:1320px; margin:0 auto; padding:0 24px; }

.cy-sec-head { text-align:center; margin-bottom:44px; }
.cy-eyebrow {
    display:inline-flex; align-items:center; gap:8px;
    padding:6px 16px; border-radius:999px;
    background:var(--indigo-50); color:var(--indigo-600);
    font-size:13px; font-weight:600; letter-spacing:.4px; margin-bottom:14px;
}
.cy-eyebrow::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--indigo-500); }
.cy-title { font-size:32px; font-weight:800; color:var(--slate-900); letter-spacing:-.4px; margin:0 0 10px; }
.cy-subtitle { font-size:15px; color:var(--slate-500); max-width:680px; margin:0 auto; line-height:1.8; }
@media (max-width:768px){ .cy-sec{padding:44px 0;} .cy-title{font-size:24px;} }

/* ============ 顶部工具条 ============ */
.cy-topbar { background:var(--slate-900); color:var(--slate-300); font-size:13px; }
.cy-topbar .cy-container { display:flex; align-items:center; justify-content:space-between; gap:20px; height:40px; flex-wrap:wrap; }
.cy-topbar-left, .cy-topbar-right { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.cy-topbar-item { display:inline-flex; align-items:center; gap:7px; color:var(--slate-300); }
.cy-topbar-item:hover { color:#fff; }
.cy-topbar-item svg { flex:none; opacity:.75; }
.cy-topbar-divider { width:1px; height:14px; background:rgba(255,255,255,.14); }
@media (max-width:991px){ .cy-topbar{display:none;} }

/* ============ 主导航增强 ============ */
.cy-nav-shell { background:#fff; box-shadow:var(--sh-md); }
.cy-nav-inner { max-width:1320px; margin:0 auto; padding:0 24px; height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.cy-nav-logo { display:flex; align-items:center; flex:none; }
.cy-nav-logo img { height:42px; width:auto; }
.cy-nav-links { display:flex; align-items:center; gap:2px; flex:1 1 auto; justify-content:center; }
.cy-nav-link {
    position:relative; display:inline-flex; align-items:center; gap:6px;
    padding:9px 14px; border-radius:10px; font-size:14.5px; font-weight:500; color:var(--slate-600);
    white-space:nowrap;
}
.cy-nav-link:hover { color:var(--indigo-600); background:var(--indigo-50); }
.cy-nav-link.is-active { color:#fff; background:var(--grad-primary); box-shadow:var(--sh-brand); }
.cy-nav-link--shop {
    color:#fff !important; background:linear-gradient(135deg,#34d399 0%,#10b981 100%);
    box-shadow:0 8px 22px rgba(16,185,129,.28);
}
.cy-nav-link--shop:hover { transform:translateY(-1px); }
.cy-nav-actions { display:flex; align-items:center; gap:10px; flex:none; }
.cy-btn { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; border-radius:999px; font-size:14px; font-weight:600; }
.cy-btn-primary { color:#fff; background:var(--grad-primary); box-shadow:var(--sh-brand); }
.cy-btn-primary:hover { color:#fff; filter:brightness(1.06); transform:translateY(-1px); }
.cy-btn-ghost { color:var(--slate-600); background:var(--slate-100); }
.cy-btn-ghost:hover { color:var(--indigo-600); background:var(--indigo-50); }
.cy-btn-outline { color:var(--indigo-600); border:1.5px solid var(--indigo-100); background:#fff; }
.cy-btn-outline:hover { border-color:var(--indigo-500); background:var(--indigo-50); }
@media (max-width:1200px){ .cy-nav-links{display:none;} }

/* ============ Hero 增强 ============ */
.hero-section { min-height:620px; }
.hero-trust {
    display:flex; align-items:center; gap:26px; flex-wrap:wrap;
    margin-top:34px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12);
}
.hero-trust-item { display:inline-flex; align-items:center; gap:9px; color:rgba(255,255,255,.86); font-size:14px; }
.hero-trust-item b { color:#fff; font-size:18px; font-weight:700; margin-right:2px; }
@media (max-width:768px){ .hero-trust{gap:16px;} .hero-trust-item{font-size:13px;} }

/* ============ 数据统计条 ============ */
.cy-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.cy-stat {
    background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg);
    padding:26px 22px; text-align:center; box-shadow:var(--sh-sm);
    transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.cy-stat:hover { transform:translateY(-6px); box-shadow:var(--sh-lg); }
.cy-stat-num { font-size:34px; font-weight:800; letter-spacing:-1px;
    background:var(--grad-primary); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.cy-stat-num small { font-size:16px; font-weight:700; -webkit-text-fill-color:currentColor; }
.cy-stat-label { margin-top:6px; color:var(--slate-500); font-size:13.5px; letter-spacing:.5px; }
.cy-stat-desc { margin-top:10px; font-size:12.5px; color:var(--slate-400); }
@media (max-width:991px){ .cy-stats{grid-template-columns:repeat(2,1fr);} }

/* ============ 分类卡片 ============ */
.cy-cats { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.cy-cat {
    position:relative; display:block; overflow:hidden;
    padding:26px 24px; border-radius:var(--r-lg); background:#fff;
    border:1px solid var(--slate-200); box-shadow:var(--sh-sm);
    transition:all .3s var(--ease);
}
.cy-cat::after {
    content:''; position:absolute; left:0; top:0; width:4px; height:100%;
    background:var(--grad-primary); transform:scaleY(0); transform-origin:top; transition:transform .3s var(--ease);
}
.cy-cat:hover { transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:var(--indigo-100); }
.cy-cat:hover::after { transform:scaleY(1); }
.cy-cat-icon {
    width:48px; height:48px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    background:var(--sky-50); color:var(--sky-600); margin-bottom:16px; transition:all .3s var(--ease);
}
.cy-cat:hover .cy-cat-icon { background:var(--grad-primary); color:#fff; transform:rotate(-6deg) scale(1.05); }
.cy-cat-title { font-size:17px; font-weight:700; color:var(--slate-900); margin-bottom:8px; }
.cy-cat-desc { font-size:13.5px; color:var(--slate-500); line-height:1.7; }
.cy-cat-meta { margin-top:14px; padding-top:12px; border-top:1px dashed var(--slate-200);
    display:flex; align-items:center; justify-content:space-between; font-size:12.5px; color:var(--slate-400); }
.cy-cat-arrow { color:var(--indigo-500); font-weight:700; }
@media (max-width:991px){ .cy-cats{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cy-cats{grid-template-columns:1fr;} }

/* ============ 服务流程 ============ */
.cy-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.cy-step { position:relative; padding:0 18px; text-align:center; }
.cy-step::before {
    content:''; position:absolute; top:26px; left:50%; width:100%; height:2px;
    background:repeating-linear-gradient(90deg,var(--slate-200) 0 6px,transparent 6px 12px); z-index:0;
}
.cy-step:last-child::before { display:none; }
.cy-step-dot {
    position:relative; z-index:1; width:54px; height:54px; margin:0 auto 16px;
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:#fff; border:2px solid var(--indigo-100); color:var(--indigo-600);
    font-size:17px; font-weight:800; box-shadow:var(--sh-md); transition:all .3s var(--ease);
}
.cy-step:hover .cy-step-dot { background:var(--grad-primary); color:#fff; border-color:transparent; transform:scale(1.08); }
.cy-step-title { font-size:15.5px; font-weight:700; color:var(--slate-900); margin-bottom:6px; }
.cy-step-desc { font-size:13px; color:var(--slate-500); line-height:1.7; }
@media (max-width:991px){ .cy-steps{grid-template-columns:repeat(2,1fr);gap:28px 0;} .cy-step::before{display:none;} }

/* ============ 优势 / 服务承诺 ============ */
.cy-features { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cy-feature { display:flex; gap:16px; padding:22px; border-radius:var(--r-lg); background:#fff; border:1px solid var(--slate-200); box-shadow:var(--sh-sm); transition:all .3s var(--ease); }
.cy-feature:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:var(--emerald-100); }
.cy-feature-icon { flex:none; width:44px; height:44px; border-radius:12px; background:var(--emerald-50); color:var(--emerald-600); display:flex; align-items:center; justify-content:center; }
.cy-feature-title { font-size:15.5px; font-weight:700; color:var(--slate-900); margin-bottom:5px; }
.cy-feature-desc { font-size:13.5px; color:var(--slate-500); line-height:1.7; }
@media (max-width:991px){ .cy-features{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cy-features{grid-template-columns:1fr;} }

/* ============ CTA 通栏 ============ */
.cy-cta { position:relative; overflow:hidden; border-radius:var(--r-xl); padding:52px 48px; background:var(--grad-dark); color:#fff; box-shadow:var(--sh-lg); }
.cy-cta::before { content:''; position:absolute; right:-90px; top:-90px; width:320px; height:320px; border-radius:50%; background:radial-gradient(circle,rgba(56,189,248,.35) 0%,transparent 70%); }
.cy-cta::after { content:''; position:absolute; left:-60px; bottom:-120px; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(99,102,241,.35) 0%,transparent 70%); }
.cy-cta-inner { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.cy-cta h3 { font-size:28px; font-weight:800; margin:0 0 10px; }
.cy-cta p { margin:0; color:rgba(255,255,255,.72); font-size:15px; line-height:1.8; }
.cy-cta-actions { display:flex; gap:12px; flex-wrap:wrap; }
.cy-cta-btn { padding:14px 28px; border-radius:999px; font-weight:600; font-size:15px; display:inline-flex; align-items:center; gap:8px; }
.cy-cta-btn--main { background:var(--grad-primary); color:#fff; box-shadow:var(--sh-brand); }
.cy-cta-btn--main:hover { color:#fff; transform:translateY(-2px); }
.cy-cta-btn--ghost { border:1.5px solid rgba(255,255,255,.28); color:#fff; }
.cy-cta-btn--ghost:hover { color:#fff; background:rgba(255,255,255,.1); }
@media (max-width:768px){ .cy-cta{padding:34px 22px;} .cy-cta h3{font-size:22px;} }

/* ============ 页面标题区（列表/详情/单页） ============ */
.page-title-area { position:relative; overflow:hidden; }
.page-title-area .container { position:relative; z-index:2; }
.page-title { font-size:38px; font-weight:800; letter-spacing:-.5px; text-shadow:0 4px 24px rgba(0,0,0,.25); }
.cy-breadcrumb { display:inline-flex; align-items:center; gap:8px; padding:7px 16px; border-radius:999px;
    background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.9); font-size:13px; backdrop-filter:blur(6px); }
.cy-breadcrumb a:hover { color:#fff; }
.cy-page-meta { margin-top:14px; color:rgba(255,255,255,.78); font-size:14px; }
.cy-page-meta b { color:#fff; }
@media (max-width:768px){ .page-title{font-size:26px;} }

/* ============ 列表页卡片 ============ */
.blog__inner { border-radius:var(--r-lg); border:1px solid var(--slate-200); box-shadow:var(--sh-sm); }
.blog__inner:hover { border-color:var(--indigo-100); box-shadow:var(--sh-lg); transform:translateY(-6px); }
.blog__media { position:relative; }
.cy-badge {
    position:absolute; left:12px; top:12px; z-index:2;
    padding:5px 11px; border-radius:999px; font-size:12px; font-weight:600;
    background:var(--grad-primary); color:#fff; box-shadow:var(--sh-brand);
}
.cy-badge--soft { background:rgba(255,255,255,.92); color:var(--indigo-600); box-shadow:none; }
.blog__meta { color:var(--slate-400); font-size:12.5px; }
.cy-divider { height:1px; background:var(--slate-200); margin:14px 0; }

/* ============ 详情页 ============ */
.product-summary { padding:8px 0; }
.cy-detail-meta { display:flex; flex-wrap:wrap; gap:10px 22px; padding:14px 18px; border-radius:var(--r-md);
    background:var(--slate-50); border:1px solid var(--slate-200); font-size:13.5px; color:var(--slate-500); }
.cy-detail-meta span b { color:var(--slate-800); font-weight:600; }
.cy-trust-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:20px; }
.cy-trust-item { display:flex; align-items:center; gap:9px; padding:12px 14px; border-radius:var(--r-md); background:var(--emerald-50); color:var(--emerald-600); font-size:13px; font-weight:600; }
@media (max-width:768px){ .cy-trust-row{grid-template-columns:repeat(2,1fr);} }
.cy-contact-card { border:1px solid var(--slate-200); border-radius:var(--r-lg); padding:22px; box-shadow:var(--sh-sm); background:#fff; }
.cy-contact-card h4 { font-size:16px; font-weight:700; color:var(--slate-900); margin:0 0 14px; }
.cy-contact-row { display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px dashed var(--slate-200); font-size:14px; color:var(--slate-600); }
.cy-contact-row:first-of-type { border-top:0; }
.cy-contact-row b { color:var(--slate-800); }

/* ============ 页脚 ============ */
.cy-footer { background:var(--grad-dark); color:var(--slate-400); }
.cy-footer-inner { max-width:1320px; margin:0 auto; padding:56px 24px 0; }
.cy-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:38px; }
.cy-footer-brand img { height:44px; width:auto; margin-bottom:18px; }
.cy-footer-brand p { font-size:13.5px; line-height:1.9; color:var(--slate-400); }
.cy-footer-social { display:flex; gap:10px; margin-top:18px; }
.cy-social-dot { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.07); color:#fff; font-size:13px; font-weight:600; transition:all .25s var(--ease); }
.cy-social-dot:hover { background:var(--grad-primary); transform:translateY(-3px); }
.cy-footer-title { font-size:15px; font-weight:700; color:#fff; margin:0 0 16px; letter-spacing:.5px; }
.cy-footer-links { list-style:none; margin:0; padding:0; }
.cy-footer-links li { margin-bottom:10px; }
.cy-footer-links a { font-size:13.5px; color:var(--slate-400); }
.cy-footer-links a:hover { color:var(--sky-400); padding-left:4px; }
.cy-footer-contact { list-style:none; margin:0; padding:0; }
.cy-footer-contact li { display:flex; gap:10px; margin-bottom:14px; font-size:13.5px; line-height:1.7; color:var(--slate-400); }
.cy-footer-contact svg { flex:none; margin-top:3px; color:var(--sky-400); }
.cy-footer-bottom { margin-top:42px; padding:18px 0 26px; border-top:1px solid rgba(255,255,255,.1);
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px; }
@media (max-width:991px){ .cy-footer-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cy-footer-grid{grid-template-columns:1fr;} .cy-footer-bottom{justify-content:center;text-align:center;} }

/* ============ 回到顶部 ============ */
.cy-backtop { position:fixed; right:22px; bottom:26px; width:46px; height:46px; border-radius:50%;
    background:var(--grad-primary); color:#fff; display:flex; align-items:center; justify-content:center;
    box-shadow:var(--sh-brand); cursor:pointer; opacity:0; visibility:hidden; transition:all .3s var(--ease); z-index:9999; }
.cy-backtop.is-show { opacity:1; visibility:visible; }
.cy-backtop:hover { transform:translateY(-4px); }

/* ============ 徽标 / 标签 ============ */
.cy-pill { display:inline-flex; align-items:center; gap:6px; padding:5px 12px; border-radius:999px; font-size:12.5px; font-weight:600; }
.cy-pill-sky { background:var(--sky-50); color:var(--sky-600); }
.cy-pill-emerald { background:var(--emerald-50); color:var(--emerald-600); }
.cy-pill-amber { background:var(--amber-50); color:var(--amber-500); }
.cy-pill-indigo { background:var(--indigo-50); color:var(--indigo-600); }

/* ============ 通用动效 ============ */
.cy-reveal { opacity:0; transform:translateY(24px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.cy-reveal.is-in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .cy-reveal{opacity:1;transform:none;} }

/* ============ 兼容模板既有 !important 规则的导航覆盖 ============ */
.main-navigation .mainmenu__link.cy-nav-link:hover {
    color:var(--indigo-600) !important; background:var(--indigo-50) !important;
}
.main-navigation .mainmenu__link.cy-nav-link.active {
    color:#fff !important; background:var(--grad-primary) !important; box-shadow:var(--sh-brand);
}
.main-navigation .mainmenu__link.cy-nav-link--shop,
.main-navigation .mainmenu__link.cy-nav-link--shop:hover {
    color:#fff !important; background:linear-gradient(135deg,#34d399 0%,#10b981 100%) !important;
    box-shadow:0 8px 22px rgba(16,185,129,.28);
}


/* ==========================================================
   深色底区块文字颜色强制兜底（防止主题 h1-h6/正文色覆盖）
   ========================================================== */
.cy-cta, .cy-cta * { color:#fff !important; }
.cy-cta p, .cy-cta .cy-cta-sub { color:rgba(255,255,255,.78) !important; }
.cy-cta h3 { color:#fff !important; font-size:30px; line-height:1.35; }
.cy-cta .cy-cta-btn--main { color:#fff !important; }
.cy-cta .cy-cta-btn--ghost { color:#fff !important; }

.cy-footer, .cy-footer .cy-footer-title, .cy-footer .cy-footer-bottom { color:var(--slate-400); }
.cy-footer .cy-footer-title { color:#fff !important; }
.cy-footer a { color:var(--slate-400); }
.cy-footer .cy-footer-links a:hover { color:var(--sky-400) !important; }

.hero-section .hero-title, .hero-section h1, .hero-section h2 { color:#fff !important; }
.hero-section .hero-subtitle, .hero-section .hero-tag { color:rgba(255,255,255,.78) !important; }
.hero-trust, .hero-trust-item, .hero-trust-item b { color:#fff !important; }
.hero-trust-item { color:rgba(255,255,255,.86) !important; }


.cy-steps .cy-step-title, .cy-cats .cy-cat-title, .cy-features .cy-feature-title,
.cy-sec .cy-title { color:var(--slate-900); }
.cy-sec .cy-title { color:var(--slate-900) !important; }
.cy-subtitle { color:var(--slate-500) !important; }

/* ============ 最新信息列表 ============ */
.cy-latest-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.cy-latest-item {
    display:flex; align-items:center; gap:16px; padding:14px 18px;
    background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg);
    box-shadow:var(--sh-sm); transition:all .3s var(--ease);
}
.cy-latest-item:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); border-color:var(--indigo-100); }
.cy-latest-thumb { flex:none; width:76px; height:58px; border-radius:12px; overflow:hidden; background:var(--slate-100); }
.cy-latest-thumb img { width:100%; height:100%; object-fit:cover; }
.cy-latest-body { flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:8px; }
.cy-latest-title { font-size:15px; font-weight:600; color:var(--slate-800); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cy-latest-item:hover .cy-latest-title { color:var(--indigo-600); }
.cy-latest-meta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:12.5px; color:var(--slate-400); }
.cy-latest-arrow { flex:none; color:var(--indigo-500); font-weight:700; }
.cy-more-wrap { text-align:center; margin-top:30px; }
@media (max-width:991px){ .cy-latest-grid{grid-template-columns:1fr;} }

/* ============ 服务商卡片 ============ */
.cy-members { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cy-member {
    display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
    padding:28px 22px; background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg);
    box-shadow:var(--sh-sm); transition:all .3s var(--ease);
}
.cy-member:hover { transform:translateY(-6px); box-shadow:var(--sh-lg); border-color:var(--indigo-100); }
.cy-member-avatar { width:64px; height:64px; border-radius:18px; overflow:hidden; background:var(--slate-100); border:2px solid #fff; box-shadow:var(--sh-md); }
.cy-member-avatar img { width:100%; height:100%; object-fit:cover; }
.cy-member-name { font-size:16px; font-weight:700; color:var(--slate-900); }
.cy-member-desc { font-size:13px; color:var(--slate-500); line-height:1.75; min-height:44px; }
.cy-member-foot { margin-top:auto; width:100%; padding-top:12px; border-top:1px dashed var(--slate-200); display:flex; align-items:center; justify-content:space-between; }
.cy-member-more { font-size:12.5px; font-weight:600; color:var(--indigo-600); }
@media (max-width:991px){ .cy-members{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cy-members{grid-template-columns:1fr;} }

/* ============ FAQ 列表 ============ */
.cy-faq-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cy-faq-item {
    display:flex; flex-direction:column; gap:8px; padding:20px 22px;
    background:#fff; border:1px solid var(--slate-200); border-radius:var(--r-lg);
    box-shadow:var(--sh-sm); transition:all .3s var(--ease);
}
.cy-faq-item:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--indigo-100); }
.cy-faq-q { font-size:15px; font-weight:700; color:var(--slate-900); }
.cy-faq-item:hover .cy-faq-q { color:var(--indigo-600); }
.cy-faq-a { font-size:13px; line-height:1.8; color:var(--slate-500); }
@media (max-width:991px){ .cy-faq-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cy-faq-grid{grid-template-columns:1fr;} }

/* ==========================================================
   v4 · 品牌识别层（星曜母题 / 悬浮玻璃 Header / 非对称 Hero）
   ========================================================== */
:root {
    --cy-cyan-100:#cffafe; --cy-cyan-300:#67e8f9; --cy-cyan-400:#22d3ee; --cy-cyan-500:#06b6d4;
    --cy-violet-500:#8b5cf6; --cy-violet-600:#7c3aed;
    --grad-brand: linear-gradient(120deg, #22d3ee 0%, #4f46e5 55%, #7c3aed 100%);
    --grad-mesh: radial-gradient(120% 120% at 12% 0%, rgba(34,211,238,.16) 0%, rgba(34,211,238,0) 46%),
                 radial-gradient(110% 110% at 88% 8%, rgba(124,58,237,.16) 0%, rgba(124,58,237,0) 50%),
                 linear-gradient(180deg, #f8fbff 0%, #ffffff 62%, #f8fafc 100%);
    --hairline: linear-gradient(90deg, rgba(34,211,238,0), rgba(79,70,229,.55), rgba(124,58,237,0));
}

/* ---------- 悬浮玻璃 Header ---------- */
.cy-header {
    position: sticky; top: 0; z-index: 900;
    padding: 14px 20px 10px;
    background: linear-gradient(180deg, rgba(248,250,252,.92) 0%, rgba(248,250,252,.6) 70%, rgba(248,250,252,0) 100%);
}
.cy-header-inner {
    max-width: 1320px; margin: 0 auto;
    display: flex; align-items: center; gap: 20px;
    padding: 10px 14px 10px 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(226,232,240,.9);
    box-shadow: 0 12px 34px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.7);
    backdrop-filter: blur(16px) saturate(1.25);
    transition: box-shadow .3s var(--ease), padding .3s var(--ease), background .3s var(--ease);
}
.cy-header.is-stuck .cy-header-inner {
    padding: 8px 14px 8px 18px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 18px 44px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.8);
}
.cy-header::after { content:''; display:block; height:1px; max-width:1320px; margin:12px auto 0; background:var(--hairline); opacity:.5; }
.cy-header.is-stuck::after { opacity:0; }

.cy-brand { display:flex; align-items:center; flex:none; }
.cy-brand img { height:42px; width:auto; }

.cy-nav { display:flex; align-items:center; gap:4px; flex:1 1 auto; justify-content:center; overflow:hidden; }
.cy-nav .cy-nav-item {
    position:relative; display:inline-flex; align-items:center; gap:7px;
    padding:9px 14px; border-radius:12px; font-size:14.5px; font-weight:500; color:var(--slate-600);
    white-space:nowrap; transition:all .22s var(--ease);
}
.cy-nav .cy-nav-item::after {
    content:''; position:absolute; left:50%; bottom:4px; width:0; height:2px; border-radius:2px;
    background:var(--grad-brand); transform:translateX(-50%); transition:width .25s var(--ease);
}
.cy-nav .cy-nav-item:hover { color:var(--indigo-600); background:rgba(79,70,229,.06); }
.cy-nav .cy-nav-item:hover::after { width:18px; }
.cy-nav .cy-nav-item.is-active { color:#fff; background:var(--grad-brand); box-shadow:0 10px 24px rgba(79,70,229,.25); }
.cy-nav .cy-nav-item.is-active::after { display:none; }
.cy-nav .cy-nav-item--accent {
    color:#fff !important; background:linear-gradient(120deg,#22d3ee,#0ea5e9 60%,#4f46e5) !important;
    box-shadow:0 10px 26px rgba(6,182,212,.3) !important;
}
.cy-nav .cy-nav-item--accent::after { display:none; }

.cy-header-actions { display:flex; align-items:center; gap:10px; flex:none; }
.cy-header-search {
    display:flex; align-items:center; gap:8px; height:40px; padding:0 8px 0 14px;
    border-radius:999px; background:var(--slate-100); border:1px solid transparent; transition:all .25s var(--ease);
}
.cy-header-search:focus-within { background:#fff; border-color:var(--indigo-100); box-shadow:0 8px 20px rgba(15,23,42,.06); }
.cy-header-search input { border:0; outline:0; background:transparent; width:132px; font-size:13.5px; color:var(--slate-700); }
.cy-header-search button {
    width:30px; height:30px; border:0; border-radius:50%; cursor:pointer; color:#fff;
    background:var(--grad-brand); display:flex; align-items:center; justify-content:center;
}
.cy-btn-publish {
    display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 20px; border-radius:999px;
    color:#fff; font-size:14px; font-weight:600; background:var(--slate-900);
    box-shadow:0 10px 24px rgba(15,23,42,.18); transition:all .25s var(--ease);
}
.cy-btn-publish:hover { color:#fff; transform:translateY(-1px); box-shadow:0 14px 30px rgba(15,23,42,.24); }
@media (max-width:1200px){ .cy-header-search{display:none;} }
@media (max-width:991px){ .cy-nav{display:none;} .cy-header{padding:10px 12px 6px;} }

/* ---------- 非对称 Hero ---------- */
.cy-hero {
    position: relative; overflow: hidden;
    background: var(--grad-mesh);
    padding: 56px 0 96px;
}
.cy-hero-grid {
    position:absolute; inset:0;
    background-image:url('/assets/img/grid.svg'); background-size:44px 44px;
    mask-image:radial-gradient(120% 90% at 20% 10%, #000 0%, transparent 72%);
    -webkit-mask-image:radial-gradient(120% 90% at 20% 10%, #000 0%, transparent 72%);
    opacity:.7; pointer-events:none;
}
.cy-hero-inner {
    position:relative; z-index:2; max-width:1320px; margin:0 auto; padding:0 24px;
    display:grid; grid-template-columns:1.08fr .92fr; gap:40px; align-items:center;
}
.cy-hero-eyebrow {
    display:inline-flex; align-items:center; gap:9px; padding:7px 16px; border-radius:999px;
    background:rgba(255,255,255,.8); border:1px solid var(--indigo-100); color:var(--indigo-600);
    font-size:13px; font-weight:600; box-shadow:0 6px 18px rgba(79,70,229,.08); margin-bottom:22px;
}
.cy-hero-eyebrow img { width:14px; height:14px; }
.cy-hero-title {
    font-size:60px; line-height:1.12; font-weight:800; letter-spacing:-1.6px;
    color:var(--slate-900) !important; margin:0 0 20px;
}
.cy-hero-title .cy-hl {
    background:var(--grad-brand); -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
}
.cy-hero-title .cy-outline {
    color:transparent; -webkit-text-stroke:1.6px var(--slate-900);
}
.cy-hero-sub { font-size:17px; line-height:1.9; color:var(--slate-500) !important; max-width:520px; margin:0 0 30px; }
.cy-hero-cta { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:26px; }
.cy-hero-btn {
    display:inline-flex; align-items:center; gap:9px; height:52px; padding:0 28px; border-radius:999px;
    font-size:15.5px; font-weight:600; transition:all .25s var(--ease);
}
.cy-hero-btn--primary { color:#fff; background:var(--grad-brand); box-shadow:0 16px 36px rgba(79,70,229,.28); }
.cy-hero-btn--primary:hover { color:#fff; transform:translateY(-2px); box-shadow:0 20px 44px rgba(79,70,229,.34); }
.cy-hero-btn--ghost { color:var(--slate-800); background:#fff; border:1px solid var(--slate-200); box-shadow:var(--sh-sm); }
.cy-hero-btn--ghost:hover { color:var(--indigo-600); border-color:var(--indigo-200, #c7d2fe); transform:translateY(-2px); }
.cy-hero-proof { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.cy-hero-proof span { display:inline-flex; align-items:center; gap:7px; font-size:13.5px; color:var(--slate-500); }
.cy-hero-proof span img { width:13px; height:13px; }

.cy-hero-right { position:relative; min-height:420px; }
.cy-hero-visual { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.cy-hero-visual svg { width:100%; max-width:520px; height:auto; }
.cy-hero-glow {
    position:absolute; width:420px; height:420px; right:-40px; top:-10px; border-radius:50%;
    background:radial-gradient(circle, rgba(34,211,238,.28) 0%, rgba(124,58,237,.2) 42%, rgba(255,255,255,0) 70%);
    filter:blur(6px); pointer-events:none;
}
.cy-float-card {
    position:absolute; display:flex; align-items:center; gap:12px;
    padding:14px 18px; border-radius:18px; background:rgba(255,255,255,.92);
    border:1px solid rgba(226,232,240,.9); box-shadow:0 18px 44px rgba(15,23,42,.12);
    backdrop-filter:blur(10px); animation:cyFloat 6s ease-in-out infinite;
}
.cy-float-card .cy-fc-icon {
    width:38px; height:38px; border-radius:12px; display:flex; align-items:center; justify-content:center;
    background:var(--grad-brand); color:#fff; flex:none;
}
.cy-float-card .cy-fc-num { font-size:20px; font-weight:800; color:var(--slate-900); line-height:1.1; }
.cy-float-card .cy-fc-label { font-size:12.5px; color:var(--slate-500); }
.cy-float-card--1 { left:0; top:26px; }
.cy-float-card--2 { right:6px; top:172px; animation-delay:1.4s; }
.cy-float-card--3 { left:26px; bottom:34px; animation-delay:2.6s; }
@keyframes cyFloat { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
.cy-hero-diagonal {
    position:absolute; left:0; right:0; bottom:-1px; height:96px;
    background:#fff; clip-path:polygon(0 62%, 100% 0, 100% 100%, 0 100%);
}
@media (max-width:991px){
    .cy-hero { padding:36px 0 72px; }
    .cy-hero-inner { grid-template-columns:1fr; gap:26px; }
    .cy-hero-title { font-size:38px; letter-spacing:-1px; }
    .cy-hero-right { min-height:320px; }
    .cy-float-card--1{ left:0; top:0; } .cy-float-card--2{ right:0; top:130px; } .cy-float-card--3{ left:0; bottom:10px; }
}

/* ---------- 浅色品牌页头（替换死黑渐变） ---------- */
.page-title-area {
    position:relative; overflow:hidden;
    background:var(--grad-mesh) !important;
    padding:58px 0 54px !important;
}
.page-title-area::before {
    content:''; position:absolute; inset:0;
    background-image:url('/assets/img/grid.svg'); background-size:44px 44px;
    mask-image:radial-gradient(120% 100% at 50% 0%, #000 0%, transparent 70%);
    -webkit-mask-image:radial-gradient(120% 100% at 50% 0%, #000 0%, transparent 70%);
    opacity:.6;
}
.page-title-area::after {
    content:''; position:absolute; right:-120px; top:-120px; width:420px; height:420px; border-radius:50%;
    background:radial-gradient(circle, rgba(34,211,238,.22) 0%, rgba(124,58,237,.16) 45%, rgba(255,255,255,0) 72%);
}
.page-title-area .container { position:relative; z-index:2; }
.page-title-area h1, .page-title-area .page-title { color:var(--slate-900) !important; }
.cy-eyebrow--light {
    background:rgba(255,255,255,.85) !important; color:var(--indigo-600) !important;
    border:1px solid var(--indigo-100); box-shadow:0 6px 18px rgba(79,70,229,.08);
}
.cy-page-meta { color:var(--slate-500) !important; }
.cy-page-meta b { color:var(--slate-800) !important; }
.cy-breadcrumb {
    background:rgba(255,255,255,.8) !important; border:1px solid var(--slate-200) !important;
    color:var(--slate-500) !important; backdrop-filter:blur(6px);
}
.cy-breadcrumb a { color:var(--slate-600); }
.cy-breadcrumb a:hover { color:var(--indigo-600); }
.cy-page-star { position:absolute; left:50%; transform:translateX(-50%); bottom:-9px; width:18px; height:18px; z-index:3; }

/* ---------- 星曜分割符 / 栏目标记 ---------- */
.cy-divider-star { display:flex; align-items:center; justify-content:center; gap:14px; margin:0 auto; max-width:1320px; padding:0 24px; }
.cy-divider-star i { flex:1; height:1px; background:var(--hairline); }
.cy-divider-star img { width:16px; height:16px; opacity:.9; }
.cy-sec-head { position:relative; }
.cy-sec-head .cy-title { position:relative; }
.cy-title-star { display:inline-flex; width:16px; height:16px; margin-right:8px; vertical-align:-1px; }
.cy-sec-count { font-size:13px; color:var(--slate-400); margin-left:6px; font-weight:600; }

/* ==========================================================
   v4 · 楼层差异化版式
   ========================================================== */

/* 1) 分类：非对称 Bento */
.cy-bento { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:150px; gap:18px; }
.cy-bento-item {
    position:relative; overflow:hidden; border-radius:20px; padding:24px;
    background:#fff; border:1px solid var(--slate-200); box-shadow:var(--sh-sm);
    display:flex; flex-direction:column; justify-content:space-between;
    transition:all .3s var(--ease);
}
.cy-bento-item:hover { transform:translateY(-5px); box-shadow:var(--sh-lg); border-color:var(--indigo-100); }
.cy-bento-item:nth-child(1) { grid-column:span 6; grid-row:span 2; background:linear-gradient(150deg,#f5f3ff 0%,#eef2ff 55%,#ecfeff 100%); }
.cy-bento-item:nth-child(2) { grid-column:span 6; }
.cy-bento-item:nth-child(3) { grid-column:span 3; }
.cy-bento-item:nth-child(4) { grid-column:span 3; }
.cy-bento-icon {
    width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center;
    background:#fff; color:var(--indigo-600); box-shadow:var(--sh-sm);
}
.cy-bento-item:nth-child(1) .cy-bento-icon { width:56px; height:56px; background:var(--grad-brand); color:#fff; }
.cy-bento-title { font-size:18px; font-weight:700; color:var(--slate-900); margin:14px 0 6px; }
.cy-bento-item:nth-child(1) .cy-bento-title { font-size:26px; }
.cy-bento-desc { font-size:13px; color:var(--slate-500); line-height:1.7; }
.cy-bento-item:nth-child(1) .cy-bento-desc { font-size:14.5px; max-width:340px; }
.cy-bento-foot { margin-top:14px; display:flex; align-items:center; justify-content:space-between; font-size:12.5px; color:var(--slate-400); }
.cy-bento-stat { font-weight:700; color:var(--indigo-600); }
.cy-bento-star { position:absolute; right:-24px; bottom:-24px; width:120px; height:120px; opacity:.10; }
@media (max-width:991px){
    .cy-bento { grid-template-columns:repeat(6,1fr); grid-auto-rows:auto; }
    .cy-bento-item, .cy-bento-item:nth-child(n) { grid-column:span 6; grid-row:auto; }
}

/* 2) 热销：榜单（左冠军 + 右排行） */
.cy-rank { display:grid; grid-template-columns:.92fr 1.08fr; gap:24px; align-items:stretch; }
.cy-rank-champ {
    position:relative; display:flex; flex-direction:column; justify-content:flex-end;
    min-height:420px; border-radius:22px; overflow:hidden; padding:26px;
    background:#0f172a; box-shadow:var(--sh-lg);
}
.cy-rank-champ img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.92; }
.cy-rank-champ::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,23,42,0) 35%, rgba(15,23,42,.88) 100%); }
.cy-rank-champ > * { position:relative; z-index:2; }
.cy-rank-medal {
    align-self:flex-start; display:inline-flex; align-items:center; gap:8px;
    padding:7px 14px; border-radius:999px; font-size:12.5px; font-weight:700; color:#0f172a;
    background:linear-gradient(120deg,#fde68a,#fbbf24); box-shadow:0 10px 24px rgba(251,191,36,.35);
    margin-bottom:auto;
}
.cy-rank-champ-name { font-size:20px; font-weight:700; color:#fff; line-height:1.5; margin:0 0 10px; }
.cy-rank-champ-price { display:flex; align-items:baseline; gap:10px; margin-bottom:14px; }
.cy-rank-champ-price .now { font-size:26px; font-weight:800; color:#fff; }
.cy-rank-champ-price del { font-size:13px; color:rgba(255,255,255,.55); }
.cy-rank-champ-btn {
    align-self:flex-start; display:inline-flex; align-items:center; gap:8px; height:44px; padding:0 22px;
    border-radius:999px; color:#0f172a; background:#fff; font-size:14px; font-weight:700;
}
.cy-rank-champ-btn:hover { color:#0f172a; transform:translateY(-2px); }

.cy-rank-list { display:flex; flex-direction:column; gap:10px; }
.cy-rank-row {
    display:flex; align-items:center; gap:16px; padding:14px 18px;
    background:#fff; border:1px solid var(--slate-200); border-radius:16px;
    box-shadow:var(--sh-sm); transition:all .25s var(--ease);
}
.cy-rank-row:hover { transform:translateX(4px); box-shadow:var(--sh-md); border-color:var(--indigo-100); }
.cy-rank-no {
    flex:none; width:34px; height:34px; border-radius:11px; display:flex; align-items:center; justify-content:center;
    font-size:14px; font-weight:800; color:var(--slate-400); background:var(--slate-100);
}
.cy-rank-row:nth-child(1) .cy-rank-no { color:#fff; background:linear-gradient(120deg,#fbbf24,#f59e0b); }
.cy-rank-row:nth-child(2) .cy-rank-no { color:#fff; background:linear-gradient(120deg,#94a3b8,#64748b); }
.cy-rank-row:nth-child(3) .cy-rank-no { color:#fff; background:linear-gradient(120deg,#fb923c,#ea580c); }
.cy-rank-title { flex:1 1 auto; min-width:0; font-size:14.5px; font-weight:600; color:var(--slate-800);
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cy-rank-row:hover .cy-rank-title { color:var(--indigo-600); }
.cy-rank-bar { flex:none; width:86px; height:6px; border-radius:6px; background:var(--slate-100); overflow:hidden; }
.cy-rank-bar i { display:block; height:100%; border-radius:6px; background:var(--grad-brand); transition:width .8s var(--ease); }
.cy-rank-price { flex:none; font-size:15px; font-weight:800; color:#e11d48; }
@media (max-width:991px){ .cy-rank{grid-template-columns:1fr;} .cy-rank-champ{min-height:320px;} .cy-rank-bar{display:none;} }

/* 3) 新品：横向滑动 */
.cy-rail-wrap { position:relative; }
.cy-rail { display:flex; gap:18px; overflow-x:auto; padding:6px 2px 18px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.cy-rail::-webkit-scrollbar { display:none; }
.cy-rail > * { flex:0 0 262px; scroll-snap-align:start; }
.cy-rail-nav { position:absolute; top:-58px; right:0; display:flex; gap:8px; }
.cy-rail-btn {
    width:40px; height:40px; border-radius:12px; border:1px solid var(--slate-200); background:#fff;
    color:var(--slate-600); display:flex; align-items:center; justify-content:center; cursor:pointer;
    box-shadow:var(--sh-sm); transition:all .22s var(--ease);
}
.cy-rail-btn:hover { color:#fff; background:var(--grad-brand); border-color:transparent; }
.cy-rail-btn[disabled] { opacity:.35; cursor:not-allowed; }
.cy-rail-card {
    display:flex; flex-direction:column; height:340px; border-radius:18px; overflow:hidden;
    background:#fff; border:1px solid var(--slate-200); box-shadow:var(--sh-sm); transition:all .3s var(--ease);
}
.cy-rail-card:hover { transform:translateY(-6px); box-shadow:var(--sh-lg); }
.cy-rail-media { position:relative; height:200px; overflow:hidden; background:var(--slate-100); }
.cy-rail-media img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--ease); }
.cy-rail-card:hover .cy-rail-media img { transform:scale(1.06); }
.cy-rail-body { padding:14px 16px; display:flex; flex-direction:column; gap:8px; flex:1; }
.cy-rail-name { font-size:14px; font-weight:600; color:var(--slate-800); line-height:1.55;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cy-rail-price { margin-top:auto; font-size:15px; font-weight:800; color:#e11d48; }

/* 4) 精选：杂志分栏 */
.cy-mag { display:grid; grid-template-columns:1.25fr 1fr; gap:20px; }
.cy-mag-main {
    position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:420px;
    border-radius:22px; overflow:hidden; padding:28px; box-shadow:var(--sh-md);
}
.cy-mag-main img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cy-mag-main::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,23,42,.06) 40%, rgba(15,23,42,.86) 100%); }
.cy-mag-main > * { position:relative; z-index:2; }
.cy-mag-tag { align-self:flex-start; padding:6px 13px; border-radius:999px; font-size:12px; font-weight:700;
    color:#fff; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.28); margin-bottom:auto; }
.cy-mag-main-title { font-size:21px; font-weight:700; color:#fff; line-height:1.5; margin:0 0 10px; }
.cy-mag-main-price { font-size:22px; font-weight:800; color:#fff; }
.cy-mag-side { display:grid; grid-template-rows:1fr 1fr; gap:20px; }
.cy-mag-mini { display:flex; gap:16px; padding:16px; border-radius:18px; background:#fff; border:1px solid var(--slate-200); box-shadow:var(--sh-sm); transition:all .3s var(--ease); }
.cy-mag-mini:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--indigo-100); }
.cy-mag-mini img { width:112px; height:100%; min-height:104px; border-radius:12px; object-fit:cover; flex:none; background:var(--slate-100); }
.cy-mag-mini-body { display:flex; flex-direction:column; justify-content:center; gap:8px; min-width:0; }
.cy-mag-mini-title { font-size:14.5px; font-weight:600; color:var(--slate-800); line-height:1.55;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cy-mag-mini-price { font-size:16px; font-weight:800; color:#e11d48; }
@media (max-width:991px){ .cy-mag{grid-template-columns:1fr;} .cy-mag-main{min-height:300px;} }

/* 5) 价格区间：分段渐变条 */
.cy-segbar { position:relative; }
.cy-segbar-track { display:grid; grid-template-columns:56fr 58fr 63fr 6fr; height:14px; border-radius:999px; overflow:hidden; box-shadow:inset 0 0 0 1px rgba(226,232,240,.9); }
.cy-segbar-track i { display:block; }
.cy-segbar-track i:nth-child(1) { background:linear-gradient(90deg,#a5f3fc,#67e8f9); }
.cy-segbar-track i:nth-child(2) { background:linear-gradient(90deg,#67e8f9,#818cf8); }
.cy-segbar-track i:nth-child(3) { background:linear-gradient(90deg,#818cf8,#7c3aed); }
.cy-segbar-track i:nth-child(4) { background:linear-gradient(90deg,#7c3aed,#4c1d95); }
.cy-segbar-stops { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:20px; }
.cy-segstop {
    text-align:left; background:#fff; border:1px solid var(--slate-200); border-radius:16px; padding:18px 20px;
    box-shadow:var(--sh-sm); cursor:pointer; transition:all .28s var(--ease);
}
.cy-segstop:hover { transform:translateY(-5px); box-shadow:var(--sh-lg); border-color:var(--indigo-100); }
.cy-segstop-label { font-size:15px; font-weight:700; color:var(--slate-900); margin-bottom:6px; }
.cy-segstop-count { font-size:12.5px; color:var(--slate-500); }
.cy-segstop-count b { color:var(--indigo-600); font-size:15px; }
.cy-segstop-hint { margin-top:10px; font-size:12px; color:var(--slate-400); display:flex; align-items:center; gap:5px; }
@media (max-width:991px){ .cy-segbar-stops{grid-template-columns:repeat(2,1fr);} }

/* 6) FAQ：编号手风琴 */
.cy-acc { display:grid; grid-template-columns:repeat(2,1fr); gap:0 34px; }
.cy-acc-item { border-bottom:1px solid var(--slate-200); }
.cy-acc-q {
    width:100%; display:flex; align-items:center; gap:16px; padding:20px 0; cursor:pointer;
    background:transparent; border:0; text-align:left; font-size:16px; font-weight:600; color:var(--slate-800);
}
.cy-acc-no { flex:none; font-size:13px; font-weight:800; color:var(--indigo-600); letter-spacing:.5px; }
.cy-acc-icon { margin-left:auto; flex:none; width:26px; height:26px; border-radius:50%; border:1px solid var(--slate-200);
    display:flex; align-items:center; justify-content:center; color:var(--slate-500); transition:all .25s var(--ease); }
.cy-acc-item.is-open .cy-acc-icon { color:#fff; background:var(--grad-brand); border-color:transparent; transform:rotate(45deg); }
.cy-acc-a { max-height:0; overflow:hidden; transition:max-height .35s var(--ease); }
.cy-acc-a-inner { padding:0 42px 20px 0; font-size:14px; line-height:1.9; color:var(--slate-500); }
.cy-acc-item.is-open .cy-acc-q { color:var(--indigo-600); }
@media (max-width:991px){ .cy-acc{grid-template-columns:1fr;} }

/* 7) CTA：斜切 + 星曜水印 */
.cy-cta--diag { border-radius:0; clip-path:polygon(0 0, 100% 4%, 100% 100%, 0 96%); padding:70px 48px 78px; }
.cy-cta-star { position:absolute; right:8%; top:18%; width:170px; height:170px; opacity:.16; animation:cySpin 34s linear infinite; }
@keyframes cySpin { to { transform:rotate(360deg); } }
.cy-cta-metric { display:flex; gap:26px; margin-top:20px; flex-wrap:wrap; }
.cy-cta-metric span { font-size:13.5px; color:rgba(255,255,255,.72); display:inline-flex; align-items:center; gap:7px; }
.cy-cta-metric b { color:#fff; font-size:17px; }

/* v4 补充：统计卡片星标 / 标签行 / 小价格 */
.cy-stat { position:relative; overflow:hidden; }
.cy-stat-star { position:absolute; right:-16px; top:-16px; width:86px; height:86px; opacity:.08; }
.cy-tag-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.cy-rail-price--sm { font-size:13px; font-weight:600; color:var(--indigo-600); }
.cy-mag-main { cursor:pointer; }

/* ==========================================================
   v4.1 · Header 宽度自适应修复（不再裁切导航）
   ========================================================== */
.cy-header-inner {
    gap: 14px;
    padding: 10px 12px 10px 16px;
}
.cy-brand img { height: 38px; }
.cy-nav {
    flex: 0 1 auto;
    min-width: 0;
    gap: 2px;
    justify-content: flex-start;
    overflow: visible;
}
.cy-nav .cy-nav-item { padding: 8px 11px; font-size: 14px; gap: 6px; }
.cy-header-actions { gap: 8px; }
.cy-header-search { padding: 0 6px 0 12px; height: 38px; }
.cy-header-search input { width: 104px; font-size: 13px; }
.cy-btn-publish { height: 38px; padding: 0 16px; font-size: 13.5px; }
.cy-header .cy-btn { padding: 9px 15px; font-size: 13.5px; }

/* 逐步降级：先把可选项收起，再收搜索框，最后切抽屉 */
@media (max-width: 1560px) { .cy-nav .cy-nav-item--optional { display: none; } }
@media (max-width: 1440px) {
    .cy-nav .cy-nav-item { padding: 8px 9px; font-size: 13.5px; }
    .cy-header-search input { width: 84px; }
}
@media (max-width: 1320px) {
    .cy-header-search { display: none; }
    .cy-btn-publish-text { display: none; }
    .cy-btn-publish { padding: 0 12px; }
    .cy-header .cy-btn-ghost span { display: none; }
}
@media (max-width: 1180px) {
    .cy-nav { display: none; }
    .cy-menu-toggle { display: flex !important; }
    .cy-header-login { display: none; }
}

/* ---------- 汉堡按钮 ---------- */
.cy-menu-toggle {
    display: none; align-items: center; justify-content: center;
    width: 40px; height: 38px; border-radius: 12px; border: 1px solid var(--slate-200);
    background: #fff; color: var(--slate-700); cursor: pointer; flex: none;
    transition: all .22s var(--ease);
}
.cy-menu-toggle:hover { color: var(--indigo-600); border-color: var(--indigo-100); background: var(--indigo-50); }
.cy-menu-toggle[aria-expanded="true"] { color:#fff; background: var(--grad-brand); border-color: transparent; }

/* ---------- 抽屉菜单 ---------- */
.cy-drawer {
    position: absolute; left: 0; right: 0; top: 100%;
    padding: 0 20px 18px; z-index: 890;
    opacity: 0; visibility: hidden; transform: translateY(-8px);
    transition: all .26s var(--ease);
}
.cy-drawer.is-open { opacity: 1; visibility: visible; transform: none; }
.cy-drawer-inner {
    max-width: 1320px; margin: 0 auto; padding: 16px;
    background: rgba(255,255,255,.96); backdrop-filter: blur(18px);
    border: 1px solid var(--slate-200); border-radius: 20px;
    box-shadow: 0 26px 60px rgba(15,23,42,.16);
}
.cy-drawer-search {
    display: flex; align-items: center; gap: 10px; height: 46px; padding: 0 8px 0 14px;
    border-radius: 14px; background: var(--slate-100); margin-bottom: 14px;
}
.cy-drawer-search input { flex: 1 1 auto; border: 0; outline: 0; background: transparent; font-size: 14px; color: var(--slate-700); }
.cy-drawer-search button {
    border: 0; border-radius: 10px; padding: 0 16px; height: 34px; color: #fff; font-size: 13.5px; font-weight: 600;
    background: var(--grad-brand); cursor: pointer;
}
.cy-drawer-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px 18px; }
.cy-drawer-link {
    display: flex; align-items: center; justify-content: space-between; gap: 10px;
    padding: 12px 14px; border-radius: 12px; font-size: 14.5px; font-weight: 500; color: var(--slate-700);
    transition: all .2s var(--ease);
}
.cy-drawer-link:hover { background: var(--indigo-50); color: var(--indigo-600); }
.cy-drawer-link svg { color: var(--slate-300); }
.cy-drawer-link--accent { color:#fff !important; background: linear-gradient(120deg,#22d3ee,#4f46e5); }
.cy-drawer-link--accent svg { color: rgba(255,255,255,.8); }
.cy-drawer-actions { display: flex; gap: 10px; margin-top: 14px; }
.cy-drawer-btn { flex: 1 1 auto; text-align: center; padding: 13px 18px; border-radius: 12px; font-size: 14.5px; font-weight: 600; }
.cy-drawer-btn--main { color:#fff; background: var(--slate-900); }
.cy-drawer-btn--ghost { color: var(--slate-700); background: var(--slate-100); }
.cy-drawer-contact {
    display: flex; flex-direction: column; gap: 4px; margin-top: 14px; padding-top: 14px;
    border-top: 1px dashed var(--slate-200); font-size: 12.5px; color: var(--slate-500);
}
@media (max-width: 575px) { .cy-drawer-links { grid-template-columns: 1fr; } }

/* ---------- 顶部工具条：中等屏不再挤压 ---------- */
@media (max-width: 1320px) {
    .cy-topbar .cy-container { height: auto; padding: 8px 16px; }
    .cy-topbar-item--addr { display: none; }
}
@media (max-width: 991px) { .cy-topbar { display: none; } }

/* ---------- Hero 悬浮卡在窄屏不与星图重叠 ---------- */
@media (max-width: 767px) {
    .cy-float-card { position: static; animation: none; margin-bottom: 10px; }
    .cy-hero-right { min-height: auto; display: flex; flex-direction: column; }
    .cy-hero-visual { position: static; order: -1; margin-bottom: 12px; }
}

/* v4.1 收尾：保证整套导航 + 操作区在最宽容器内放得下，且永不裁切 */
.cy-brand img { height: 36px; }
.cy-nav .cy-nav-item { padding: 8px 10px; }
.cy-header-search input { width: 96px; }
.cy-nav {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    scroll-behavior: smooth;
}
.cy-nav::-webkit-scrollbar { display: none; }
.cy-topbar .cy-container { height: auto; min-height: 40px; padding-top: 6px; padding-bottom: 6px; }
.cy-nav .cy-nav-item { flex: none; }

/* ==========================================================
   v4.2 · 页头可读性（浅色底 + 深色字，符合 WCAG AA）
   ========================================================== */
.page-title-area { background: var(--grad-mesh) !important; padding: 56px 0 52px !important; }
.page-title-area::before {
    content:''; position:absolute; inset:0; background:none !important;
    background-image:url('/assets/img/grid.svg') !important; background-size:44px 44px !important;
    mask-image:radial-gradient(120% 100% at 50% 0%, #000 0%, transparent 70%);
    -webkit-mask-image:radial-gradient(120% 100% at 50% 0%, #000 0%, transparent 70%);
    opacity:.55;
}
.page-title-area::after {
    content:''; position:absolute; right:-120px; top:-130px; width:420px; height:420px; border-radius:50%;
    background:radial-gradient(circle, rgba(34,211,238,.18) 0%, rgba(124,58,237,.13) 45%, rgba(255,255,255,0) 72%);
    left:auto !important;
}
.page-title-area .cy-eyebrow {
    background: #ffffff !important; color: #4338ca !important;
    border: 1px solid #c7d2fe !important; box-shadow: 0 6px 18px rgba(79,70,229,.10) !important;
}
.page-title-area .page-title, .page-title-area h1 { color: #0f172a !important; }
.page-title-area .cy-page-meta { color: #475569 !important; }
.page-title-area .cy-page-meta b { color: #0f172a !important; }
.page-title-area .cy-breadcrumb {
    background: #ffffff !important; border: 1px solid #e2e8f0 !important; color: #475569 !important;
}
.page-title-area .cy-breadcrumb a { color: #475569 !important; }
.page-title-area .cy-breadcrumb a:hover { color: #4338ca !important; }
.page-title-area .cy-breadcrumb span { color: #64748b !important; }
.page-title-area .cy-breadcrumb span[style*="slate-800"], .cy-breadcrumb [style*="font-weight:600"] { color: #0f172a !important; }
.page-title-area .breadcrumb li, .page-title-area .breadcrumb li a, .page-title-area .breadcrumb li span { color: #475569 !important; }
.page-title-area .cy-hero-chips a { background:#fff !important; color:#475569 !important; border:1px solid #e2e8f0 !important; }
.page-title-area .cy-hero-chips a:hover { color:#4338ca !important; border-color:#a5b4fc !important; background:#eef2ff !important; }

/* ==========================================================
   v4.2 · 动态渲染内容的入场动画（不依赖 JS 观察器）
   说明：cy-reveal 需要 JS 观察器点亮，JS 渲染出来的节点
   永远不会被点亮 → 内容透明看不见。动态内容统一用 cy-fade。
   ========================================================== */
.cy-fade { animation: cyFadeUp .5s var(--ease) both; }
@keyframes cyFadeUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) { .cy-fade { animation:none; } }
/* 兜底：即使某些 cy-reveal 未被观察器点亮，1.2 秒后也强制可见 */
.cy-reveal { animation: cyRevealFallback .01s linear 1.2s both; }
@keyframes cyRevealFallback { to { opacity:1; transform:none; } }

/* ==========================================================
   v4.2 · Bento 卡片排版修正（span 需块级才能分行）
   ========================================================== */
.cy-bento-item > span { display: block; }
.cy-bento-icon { margin-bottom: 4px; }
.cy-bento-title { display: block; margin: 10px 0 6px; }
.cy-bento-desc { display: block; }
.cy-bento-foot { display: flex; }
.cy-bento-item:nth-child(1) .cy-bento-icon { margin-bottom: 16px; }

/* ==========================================================
   v4.2 · Header 按钮收拾干净（去掉多余的花哨，只留一个强调色）
   ========================================================== */
.cy-nav .cy-nav-item.is-active {
    color: var(--indigo-600) !important;
    background: #eef2ff !important;
    box-shadow: none !important;
}
.cy-nav .cy-nav-item.is-active::after { display: none; }
.cy-nav .cy-nav-item--accent { box-shadow: 0 8px 20px rgba(6,182,212,.22) !important; }
.cy-header-search { background: #f1f5f9; }
.cy-header-search button { background: #4f46e5; background-image: none; }
.cy-btn-publish { background: #0f172a; box-shadow: 0 6px 18px rgba(15,23,42,.16); }
.cy-header .cy-btn.cy-btn-ghost {
    background: #fff !important; color: #334155 !important;
    border: 1px solid #e2e8f0 !important; box-shadow: none !important;
    font-weight: 500;
}
.cy-header .cy-btn.cy-btn-ghost:hover { border-color: #a5b4fc !important; color: #4338ca !important; background: #eef2ff !important; }
.cy-header .cy-btn.cy-btn-outline { border: 1px solid #e2e8f0 !important; color: #64748b !important; background: #fff !important; }
.cy-header .cy-btn svg { opacity: .85; }
@media (max-width: 1400px) { .cy-header .cy-btn-ghost svg { display: none; } }

/* ==========================================================
   v4.2 · 抽屉面板改为实色底（backdrop-filter + 半透明会导致
   面板底色不绘制，文字裸奔；实色底同时保证对比度可控）
   ========================================================== */
.cy-drawer-inner {
    background: #ffffff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 26px 60px rgba(15,23,42,.18) !important;
}
.cy-drawer-link { color: #334155 !important; }
.cy-drawer-link:hover { color: #4338ca !important; background: #eef2ff !important; }
.cy-header-inner { background: rgba(255,255,255,.94) !important; }
.cy-header.is-stuck .cy-header-inner { background: #ffffff !important; }

/* ==========================================================
   v4.2 · 抽屉改为全屏浮层
   原因：抽屉在 header(z-index:900) 的层叠上下文里，会被 Hero 里
   带 z-index 的元素盖住。改为 fixed 定位 + 独立高 z-index，
   彻底脱离层叠竞争；同时天然有遮罩层，移动端体验更标准。
   ========================================================== */
.cy-drawer {
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    padding: 92px 16px 24px !important;
    background: rgba(15,23,42,.44);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    z-index: 9500 !important;
    overflow-y: auto;
    opacity: 0; visibility: hidden;
    transition: opacity .22s var(--ease), visibility .22s var(--ease);
}
.cy-drawer.is-open { opacity: 1; visibility: visible; }
.cy-drawer-inner {
    max-width: 640px !important;
    margin: 0 auto !important;
    border-radius: 20px !important;
}
@media (min-width: 1181px) { .cy-drawer { display: none !important; } }
@media (max-width: 575px) { .cy-drawer { padding: 84px 12px 20px !important; } }

/* ==========================================================
   v4.2 · WCAG AA 对比度修正（浅色底上的小字）
   实测失败项：slate-400 on white = 2.56、sky-600 on sky-50 = 3.84
   ========================================================== */
.cy-stat-desc,
.cy-bento-foot,
.cy-latest-meta,
.cy-segstop-hint,
.cy-sec-count,
.cy-cat-meta,
.cy-member-desc,
.cy-rail-body .cy-rail-name + * { color: #64748b; }        /* slate-500 → 4.76:1 on #fff */
.cy-bento-foot, .cy-segstop-hint { color: #64748b !important; }
.cy-sec-count { color: #64748b !important; }

/* 主题自身的低对比元素 */
.blog__meta, .blog__meta span { color: #64748b !important; }
.blog__meta .cy-pill { color: #0369a1 !important; }          /* sky-700 on sky-50 ≈ 5.2:1 */
.pagination a, .pagination span { color: #334155 !important; }
.pagination .active a, .pagination a:hover { color: #ffffff !important; }
.cy-breadcrumb span { color: #64748b !important; }
.cy-page-meta { color: #64748b !important; }

/* 标签类：浅色底统一用深一档的文字色 */
.cy-pill-sky { background:#f0f9ff; color:#0369a1 !important; }
.cy-pill-indigo { background:#eef2ff; color:#3730a3 !important; }
.cy-pill-emerald { background:#ecfdf5; color:#047857 !important; }
.cy-pill-amber { background:#fffbeb; color:#b45309 !important; }
.cy-badge { color:#ffffff !important; }

/* ==========================================================
   v4.2 · Bento 图标统一（去掉首卡的放大特例，统一栅格与线宽）
   ========================================================== */
.cy-bento-icon,
.cy-bento-item:nth-child(1) .cy-bento-icon {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 14px !important;
    border-radius: 14px !important;
    flex: none;
}
.cy-bento-icon svg,
.cy-bento-item:nth-child(1) .cy-bento-icon svg {
    width: 22px !important;
    height: 22px !important;
    stroke-width: 1.9;
}
.cy-bento-item:nth-child(1) .cy-bento-icon { background: var(--grad-brand) !important; color: #fff !important; }
.cy-bento-item .cy-bento-icon { background: #eef2ff !important; color: #4f46e5 !important; }
.cy-bento-item:nth-child(1) .cy-bento-icon { background: var(--grad-brand) !important; color:#fff !important; }

/* 分页对比度（白字 / #ff5151 = 3.21 未达 AA） */
.pagination .active a, .pagination a:hover, .pagination span.current {
    background: #4338ca !important; border-color: #4338ca !important; color: #ffffff !important;
}

/* ==========================================================
   v4.3 · 修正 Bento 图标定位
   原因：v4.2 为让标题分行加了 `.cy-bento-item > span{display:block}`，
   它的优先级高于 `.cy-bento-icon{display:flex}`，把图标居中覆盖掉了，
   导致图标缩在左上角看起来“大小不一/被裁”。
   ========================================================== */
.cy-bento-item > span:not(.cy-bento-icon) { display: block; }
.cy-bento-item .cy-bento-icon,
.cy-bento-item:nth-child(1) .cy-bento-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1;
}
.cy-bento-item .cy-bento-icon svg { display: block; }
/* 大卡片内容靠上排，避免图标与标题之间出现大片空白 */
.cy-bento-item { justify-content: flex-start !important; }
.cy-bento-foot { margin-top: auto !important; }
/* 眉标里已有星芒图标时，不再叠加小圆点（避免“• ✦”双标记） */
.cy-eyebrow:has(img)::before, .cy-eyebrow:has(svg)::before { display: none !important; }

/* ==========================================================
   v4.3 · Bento 行高修正（原来 150px 装不下 图标+标题+描述+底栏，
   导致小卡片底部“进入分类”被裁掉） + 描述限两行
   ========================================================== */
.cy-bento { grid-auto-rows: 190px; }
.cy-bento-desc {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.cy-bento-title { display: block; margin: 0 0 6px; }
.cy-bento-icon { margin-bottom: 12px !important; }
@media (max-width: 991px) {
    .cy-bento { grid-auto-rows: auto; }
    .cy-bento-desc { -webkit-line-clamp: 3; }
}

/* v4.3 · 大卡片关键词标签行（填补空白，增加信息量） */
.cy-bento-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 14px; }
.cy-bento-chips span {
    padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 500;
    background: #ffffff; border: 1px solid #dbeafe; color: #3730a3;
}

/* ==========================================================
   v4.4 · 主站分页对比度（当前页 #ff5151 底 + 深字 = 3.23:1 未达 AA）
   模板 list.html 内联样式 .hover{background:#e4393c;color:#fff!important}
   与主题的 #ff5151 都需要覆盖
   ========================================================== */
.pagination .hover, .pagination li.hover,
.pagination .active, .pagination li.active,
.pagination .current, .pagination li.current,
.pagination a.current {
    background: #4338ca !important;
    border-color: #4338ca !important;
}
.pagination .hover, .pagination li.hover,
.pagination .hover a, .pagination li.hover a,
.pagination .active a, .pagination li.active a,
.pagination .current a, .pagination li.current a,
.pagination a.current { color: #ffffff !important; }
.pagination a { color: #334155 !important; background: #ffffff; }
.pagination a:hover { color: #ffffff !important; background: #4338ca !important; }

/* v4.5 · 补齐缺失样式 */
.cy-hero-left { min-width: 0; }
.cy-cta-star, .cy-hero-left, .cy-sec-head { position: relative; }

/* 承诺/步骤类文字的块级保障 */
.cy-promise-item > span, .cy-promise-title, .cy-promise-desc,
.cy-step-title, .cy-step-desc, .cy-feature-title, .cy-feature-desc { display: block; }

/* v4.5 · 同理收敛主站页头/CTA 的装饰光晕 */
.page-title-area::after { top: -60px !important; right: -100px !important; width: 300px !important; height: 240px !important; }
.cy-cta::after { right: -60px !important; top: -40px !important; width: 220px !important; height: 220px !important; }

/* ==========================================================
   v4.6 · 分页组件统一重做
   主题原样式：.pagination li 与 .page-number 都是 #ff5151 红底，
   当前页 .current 又是红字 → 红底红字/白字 3.2:1，均不达 AA
   ========================================================== */
.pagination { display: flex !important; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: center; }
.pagination li {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    overflow: hidden;
}
.pagination li > a,
.pagination li .page-number {
    display: block !important;
    min-width: 36px; height: 36px; line-height: 36px !important;
    padding: 0 8px;
    background: transparent !important;
    color: #334155 !important;
    border: 0 !important;
    text-align: center;
    font-size: 14px !important;
    font-weight: 500;
}
.pagination li > a:hover,
.pagination li .page-number:hover { background: #eef2ff !important; color: #4338ca !important; }
.pagination li.current,
.pagination li.hover,
.pagination li.active { background: #4338ca !important; border-color: #4338ca !important; }
.pagination li.current > a,
.pagination li.current .page-number,
.pagination li.hover > a, .pagination li.hover,
.pagination li.active > a { color: #ffffff !important; background: transparent !important; }
.pagination li.disabled > a, .pagination li.prev.disabled { opacity: .45; }


/* v4.6 · 页头装饰光晕不再外溢（避免撑出整页横向滚动条） */
.page-title-area { overflow: hidden !important; }
.page-title-area::after {
    right: 0 !important; left: auto !important;
    top: -70px !important;
    width: 340px !important; height: 280px !important;
}
/* 搜索结果列表按容器宽度自适应（原来固定 990px 导致溢出） */
.productlist, .productlist ul, ul.cle { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
.productlist { overflow: hidden; }

/* ==========================================================
   v4.7 · 主站固定宽度容器自适应
   （info.html 的 .main-layout 1190px、注册页 1000px、搜索页 1200px）
   ========================================================== */
.main-layout, .main-layout[data-v-3e13b90a] {
    width: 100% !important;
    max-width: 1190px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 16px; padding-right: 16px;
    box-sizing: border-box;
}
.wid950.fl, .wid950 { width: 100% !important; max-width: 1200px !important; box-sizing: border-box; }
.login_bg .bd #img { width: 100% !important; max-width: 1000px !important; height: auto !important; }
.cy-container img, .main-content-wrapper img { max-width: 100%; }
@media (max-width: 991px) {
    .page-content-inner { padding-top: 28px !important; padding-bottom: 28px !important; }
}

/* ==========================================================
   v4.8 · 关于/协议页重构（左侧吸顶导航 + 右侧正文卡片）
   原来用的是主题的 user-dashboard-tab（左侧竖排 tab + 裸正文）
   ========================================================== */
.cy-about-wrap { max-width: 1320px; margin: 0 auto; padding: 44px 24px 64px; }
.cy-about-layout { display: grid; grid-template-columns: 264px 1fr; gap: 28px; align-items: start; }
.cy-about-nav {
    background: #fff; border: 1px solid var(--slate-200); border-radius: 18px;
    padding: 18px; box-shadow: var(--sh-sm);
    position: sticky; top: 96px;
}
.cy-about-nav-title {
    font-size: 12.5px; font-weight: 700; letter-spacing: .08em; color: var(--slate-400);
    margin: 0 0 12px; padding-left: 8px; text-transform: uppercase;
}
.cy-about-link {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 11px 14px; border-radius: 12px; font-size: 14.5px; font-weight: 500;
    color: var(--slate-600); transition: all .2s var(--ease); text-decoration: none;
}
.cy-about-link svg { color: var(--slate-300); flex: none; }
.cy-about-link:hover { background: #eef2ff; color: var(--indigo-600); }
.cy-about-link.is-active {
    background: var(--grad-primary); color: #fff !important;
    box-shadow: 0 10px 24px rgba(79,70,229,.22);
}
.cy-about-link.is-active svg { color: rgba(255,255,255,.85); }
.cy-about-help {
    margin-top: 16px; padding: 20px; border-radius: 18px;
    background: linear-gradient(135deg,#eef2ff 0%,#f0f9ff 100%); border: 1px solid #e0e7ff;
}
.cy-about-help strong { display: block; font-size: 15px; color: var(--slate-900); margin-bottom: 6px; }
.cy-about-help p { font-size: 12.5px; line-height: 1.95; color: var(--slate-600); margin: 0 0 12px; }
.cy-about-help-btn {
    display: block; text-align: center; padding: 11px; border-radius: 12px;
    color: #fff !important; background: var(--grad-primary); font-size: 13.5px; font-weight: 600;
}
.cy-about-main {
    background: #fff; border: 1px solid var(--slate-200); border-radius: 20px;
    box-shadow: var(--sh-sm); padding: 34px 40px 40px; min-width: 0;
}
.cy-about-head { padding-bottom: 18px; border-bottom: 1px dashed var(--slate-200); margin-bottom: 24px; }
.cy-about-head h1 { font-size: 26px; font-weight: 800; color: var(--slate-900); margin: 0 0 10px; letter-spacing: -.3px; }
.cy-about-meta { display: flex; gap: 20px; flex-wrap: wrap; font-size: 12.5px; color: var(--slate-500); }
.cy-about-meta span { display: inline-flex; align-items: center; gap: 6px; }

/* 长文正文排版（协议/隐私政策这类长文本） */
.cy-article-body { font-size: 15px; line-height: 1.95; color: var(--slate-700); }
.cy-article-body > p:first-child { font-size: 15.5px; }
.cy-article-body p { margin: 0 0 16px; }
.cy-article-body h2 { font-size: 18px; font-weight: 700; color: var(--slate-900); margin: 30px 0 12px; padding-left: 12px; border-left: 4px solid var(--indigo-500); }
.cy-article-body h3 { font-size: 16px; font-weight: 700; color: var(--slate-800); margin: 22px 0 10px; }
.cy-article-body h4 { font-size: 15px; font-weight: 700; color: var(--slate-800); margin: 18px 0 8px; }
.cy-article-body ul, .cy-article-body ol { margin: 0 0 16px; padding-left: 22px; }
.cy-article-body li { margin-bottom: 8px; }
.cy-article-body strong, .cy-article-body b { color: var(--slate-900); font-weight: 700; }
.cy-article-body a { color: var(--indigo-600); }
.cy-article-body img { max-width: 100%; height: auto; border-radius: 12px; }
.cy-article-body table { width: 100%; border-collapse: collapse; margin: 0 0 18px; }
.cy-article-body th, .cy-article-body td { border: 1px solid var(--slate-200); padding: 10px 14px; font-size: 14px; text-align: left; }
.cy-article-body th { background: var(--slate-50); font-weight: 600; }
.cy-article-body blockquote { margin: 0 0 18px; padding: 14px 18px; background: var(--slate-50); border-left: 4px solid #a5b4fc; border-radius: 0 12px 12px 0; color: var(--slate-600); }
.cy-article-body hr { border: 0; border-top: 1px dashed var(--slate-200); margin: 26px 0; }

.cy-about-foot {
    margin-top: 30px; padding-top: 22px; border-top: 1px dashed var(--slate-200);
    display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap;
}
.cy-about-foot strong { display: block; font-size: 15px; color: var(--slate-900); margin-bottom: 4px; }
.cy-about-foot span { font-size: 13px; color: var(--slate-500); }
.cy-about-foot-actions { display: flex; gap: 10px; }
@media (max-width: 991px) {
    .cy-about-wrap { padding: 26px 16px 40px; }
    .cy-about-layout { grid-template-columns: 1fr; gap: 18px; }
    .cy-about-nav { position: static; padding: 14px; }
    .cy-about-main { padding: 22px 18px 26px; }
    .cy-about-head h1 { font-size: 21px; }
}

/* v4.8 · 关于页正文对齐与列表符号修正（继承到了主题的居中样式） */
.cy-about-main, .cy-about-head, .cy-about-meta, .cy-article-body, .cy-about-foot { text-align: left !important; }
.cy-article-body ul { list-style: disc outside !important; }
.cy-article-body ol { list-style: decimal outside !important; }
.cy-article-body ul li, .cy-article-body ol li { display: list-item !important; }
.cy-about-head h1 { text-align: left !important; }

/* ==========================================================
   v5.0 · 登录 / 注册页共享样式（原在 login.html 内联，抽为公共）
   ========================================================== */
* { margin: 0; padding: 0; box-sizing: border-box; }
    body {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
        color: #334155; background: linear-gradient(180deg,#f7fbff 0%,#ffffff 60%,#f8fafc 100%);
        min-height: 100vh; -webkit-font-smoothing: antialiased;
    }
    /* 背景：细网格 + 品牌光晕 */
    .cy-auth-bg { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
    .cy-auth-bg::before {
        content: ''; position: absolute; inset: 0;
        background-image: url('/assets/img/grid.svg'); background-size: 44px 44px;
        mask-image: radial-gradient(120% 90% at 20% 0%, #000 0%, transparent 70%);
        -webkit-mask-image: radial-gradient(120% 90% at 20% 0%, #000 0%, transparent 70%);
        opacity: .6;
    }
    .cy-auth-bg i { position: absolute; border-radius: 50%; filter: blur(4px); }
    .cy-auth-bg i:nth-child(1) { width: 420px; height: 420px; left: -120px; top: -140px;
        background: radial-gradient(circle, rgba(34,211,238,.18) 0%, rgba(34,211,238,0) 70%); }
    .cy-auth-bg i:nth-child(2) { width: 460px; height: 460px; right: -140px; bottom: -160px;
        background: radial-gradient(circle, rgba(124,58,237,.16) 0%, rgba(124,58,237,0) 70%); }

    .cy-auth-top { position: absolute; top: 22px; left: 26px; z-index: 3; }
    .cy-auth-top a {
        display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px;
        background: #fff; border: 1px solid #e2e8f0; color: #475569; font-size: 13.5px; text-decoration: none;
        box-shadow: 0 6px 18px rgba(15,23,42,.06);
    }
    .cy-auth-top a:hover { color: #4338ca; border-color: #a5b4fc; }

    .cy-auth-wrap {
        position: relative; z-index: 2; max-width: 1120px; margin: 0 auto;
        padding: 84px 24px 64px;
        display: grid; grid-template-columns: 1.02fr .98fr; gap: 60px; align-items: center;
        min-height: 100vh;
    }

    /* 左侧品牌 */
    .cy-auth-brand .cy-auth-logo { display: inline-flex; align-items: center; margin-bottom: 22px; }
    .cy-auth-brand .cy-auth-logo img { height: 54px; width: auto; }
    .cy-auth-brand h1 { font-size: 30px; font-weight: 800; color: #0f172a; letter-spacing: -.5px; margin-bottom: 12px; }
    .cy-auth-brand .cy-auth-tag { font-size: 15px; line-height: 1.9; color: #64748b; margin-bottom: 26px; }
    .cy-auth-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
    .cy-auth-item {
        display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px;
        background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 1px 2px rgba(15,23,42,.06);
    }
    .cy-auth-item .ico {
        flex: none; width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
        background: #eef2ff; color: #4f46e5;
    }
    .cy-auth-item b { display: block; font-size: 14px; font-weight: 700; color: #0f172a; margin-bottom: 3px; }
    .cy-auth-item span { font-size: 12.5px; color: #64748b; line-height: 1.6; }
    .cy-auth-note { margin-top: 22px; font-size: 13px; color: #64748b; }
    .cy-auth-note b { color: #0f172a; }

    /* 右侧表单卡 */
    .cy-auth-card {
        background: #fff; border: 1px solid #e2e8f0; border-radius: 22px;
        padding: 34px 34px 28px; box-shadow: 0 24px 60px rgba(15,23,42,.10);
    }
    .login-header h1 { font-size: 24px; font-weight: 800; color: #0f172a; margin-bottom: 8px; letter-spacing: -.3px; }
    .login-header p { font-size: 14px; color: #64748b; margin-bottom: 26px; }
    .form-group { margin-bottom: 18px; }
    .form-group label { display: block; font-size: 13.5px; font-weight: 600; color: #334155; margin-bottom: 8px; }
    .form-group input {
        width: 100%; height: 48px; border-radius: 12px; border: 1px solid #e2e8f0;
        background: #f8fafc; padding: 0 14px; font-size: 14.5px; color: #0f172a; outline: 0;
        transition: border-color .2s, box-shadow .2s, background .2s;
    }
    .form-group input::placeholder { color: #94a3b8; }
    .form-group input:focus { border-color: #4f46e5; background: #fff; box-shadow: 0 0 0 4px rgba(79,70,229,.10); }
    .form-options { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 22px; }
    .remember-me { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; color: #475569; cursor: pointer; }
    .remember-me input { width: 16px; height: 16px; accent-color: #4f46e5; }
    .forgot-link { font-size: 13.5px; color: #4338ca; text-decoration: none; }
    .forgot-link:hover { text-decoration: underline; }
    .btn-login {
        width: 100%; height: 50px; border: 0; border-radius: 12px; cursor: pointer;
        background: #4f46e5; color: #fff; font-size: 15.5px; font-weight: 600; letter-spacing: .04em;
        transition: background .2s, transform .2s;
    }
    .btn-login:hover { background: #4338ca; transform: translateY(-1px); }
    .login-footer { margin-top: 20px; padding-top: 18px; border-top: 1px dashed #e2e8f0; text-align: center; font-size: 14px; color: #64748b; }
    .login-footer a { color: #4338ca; font-weight: 600; text-decoration: none; }
    .login-footer a:hover { text-decoration: underline; }
    .agreement { margin: 4px 0 20px; }
    .agreement label { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; color: #64748b; line-height: 1.7; cursor: pointer; }
    .agreement input { width: 16px; height: 16px; margin-top: 2px; accent-color: #4f46e5; flex: none; }
    .agreement a { color: #4338ca; }
    .register-form { display: none; }
    .register-form.active { display: block; }
    .login-form.hidden { display: none; }
    @media (max-width: 991px) {
        .cy-auth-wrap { grid-template-columns: 1fr; gap: 26px; padding: 76px 18px 48px; min-height: auto; }
        .cy-auth-brand h1 { font-size: 24px; }
        .cy-auth-brand .cy-auth-logo img { height: 44px; }
        .cy-auth-list { grid-template-columns: 1fr 1fr; gap: 10px; }
        .cy-auth-item { padding: 13px 14px; }
    }
    @media (max-width: 575px) {
        .cy-auth-list { grid-template-columns: 1fr; }
        .cy-auth-card { padding: 24px 20px 20px; }
    }

/* ==========================================================
   v5.0 · 注册页布局（左侧权益说明 + 右侧表单卡）
   原 register.html 用的是 new-login.css 的青蓝/绿渐变 + 红按钮
   ========================================================== */
.cy-reg-wrap { max-width: 1120px; margin: 0 auto; padding: 40px 24px 64px; }
.cy-reg-layout { display: grid; grid-template-columns: 1fr 1.05fr; gap: 44px; align-items: start; }
.cy-reg-side {
    background: #fff; border: 1px solid #e2e8f0; border-radius: 22px; padding: 30px 28px;
    box-shadow: 0 1px 2px rgba(15,23,42,.06);
}
.cy-reg-title { font-size: 18px; font-weight: 700; color: #0f172a; margin: 0 0 20px; }
.cy-reg-list { list-style: none; margin: 0; padding: 0; }
.cy-reg-list li { display: flex; gap: 12px; margin-bottom: 18px; font-size: 13.5px; line-height: 1.7; color: #475569; }
.cy-reg-list li .ico {
    flex: none; width: 36px; height: 36px; border-radius: 11px; display: flex; align-items: center; justify-content: center;
    background: #eef2ff; color: #4f46e5;
}
.cy-reg-list li b { display: block; font-size: 14px; color: #0f172a; margin-bottom: 2px; }
.cy-reg-note {
    margin: 4px 0 0; padding-top: 18px; border-top: 1px dashed #e2e8f0;
    font-size: 12.5px; line-height: 1.9; color: #64748b;
}
.cy-reg-note b { color: #0f172a; }
.cy-reg-card { padding: 34px 34px 28px; }
@media (max-width: 991px) {
    .cy-reg-wrap { padding: 26px 16px 44px; }
    .cy-reg-layout { grid-template-columns: 1fr; gap: 20px; }
    .cy-reg-card { padding: 24px 20px 20px; }
}

/* v4.9 · 主站 Bento 行高同样加余量 */
.cy-bento { grid-auto-rows: 198px; }

/* v5.1 · 详情页“免费查看联系方式”提示 */
.cy-free-hint {
    display: inline-flex; align-items: center; gap: 6px;
    margin-left: 12px; padding: 8px 14px; border-radius: 999px;
    background: var(--emerald-50, #ecfdf5); color: #047857;
    font-size: 13px; font-weight: 600;
    vertical-align: middle;
}
.cy-free-hint svg { color: #059669; }

/* v5.3 · 详情页发布服务主体资质卡（执照副本 + 联系人 + 电话） */
.cy-lic-card {
    margin-top: 18px; padding: 18px 20px;
    border: 1px solid #e2e8f0; border-radius: 14px;
    background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
}
.cy-lic-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.cy-lic-badge {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12.5px; font-weight: 700; color: #4338ca;
    text-transform: none; letter-spacing: .3px;
}
.cy-lic-tag {
    display: inline-flex; align-items: center; gap: 4px;
    font-size: 11.5px; font-weight: 600; color: #047857;
    background: #ecfdf5; border-radius: 999px; padding: 3px 10px;
}
.cy-lic-company {
    margin: 10px 0 8px; font-size: 16.5px; font-weight: 700; color: #0f172a; line-height: 1.4;
}
.cy-lic-meta { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-bottom: 14px; }
.cy-lic-meta span { font-size: 13px; color: #64748b; }
.cy-lic-meta b { color: #0f172a; font-weight: 600; }
.cy-lic-btn {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 9px 18px; border: 0; border-radius: 10px; cursor: pointer;
    background: linear-gradient(135deg, #22d3ee 0%, #4f46e5 55%, #7c3aed 100%);
    color: #fff; font-size: 13.5px; font-weight: 600;
    box-shadow: 0 6px 16px rgba(79, 70, 229, .25);
    transition: transform .15s ease, box-shadow .15s ease;
}
.cy-lic-btn:hover { transform: translateY(-1px); box-shadow: 0 10px 22px rgba(79, 70, 229, .32); color: #fff; }
@media (max-width:768px){
    .cy-lic-card { padding: 15px 16px; }
    .cy-lic-meta { gap: 4px 16px; }
}

/* v5.3b · 执照灯箱（自绘，不依赖 bootstrap modal，避免旧 modal 样式干扰） */
.cy-lic-lightbox { position: fixed; inset: 0; z-index: 99999; display: none; }
.cy-lic-lightbox.is-open { display: block; }
.cy-lic-lb-mask {
    position: absolute; inset: 0; background: rgba(15, 23, 42, .66);
    backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
}
.cy-lic-lb-panel {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: min(860px, 92vw); max-height: 92vh;
    display: flex; flex-direction: column;
    background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 24px 64px rgba(15, 23, 42, .35);
}
.cy-lic-lb-head {
    flex: none; display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 14px 18px; border-bottom: 1px solid #e2e8f0;
}
.cy-lic-lb-title { font-size: 15px; font-weight: 700; color: #0f172a; line-height: 1.4; }
.cy-lic-lb-close {
    flex: none; width: 34px; height: 34px; margin: 0; padding: 0;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #e2e8f0; border-radius: 10px; background: #f8fafc;
    color: #475569; font-size: 22px; line-height: 1; cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.cy-lic-lb-close:hover { background: #eef2ff; color: #4338ca; }
.cy-lic-lb-body {
    flex: 1 1 auto; min-height: 0; overflow: auto;
    background: #f1f5f9; display: flex; align-items: center; justify-content: center;
    padding: 14px;
}
.cy-lic-lb-body img {
    max-width: 100%; max-height: 66vh; width: auto; height: auto;
    object-fit: contain; border-radius: 8px; background: #fff;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .12);
}
.cy-lic-lb-foot {
    flex: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap;
    padding: 12px 18px; border-top: 1px solid #e2e8f0;
}
.cy-lic-lb-meta { font-size: 12.5px; color: #64748b; }
.cy-lic-lb-origin {
    font-size: 13px; font-weight: 600; color: #4f46e5; text-decoration: none;
}
.cy-lic-lb-origin:hover { color: #4338ca; }
@media (max-width:640px){
    .cy-lic-lb-panel { width: 94vw; max-height: 94vh; }
    .cy-lic-lb-body { padding: 10px; }
    .cy-lic-lb-body img { max-height: 60vh; }
    .cy-lic-lb-title { font-size: 13.5px; }
}
