/* ==========================================================
   珠海市承曜科技有限公司 · 商城设计系统（shop-design.css）
   ========================================================== */
:root {
    --cy-slate-50:#f8fafc; --cy-slate-100:#f1f5f9; --cy-slate-200:#e2e8f0; --cy-slate-300:#cbd5e1;
    --cy-slate-400:#94a3b8; --cy-slate-500:#64748b; --cy-slate-600:#475569; --cy-slate-700:#334155;
    --cy-slate-800:#1e293b; --cy-slate-900:#0f172a;
    --cy-sky-50:#f0f9ff; --cy-sky-100:#e0f2fe; --cy-sky-400:#38bdf8; --cy-sky-500:#0ea5e9; --cy-sky-600:#0284c7;
    --cy-indigo-50:#eef2ff; --cy-indigo-100:#e0e7ff; --cy-indigo-500:#6366f1; --cy-indigo-600:#4f46e5;
    --cy-emerald-50:#ecfdf5; --cy-emerald-100:#d1fae5; --cy-emerald-400:#34d399; --cy-emerald-500:#10b981; --cy-emerald-600:#059669;
    --cy-amber-50:#fffbeb; --cy-amber-400:#fbbf24; --cy-amber-500:#f59e0b;
    --cy-rose-50:#fff1f2; --cy-rose-500:#f43f5e;
    --cy-grad:linear-gradient(135deg,#0ea5e9 0%,#4f46e5 100%);
    --cy-grad-dark:linear-gradient(135deg,#0f172a 0%,#1e293b 100%);
    --cy-sh-sm:0 1px 2px rgba(15,23,42,.06);
    --cy-sh-md:0 4px 16px rgba(15,23,42,.07);
    --cy-sh-lg:0 18px 40px rgba(15,23,42,.12);
    --cy-sh-brand:0 10px 30px rgba(79,70,229,.2);
    --cy-ease:cubic-bezier(.4,0,.2,1);
}

/* ---------- 区块 / 标题 ---------- */
.cyx-sec { padding:56px 0; }
.cyx-sec--tint { background:linear-gradient(180deg,#f8fafc 0%,#fff 100%); }
.cyx-container { max-width:1320px; margin:0 auto; padding:0 20px; }
.cyx-head { text-align:center; margin-bottom:38px; }
.cyx-eyebrow {
    display:inline-flex; align-items:center; gap:8px; padding:6px 16px; border-radius:999px;
    background:var(--cy-indigo-50); color:var(--cy-indigo-600); font-size:13px; font-weight:600; margin-bottom:14px;
}
.cyx-eyebrow::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--cy-indigo-500); }
.cyx-title { font-size:30px; font-weight:800; color:var(--cy-slate-900); margin:0 0 10px; letter-spacing:-.3px; }
.cyx-sub { font-size:14.5px; color:var(--cy-slate-500); max-width:660px; margin:0 auto; line-height:1.8; }
@media (max-width:768px){ .cyx-sec{padding:38px 0;} .cyx-title{font-size:23px;} }

/* ---------- 服务承诺条 ---------- */
.cyx-promise {
    display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
    background:var(--cy-grad-dark); border-radius:18px; padding:26px 22px; color:#fff;
}
.cyx-promise-item { display:flex; align-items:center; gap:12px; }
.cyx-promise-icon {
    flex:none; width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.1); color:var(--cy-sky-400);
}
.cyx-promise-title { font-size:15px; font-weight:700; margin-bottom:2px; }
.cyx-promise-desc { font-size:12.5px; color:rgba(255,255,255,.62); line-height:1.6; }
@media (max-width:991px){ .cyx-promise{grid-template-columns:repeat(2,1fr); gap:20px;} }
@media (max-width:575px){ .cyx-promise{grid-template-columns:1fr;} }

/* ---------- 数据条 ---------- */
.cyx-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cyx-stat { background:#fff; border:1px solid var(--cy-slate-200); border-radius:16px; padding:24px 18px; text-align:center; box-shadow:var(--cy-sh-sm); transition:all .3s var(--cy-ease); }
.cyx-stat:hover { transform:translateY(-6px); box-shadow:var(--cy-sh-lg); }
.cyx-stat-num { font-size:32px; font-weight:800; background:var(--cy-grad); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.cyx-stat-num small { font-size:15px; -webkit-text-fill-color:currentColor; }
.cyx-stat-label { margin-top:6px; color:var(--cy-slate-500); font-size:13.5px; }
@media (max-width:991px){ .cyx-stats{grid-template-columns:repeat(2,1fr);} }

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

/* ---------- 通用卡片 / 徽标 ---------- */
.cyx-card { background:#fff; border:1px solid var(--cy-slate-200); border-radius:16px; box-shadow:var(--cy-sh-sm); transition:all .3s var(--cy-ease); }
.cyx-card:hover { transform:translateY(-4px); box-shadow:var(--cy-sh-lg); }
.cyx-pill { display:inline-flex; align-items:center; gap:6px; padding:4px 11px; border-radius:999px; font-size:12px; font-weight:600; }
.cyx-pill-sky { background:var(--cy-sky-50); color:var(--cy-sky-600); }
.cyx-pill-emerald { background:var(--cy-emerald-50); color:var(--cy-emerald-600); }
.cyx-pill-amber { background:var(--cy-amber-50); color:var(--cy-amber-500); }
.cyx-pill-indigo { background:var(--cy-indigo-50); color:var(--cy-indigo-600); }
.cyx-badge { position:absolute; left:12px; top:12px; z-index:3; padding:5px 11px; border-radius:999px; font-size:12px; font-weight:600; background:var(--cy-grad); color:#fff; box-shadow:var(--cy-sh-brand); }

/* ---------- 商品详情信任区 ---------- */
.cyx-trust { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:16px 0; }
.cyx-trust-item { display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:12px; background:var(--cy-emerald-50); color:var(--cy-emerald-600); font-size:12.5px; font-weight:600; }
@media (max-width:768px){ .cyx-trust{grid-template-columns:repeat(2,1fr);} }

/* ---------- 页脚 ---------- */
.cyx-footer { background:var(--cy-grad-dark); color:var(--cy-slate-400); margin-top:40px; }
.cyx-footer-inner { max-width:1320px; margin:0 auto; padding:52px 20px 0; }
.cyx-footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:34px; }
.cyx-footer-brand img { height:42px; width:auto; margin-bottom:16px; }
.cyx-footer-brand p { font-size:13px; line-height:1.9; color:var(--cy-slate-400); }
.cyx-footer-title { font-size:14.5px; font-weight:700; color:#fff; margin:0 0 14px; letter-spacing:.4px; }
.cyx-footer-links { list-style:none; margin:0; padding:0; }
.cyx-footer-links li { margin-bottom:9px; }
.cyx-footer-links a { font-size:13px; color:var(--cy-slate-400); text-decoration:none; }
.cyx-footer-links a:hover { color:var(--cy-sky-400); padding-left:4px; }
.cyx-footer-contact { list-style:none; margin:0; padding:0; }
.cyx-footer-contact li { display:flex; gap:9px; margin-bottom:13px; font-size:13px; line-height:1.7; color:var(--cy-slate-400); }
.cyx-footer-contact svg { flex:none; margin-top:3px; color:var(--cy-sky-400); }
.cyx-footer-bottom { margin-top:36px; padding:16px 0 24px; border-top:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; font-size:12.5px; }
.cyx-footer-pay { display:flex; gap:8px; }
.cyx-footer-pay span { padding:4px 10px; border-radius:8px; background:rgba(255,255,255,.07); font-size:12px; color:var(--cy-slate-300); }
@media (max-width:991px){ .cyx-footer-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cyx-footer-grid{grid-template-columns:1fr;} .cyx-footer-bottom{justify-content:center; text-align:center;} }

/* ==========================================================
   智能客服挂件
   ========================================================== */
.cy-kf-btn {
    position:fixed; right:22px; bottom:88px; z-index:9998;
    width:58px; height:58px; border-radius:50%; border:0; cursor:pointer;
    background:linear-gradient(135deg,#0ea5e9 0%,#4f46e5 100%); color:#fff;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 14px 34px rgba(79,70,229,.35); transition:all .3s var(--cy-ease);
}
.cy-kf-btn:hover { transform:translateY(-4px) scale(1.04); }
.cy-kf-btn .cy-kf-dot { position:absolute; right:2px; top:2px; width:13px; height:13px; border-radius:50%; background:#34d399; border:2px solid #fff; }
.cy-kf-label {
    position:absolute; right:70px; white-space:nowrap; background:var(--cy-slate-900); color:#fff;
    font-size:12.5px; padding:7px 12px; border-radius:10px; opacity:0; transform:translateX(6px);
    transition:all .25s var(--cy-ease); pointer-events:none;
}
.cy-kf-btn:hover .cy-kf-label { opacity:1; transform:none; }

.cy-kf-panel {
    position:fixed; right:22px; bottom:156px; z-index:9999;
    width:378px; max-width:calc(100vw - 32px); height:560px; max-height:calc(100vh - 200px);
    background:#fff; border-radius:20px; box-shadow:0 30px 70px rgba(15,23,42,.28);
    display:flex; flex-direction:column; overflow:hidden;
    opacity:0; visibility:hidden; transform:translateY(16px) scale(.98); transform-origin:bottom right;
    transition:all .28s var(--cy-ease);
}
.cy-kf-panel.is-open { opacity:1; visibility:visible; transform:none; }

.cy-kf-head { background:var(--cy-grad-dark); color:#fff; padding:16px 18px; display:flex; align-items:center; gap:12px; }
.cy-kf-head-avatar { width:38px; height:38px; border-radius:12px; background:linear-gradient(135deg,#38bdf8,#6366f1); display:flex; align-items:center; justify-content:center; flex:none; }
.cy-kf-head-info h4 { margin:0; font-size:15px; font-weight:700; }
.cy-kf-head-info p { margin:2px 0 0; font-size:12px; color:rgba(255,255,255,.7); display:flex; align-items:center; gap:6px; }
.cy-kf-head-info p::before { content:''; width:7px; height:7px; border-radius:50%; background:#34d399; }
.cy-kf-close { margin-left:auto; background:rgba(255,255,255,.1); border:0; color:#fff; width:30px; height:30px; border-radius:9px; cursor:pointer; font-size:16px; line-height:1; }
.cy-kf-close:hover { background:rgba(255,255,255,.2); }

.cy-kf-body { flex:1; overflow-y:auto; padding:16px; background:var(--cy-slate-50); }
.cy-kf-msg { display:flex; gap:8px; margin-bottom:14px; }
.cy-kf-msg .cy-kf-bubble {
    max-width:82%; padding:11px 14px; border-radius:14px; font-size:13.5px; line-height:1.75;
    background:#fff; color:var(--cy-slate-700); box-shadow:var(--cy-sh-sm); border:1px solid var(--cy-slate-200);
}
.cy-kf-msg.is-user { flex-direction:row-reverse; }
.cy-kf-msg.is-user .cy-kf-bubble { background:var(--cy-grad); color:#fff; border:0; box-shadow:var(--cy-sh-brand); }
.cy-kf-bubble a { color:var(--cy-indigo-600); text-decoration:underline; }
.cy-kf-msg.is-user .cy-kf-bubble a { color:#fff; }
.cy-kf-bubble b { color:var(--cy-slate-900); }
.cy-kf-msg.is-user .cy-kf-bubble b { color:#fff; }
.cy-kf-bubble ul { margin:6px 0 0; padding-left:18px; }
.cy-kf-bubble li { margin-bottom:3px; }
.cy-kf-avatar { width:28px; height:28px; border-radius:9px; flex:none; background:var(--cy-indigo-50); color:var(--cy-indigo-600); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; }

.cy-kf-chips { display:flex; flex-wrap:wrap; gap:8px; padding:10px 16px 0; background:var(--cy-slate-50); }
.cy-kf-chip {
    border:1px solid var(--cy-indigo-100); background:#fff; color:var(--cy-indigo-600);
    padding:7px 12px; border-radius:999px; font-size:12.5px; cursor:pointer; transition:all .2s var(--cy-ease);
}
.cy-kf-chip:hover { background:var(--cy-indigo-50); border-color:var(--cy-indigo-500); }

.cy-kf-foot { padding:12px 14px; border-top:1px solid var(--cy-slate-200); background:#fff; display:flex; gap:10px; align-items:center; }
.cy-kf-foot input {
    flex:1; height:42px; border-radius:12px; border:1px solid var(--cy-slate-200); padding:0 14px;
    font-size:13.5px; outline:none; background:var(--cy-slate-50); color:var(--cy-slate-700);
}
.cy-kf-foot input:focus { border-color:var(--cy-indigo-500); background:#fff; }
.cy-kf-send {
    width:44px; height:42px; border:0; border-radius:12px; cursor:pointer;
    background:var(--cy-grad); color:#fff; display:flex; align-items:center; justify-content:center;
}
.cy-kf-send:hover { filter:brightness(1.06); }
.cy-kf-typing span { display:inline-block; width:6px; height:6px; margin-right:3px; border-radius:50%; background:var(--cy-slate-400); animation:cyKfBlink 1.2s infinite; }
.cy-kf-typing span:nth-child(2){ animation-delay:.2s; }
.cy-kf-typing span:nth-child(3){ animation-delay:.4s; }
@keyframes cyKfBlink { 0%,60%,100%{opacity:.25; transform:translateY(0);} 30%{opacity:1; transform:translateY(-3px);} }
@media (max-width:575px){
    .cy-kf-panel { right:12px; left:12px; width:auto; bottom:150px; height:66vh; }
    .cy-kf-btn { right:14px; }
}

/* ==========================================================
   商城首页楼层：商品卡 / 价格区间 / 商家 / FAQ / CTA
   ========================================================== */
.cyx-floors { display:flex; flex-direction:column; gap:8px; }

/* 商品卡 */
.cyx-goods-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cyx-goods {
    position:relative; display:flex; flex-direction:column; overflow:hidden;
    background:#fff; border:1px solid var(--cy-slate-200); border-radius:16px;
    box-shadow:var(--cy-sh-sm); transition:all .3s var(--cy-ease);
}
.cyx-goods:hover { transform:translateY(-6px); box-shadow:var(--cy-sh-lg); border-color:var(--cy-indigo-100); }
.cyx-goods-media { position:relative; display:block; height:186px; overflow:hidden; background:var(--cy-slate-100); }
.cyx-goods-media img { width:100%; height:100%; object-fit:cover; transition:transform .45s var(--cy-ease); }
.cyx-goods:hover .cyx-goods-media img { transform:scale(1.06); }
.cyx-goods-tag {
    position:absolute; left:10px; top:10px; z-index:2; padding:4px 10px; border-radius:999px;
    font-size:11.5px; font-weight:700; color:#fff; background:var(--cy-grad); box-shadow:var(--cy-sh-brand);
}
.cyx-goods-tag--new { background:linear-gradient(135deg,#34d399 0%,#059669 100%); box-shadow:0 6px 16px rgba(5,150,105,.28); }
.cyx-goods-tag--best { background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%); box-shadow:0 6px 16px rgba(245,158,11,.28); }
.cyx-goods-body { padding:14px 16px 16px; display:flex; flex-direction:column; flex:1; }
.cyx-goods-name {
    font-size:14px; font-weight:600; color:var(--cy-slate-800); line-height:1.55; margin:0 0 10px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:43px;
}
.cyx-goods:hover .cyx-goods-name { color:var(--cy-indigo-600); }
.cyx-goods-price { display:flex; align-items:baseline; gap:8px; margin-bottom:10px; }
.cyx-goods-price .now { font-size:19px; font-weight:800; color:#e11d48; }
.cyx-goods-price .now small { font-size:12px; font-weight:600; }
.cyx-goods-price del { font-size:12px; color:var(--cy-slate-400); }
.cyx-goods-foot {
    margin-top:auto; padding-top:10px; border-top:1px dashed var(--cy-slate-200);
    display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.cyx-goods-btn { font-size:12.5px; font-weight:600; color:var(--cy-indigo-600); }
@media (max-width:991px){ .cyx-goods-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cyx-goods-grid{grid-template-columns:1fr;} }

/* 楼层头部（左侧标题 + 右侧更多） */
.cyx-floor-head { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:26px; flex-wrap:wrap; }
.cyx-floor-head h2 { font-size:26px; font-weight:800; color:var(--cy-slate-900); margin:0 0 6px; letter-spacing:-.3px; }
.cyx-floor-head p { margin:0; font-size:14px; color:var(--cy-slate-500); }
.cyx-floor-more { font-size:13.5px; font-weight:600; color:var(--cy-indigo-600); display:inline-flex; align-items:center; gap:5px; }
.cyx-floor-more:hover { gap:9px; }

/* 价格区间 */
.cyx-ranges { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.cyx-range {
    display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer;
    padding:22px 20px; border-radius:16px; border:1px solid var(--cy-slate-200); background:#fff;
    box-shadow:var(--cy-sh-sm); transition:all .3s var(--cy-ease); text-align:left;
}
.cyx-range:hover { transform:translateY(-5px); box-shadow:var(--cy-sh-lg); border-color:var(--cy-indigo-100); }
.cyx-range-label { font-size:15.5px; font-weight:700; color:var(--cy-slate-900); margin-bottom:4px; }
.cyx-range-count { font-size:12.5px; color:var(--cy-slate-500); }
.cyx-range-count b { color:var(--cy-indigo-600); font-size:15px; }
.cyx-range-arrow { flex:none; width:34px; height:34px; border-radius:11px; background:var(--cy-indigo-50); color:var(--cy-indigo-600); display:flex; align-items:center; justify-content:center; transition:all .3s var(--cy-ease); }
.cyx-range:hover .cyx-range-arrow { background:var(--cy-grad); color:#fff; }
@media (max-width:991px){ .cyx-ranges{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cyx-ranges{grid-template-columns:1fr;} }

/* 商家 */
.cyx-sellers { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cyx-seller {
    display:flex; align-items:center; gap:12px; padding:16px 18px; border-radius:14px;
    border:1px solid var(--cy-slate-200); background:#fff; box-shadow:var(--cy-sh-sm); transition:all .3s var(--cy-ease);
}
.cyx-seller:hover { transform:translateY(-4px); box-shadow:var(--cy-sh-md); border-color:var(--cy-indigo-100); }
.cyx-seller-avatar { flex:none; width:40px; height:40px; border-radius:12px; background:var(--cy-grad); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; }
.cyx-seller-name { font-size:14.5px; font-weight:700; color:var(--cy-slate-800); margin-bottom:3px; }
.cyx-seller-addr { font-size:12px; color:var(--cy-slate-400); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:210px; }
@media (max-width:991px){ .cyx-sellers{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cyx-sellers{grid-template-columns:1fr;} }

/* FAQ 快捷问题 */
.cyx-faq-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.cyx-faq-card {
    display:flex; align-items:flex-start; gap:12px; padding:18px 20px; border-radius:14px; cursor:pointer;
    border:1px solid var(--cy-slate-200); background:#fff; box-shadow:var(--cy-sh-sm); transition:all .3s var(--cy-ease); text-align:left;
}
.cyx-faq-card:hover { transform:translateY(-4px); box-shadow:var(--cy-sh-md); border-color:var(--cy-indigo-100); }
.cyx-faq-q { font-size:14.5px; font-weight:700; color:var(--cy-slate-800); margin-bottom:5px; }
.cyx-faq-a { font-size:12.5px; color:var(--cy-slate-500); line-height:1.7; }
.cyx-faq-icon { flex:none; width:34px; height:34px; border-radius:10px; background:var(--cy-indigo-50); color:var(--cy-indigo-600); display:flex; align-items:center; justify-content:center; }
@media (max-width:991px){ .cyx-faq-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:575px){ .cyx-faq-grid{grid-template-columns:1fr;} }

/* 商城 CTA（浅色版，避免深色底压字） */
.cyx-cta {
    position:relative; overflow:hidden; border-radius:20px; padding:44px 40px;
    background:linear-gradient(135deg,#0f172a 0%,#1e293b 55%,#4338ca 100%);
    box-shadow:var(--cy-sh-lg);
}
.cyx-cta::after { content:''; position:absolute; right:-80px; top:-80px; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(56,189,248,.35) 0%,transparent 70%); }
.cyx-cta-inner { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:26px; flex-wrap:wrap; }
.cyx-cta h3 { margin:0 0 10px; font-size:26px; font-weight:800; color:#fff !important; }
.cyx-cta p { margin:0; font-size:14.5px; line-height:1.85; color:rgba(255,255,255,.78) !important; }
.cyx-cta-actions { display:flex; gap:12px; flex-wrap:wrap; }
.cyx-cta-btn { padding:13px 26px; border-radius:999px; font-size:14.5px; font-weight:600; display:inline-flex; align-items:center; gap:8px; cursor:pointer; border:0; }
.cyx-cta-btn--main { background:linear-gradient(135deg,#38bdf8 0%,#6366f1 100%); color:#fff !important; box-shadow:var(--cy-sh-brand); }
.cyx-cta-btn--ghost { background:rgba(255,255,255,.1); border:1.5px solid rgba(255,255,255,.28); color:#fff !important; }
.cyx-cta-btn--ghost:hover, .cyx-cta-btn--main:hover { transform:translateY(-2px); }
@media (max-width:768px){ .cyx-cta{padding:30px 20px;} .cyx-cta h3{font-size:21px;} }

/* ==========================================================
   商品详情页增强
   ========================================================== */
.cyx-detail-tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.cyx-detail-title { font-size:22px !important; font-weight:700; color:var(--cy-slate-900); line-height:1.5; }
.cyx-price-box {
    background:linear-gradient(135deg,#fff5f5 0%,#fef2f2 100%);
    border:1px solid #fecdd3; border-radius:16px; padding:18px 20px; margin:14px 0;
}
.cyx-price-main { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.cyx-price-label { font-size:13px; color:var(--cy-slate-500); }
.cyx-price-now { font-size:30px; font-weight:800; color:#e11d48; line-height:1; }
.cyx-price-now small { font-size:16px; font-weight:700; }
.cyx-price-old { font-size:13px; color:var(--cy-slate-400); text-decoration:line-through; }
.cyx-price-tip { margin-top:9px; font-size:12.5px; color:#b91c1c; background:rgba(255,255,255,.7); display:inline-block; padding:4px 10px; border-radius:8px; }
.cyx-detail-meta {
    display:grid; grid-template-columns:repeat(2,1fr); gap:8px 18px;
    padding:16px 18px; border-radius:14px; background:var(--cy-slate-50);
    border:1px solid var(--cy-slate-200); font-size:13px; color:var(--cy-slate-500); margin-bottom:14px;
}
.cyx-detail-meta span b { color:var(--cy-slate-800); font-weight:600; }
.cyx-brief {
    border:0 !important; border-left:3px solid var(--cy-indigo-500) !important;
    background:var(--cy-indigo-50); border-radius:0 12px 12px 0;
    padding:14px 18px !important; margin-bottom:14px !important;
    font-size:13.5px; line-height:1.85; color:var(--cy-slate-600);
}
@media (max-width:575px){ .cyx-detail-meta{grid-template-columns:1fr;} .cyx-price-now{font-size:24px;} }

/* 详情页 tab / 参数表 */
.cyx-detail-tabs .nav-tabs { border-bottom:1px solid var(--cy-slate-200); gap:6px; }
.cyx-detail-tabs .nav-link {
    border:0; border-bottom:2px solid transparent; background:transparent;
    padding:12px 20px; font-size:15px; font-weight:600; color:var(--cy-slate-500); cursor:pointer; border-radius:10px 10px 0 0;
}
.cyx-detail-tabs .nav-link:hover { color:var(--cy-indigo-600); background:var(--cy-indigo-50); }
.cyx-detail-tabs .nav-link.active { color:var(--cy-indigo-600); border-bottom-color:var(--cy-indigo-600); background:var(--cy-indigo-50); }
.cyx-table { width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--cy-slate-200); border-radius:14px; overflow:hidden; }
.cyx-table th, .cyx-table td { padding:13px 18px; font-size:13.5px; border-bottom:1px solid var(--cy-slate-200); }
.cyx-table th { background:var(--cy-slate-50); color:var(--cy-slate-600); font-weight:600; width:180px; text-align:left; }
.cyx-table tr:last-child th, .cyx-table tr:last-child td { border-bottom:0; }

/* 详情页商家卡 */
.cyx-seller-card {
    display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
    padding:14px 16px; border-radius:14px; border:1px solid var(--cy-slate-200);
    background:#fff; box-shadow:var(--cy-sh-sm); margin:14px 0;
}
.cyx-seller-card-left { display:flex; align-items:center; gap:12px; }
.cyx-seller-kf { white-space:nowrap; }

/* 列表页侧栏增强 */
.cyx-side-kf { background:linear-gradient(135deg,#eef2ff 0%,#f0f9ff 100%); border:1px solid #e0e7ff; border-radius:16px; padding:20px; }
.cyx-side-kf .widget-title { margin-top:0; }
.cyx-side-kf-text { font-size:13px; line-height:1.85; color:var(--cy-slate-600); margin:0 0 14px; }
.cyx-side-kf-btn {
    width:100%; display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer;
    padding:12px 18px; border:0; border-radius:12px; color:#fff !important; font-size:14px; font-weight:600;
    background:linear-gradient(135deg,#0ea5e9 0%,#4f46e5 100%); box-shadow:var(--cy-sh-brand);
}
.cyx-side-kf-btn:hover { transform:translateY(-2px); }
.cyx-side-promise { list-style:none; margin:14px 0 0; padding:0; }
.cyx-side-promise li { position:relative; padding-left:20px; font-size:12.5px; color:var(--cy-slate-500); line-height:1.9; }
.cyx-side-promise li::before { content:''; position:absolute; left:2px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--cy-emerald-500); }
.cyx-side-list .mainmenu__link { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cyx-side-count {
    flex:none; min-width:26px; text-align:center; padding:1px 7px; border-radius:999px;
    background:var(--cy-indigo-50); color:var(--cy-indigo-600); font-size:11.5px; font-weight:700;
}

/* 分类页 hero 分类快捷入口 */
.cyx-hero-chips { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:20px; }
.cyx-hero-chips a {
    padding:8px 16px; border-radius:999px; font-size:13px; font-weight:600;
    background:#fff; border:1px solid var(--cy-slate-200); color:var(--cy-slate-600) !important;
    box-shadow:var(--cy-sh-sm); transition:all .25s var(--cy-ease);
}
.cyx-hero-chips a:hover { border-color:var(--cy-indigo-500); color:var(--cy-indigo-600) !important; background:var(--cy-indigo-50); transform:translateY(-2px); }

/* 文章/帮助页 */
.cyx-article-wrap { max-width:1000px; margin:0 auto; padding:0 20px 60px; }
.cyx-article-meta {
    display:flex; flex-wrap:wrap; gap:10px 26px; padding:14px 20px; margin-top:28px;
    background:var(--cy-slate-50); border:1px solid var(--cy-slate-200); border-radius:14px;
    font-size:13px; color:var(--cy-slate-500);
}
.cyx-article-meta span { display:inline-flex; align-items:center; gap:7px; }
.cyx-article-wrap .article-content { background:transparent; padding:28px 0 0; }
.cyx-article-wrap .article-content h2 { border-bottom:2px solid var(--cy-indigo-100); }
.cyx-article-wrap .article-content p, .cyx-article-wrap .article-content li { line-height:1.95; }
.cyx-article-help {
    display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
    margin-top:30px; padding:22px 26px; border-radius:16px;
    background:linear-gradient(135deg,#eef2ff 0%,#f0f9ff 100%); border:1px solid #e0e7ff;
}
.cyx-article-help-text strong { display:block; font-size:16px; color:var(--cy-slate-900); margin-bottom:5px; }
.cyx-article-help-text span { font-size:13.5px; color:var(--cy-slate-600); }
.cyx-article-related { margin-top:30px; padding-top:24px; border-top:1px dashed var(--cy-slate-200); }
.cyx-article-related h3 { font-size:16px; font-weight:700; color:var(--cy-slate-900); margin:0 0 14px; }
.cyx-article-links { display:flex; flex-wrap:wrap; gap:10px; }
.cyx-article-links a {
    padding:9px 16px; border-radius:999px; font-size:13px; font-weight:600;
    background:#fff; border:1px solid var(--cy-slate-200); color:var(--cy-slate-600); text-decoration:none;
    transition:all .25s var(--cy-ease);
}
.cyx-article-links a:hover { border-color:var(--cy-indigo-500); color:var(--cy-indigo-600); background:var(--cy-indigo-50); transform:translateY(-2px); }

/* 商家入驻页 */
.merchant-content { max-width:1100px; margin:0 auto; padding:40px 20px 20px; }
.merchant-content .section-block { background:#fff; border:1px solid var(--cy-slate-200); border-radius:16px; padding:26px 28px; margin-bottom:22px; box-shadow:var(--cy-sh-sm); }
.merchant-content .section-title { font-size:18px; font-weight:700; color:var(--cy-slate-900); margin-bottom:14px; padding-left:14px; border-left:4px solid var(--cy-indigo-500); }
.merchant-content .warning { background:var(--cy-amber-50); border:1px solid #fde68a; border-radius:12px; padding:12px 16px; font-size:13px; color:#92400e; line-height:1.85; }
.merchant-content table { width:100%; border-collapse:separate; border-spacing:0; border:1px solid var(--cy-slate-200); border-radius:14px; overflow:hidden; margin:16px 0; }
.merchant-content table th { background:var(--cy-slate-50); color:var(--cy-slate-600); font-weight:600; font-size:13.5px; padding:12px 16px; text-align:left; }
.merchant-content table td { padding:13px 16px; font-size:13.5px; color:var(--cy-slate-600); line-height:1.8; border-top:1px solid var(--cy-slate-200); }
.merchant-content table tr:hover td { background:var(--cy-indigo-50); }

/* ==========================================================
   深色底文字兜底（防止主题/模板内联样式造成深底深字）
   ========================================================== */
.page-banner, .page-banner-content { color:#fff; }
.page-banner h1, .page-banner h2 { color:#fff !important; }
.page-banner .breadcrumb li, .page-banner .breadcrumb li a { color:rgba(255,255,255,.75) !important; }
.page-banner .breadcrumb li:last-child { color:#fff !important; }
.cyx-cta, .cyx-cta h3, .cyx-cta p, .cyx-cta strong { color:#fff !important; }
.cyx-cta p { color:rgba(255,255,255,.8) !important; }
.cyx-promise, .cyx-promise .cyx-promise-title { color:#fff !important; }
.cyx-promise .cyx-promise-desc { color:rgba(255,255,255,.62) !important; }
.cyx-footer, .cyx-footer p, .cyx-footer span, .cyx-footer li, .cyx-footer a { color:var(--cy-slate-400); }
.cyx-footer .cyx-footer-title { color:#fff !important; }
.cyx-footer .cyx-footer-bottom, .cyx-footer .cyx-footer-pay span { color:var(--cy-slate-300); }

/* ==========================================================
   v4 · 商城品牌识别层（星曜母题 / 悬浮 Header / 非对称 Hero）
   ========================================================== */
:root {
    --cyx-cyan-300:#67e8f9; --cyx-cyan-400:#22d3ee;
    --cyx-grad-brand: linear-gradient(120deg, #22d3ee 0%, #4f46e5 55%, #7c3aed 100%);
    --cyx-hairline: linear-gradient(90deg, rgba(34,211,238,0), rgba(79,70,229,.55), rgba(124,58,237,0));
}

/* ---------- 悬浮玻璃 Header ---------- */
.header-modern { background:transparent !important; position:sticky; top:0; z-index:900; padding-top:12px; }
.header-modern .header-top {
    background:transparent !important; border-bottom:0 !important; color:var(--cy-slate-500);
}
.header-modern .header-top .container { max-width:1320px; }
.header-modern .header-top-inner { height:34px; }
.header-modern .header-top a { color:var(--cy-slate-600); }
.header-modern .header-top a:hover { color:var(--cy-indigo-600); }
.header-modern .header-main {
    background:rgba(255,255,255,.78) !important; backdrop-filter:blur(16px) saturate(1.25);
    border:1px solid rgba(226,232,240,.9) !important; border-radius:22px;
    max-width:1320px; margin:0 auto;
    box-shadow:0 12px 34px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.7);
}
.header-modern .header-main-inner { height:64px; padding:0 14px 0 18px; gap:16px; }
.header-modern .header-logo img { height:40px; width:auto; }
.header-modern .header-nav { gap:2px; }
.header-modern .header-nav-item {
    position:relative; border-radius:12px; padding:9px 13px; font-size:14px; font-weight:500; color:var(--cy-slate-600);
}
.header-modern .header-nav-item::after {
    content:''; position:absolute; left:50%; bottom:4px; width:0; height:2px; border-radius:2px;
    background:var(--cyx-grad-brand); transform:translateX(-50%); transition:width .25s var(--cy-ease);
}
.header-modern .header-nav-item:hover { color:var(--cy-indigo-600); background:rgba(79,70,229,.06); }
.header-modern .header-nav-item:hover::after { width:16px; }
.header-modern .header-nav-item.active { color:#fff; background:var(--cyx-grad-brand); box-shadow:0 10px 24px rgba(79,70,229,.25); }
.header-modern .header-nav-item.active::after { display:none; }
.header-modern .header-user-btn { border-radius:999px; }

/* ---------- 商城 Hero ---------- */
.cyx-hero { position:relative; overflow:hidden; padding:34px 0 0; background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%); }
.cyx-hero-grid {
    position:absolute; inset:0; background-image:url('/assets/img/grid.svg'); background-size:44px 44px;
    mask-image:radial-gradient(120% 90% at 18% 6%, #000 0%, transparent 72%);
    -webkit-mask-image:radial-gradient(120% 90% at 18% 6%, #000 0%, transparent 72%);
    opacity:.65; pointer-events:none;
}
.cyx-hero-inner {
    position:relative; z-index:2; max-width:1320px; margin:0 auto; padding:26px 20px 0;
    display:grid; grid-template-columns:1.02fr .98fr; gap:34px; align-items:center;
}
.cyx-hero-eyebrow {
    display:inline-flex; align-items:center; gap:9px; padding:7px 16px; border-radius:999px;
    background:rgba(255,255,255,.85); border:1px solid var(--cy-indigo-100); color:var(--cy-indigo-600);
    font-size:13px; font-weight:600; box-shadow:0 6px 18px rgba(79,70,229,.08); margin-bottom:20px;
}
.cyx-hero-eyebrow img { width:14px; height:14px; }
.cyx-hero-title { font-size:50px; line-height:1.14; font-weight:800; letter-spacing:-1.4px; color:var(--cy-slate-900) !important; margin:0 0 18px; }
.cyx-hero-title .hl { background:var(--cyx-grad-brand); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.cyx-hero-title .outline { color:transparent; -webkit-text-stroke:1.5px var(--cy-slate-900); }
.cyx-hero-sub { font-size:16.5px; line-height:1.9; color:var(--cy-slate-500) !important; max-width:520px; margin:0 0 26px; }
.cyx-hero-cta { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:22px; }
.cyx-hero-btn { display:inline-flex; align-items:center; gap:9px; height:50px; padding:0 26px; border-radius:999px; font-size:15px; font-weight:600; }
.cyx-hero-btn--primary { color:#fff !important; background:var(--cyx-grad-brand); box-shadow:0 16px 36px rgba(79,70,229,.28); }
.cyx-hero-btn--primary:hover { color:#fff !important; transform:translateY(-2px); }
.cyx-hero-btn--ghost { color:var(--cy-slate-800) !important; background:#fff; border:1px solid var(--cy-slate-200); }
.cyx-hero-btn--ghost:hover { color:var(--cy-indigo-600) !important; transform:translateY(-2px); }
.cyx-hero-proof { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.cyx-hero-proof span { display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--cy-slate-500); }
.cyx-hero-proof span img { width:13px; height:13px; }
.cyx-hero-right { position:relative; min-height:360px; }
.cyx-hero-glow {
    position:absolute; width:400px; height:400px; right:-30px; top:-30px; border-radius:50%;
    background:radial-gradient(circle, rgba(34,211,238,.26) 0%, rgba(124,58,237,.18) 44%, rgba(255,255,255,0) 72%);
    filter:blur(6px); pointer-events:none;
}
.cyx-hero-visual { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.cyx-hero-visual svg { width:100%; max-width:480px; height:auto; }
.cyx-fc {
    position:absolute; display:flex; align-items:center; gap:11px; padding:13px 16px; border-radius:16px;
    background:rgba(255,255,255,.94); border:1px solid rgba(226,232,240,.9);
    box-shadow:0 18px 44px rgba(15,23,42,.12); animation:cyFloat2 6s ease-in-out infinite;
}
.cyx-fc-icon { width:34px; height:34px; border-radius:11px; background:var(--cyx-grad-brand); color:#fff; display:flex; align-items:center; justify-content:center; flex:none; }
.cyx-fc-num { font-size:18px; font-weight:800; color:var(--cy-slate-900); line-height:1.15; }
.cyx-fc-label { font-size:12px; color:var(--cy-slate-500); }
.cyx-fc--1 { left:0; top:16px; }
.cyx-fc--2 { right:0; top:150px; animation-delay:1.6s; }
.cyx-fc--3 { left:24px; bottom:26px; animation-delay:2.8s; }
@keyframes cyFloat2 { 0%,100%{transform:translateY(0);} 50%{transform:translateY(-11px);} }
.cyx-hero-strip {
    position:relative; z-index:3; max-width:1320px; margin:34px auto 0; padding:0 20px;
}
@media (max-width:991px){
    .cyx-hero-inner { grid-template-columns:1fr; }
    .cyx-hero-title { font-size:34px; letter-spacing:-.8px; }
    .cyx-hero-right { min-height:300px; }
    .cyx-fc--1{left:0;top:0;} .cyx-fc--2{right:0;top:120px;} .cyx-fc--3{left:0;bottom:0;}
}

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

/* 榜单 */
.cyx-rank { display:grid; grid-template-columns:.92fr 1.08fr; gap:22px; }
.cyx-rank-champ { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:400px;
    border-radius:22px; overflow:hidden; padding:24px; background:#0f172a; box-shadow:var(--cy-sh-lg); }
.cyx-rank-champ img.bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cyx-rank-champ::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,23,42,0) 34%, rgba(15,23,42,.88) 100%); }
.cyx-rank-champ > * { position:relative; z-index:2; }
.cyx-rank-medal { align-self:flex-start; display:inline-flex; align-items:center; gap:7px; padding:6px 13px;
    border-radius:999px; font-size:12px; font-weight:700; color:#0f172a;
    background:linear-gradient(120deg,#fde68a,#fbbf24); margin-bottom:auto; }
.cyx-rank-name { font-size:18px; font-weight:700; color:#fff; line-height:1.5; margin:0 0 10px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cyx-rank-price { font-size:24px; font-weight:800; color:#fff; margin-bottom:12px; }
.cyx-rank-btn { align-self:flex-start; display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 20px;
    border-radius:999px; background:#fff; color:#0f172a !important; font-size:13.5px; font-weight:700; }
.cyx-rank-list { display:flex; flex-direction:column; gap:10px; }
.cyx-rank-row { display:flex; align-items:center; gap:14px; padding:13px 16px; background:#fff;
    border:1px solid var(--cy-slate-200); border-radius:15px; box-shadow:var(--cy-sh-sm); transition:all .25s var(--cy-ease); }
.cyx-rank-row:hover { transform:translateX(4px); box-shadow:var(--cy-sh-md); border-color:var(--cy-indigo-100); }
.cyx-rank-no { flex:none; width:32px; height:32px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    font-size:13.5px; font-weight:800; color:var(--cy-slate-400); background:var(--cy-slate-100); }
.cyx-rank-row:nth-child(1) .cyx-rank-no { color:#fff; background:linear-gradient(120deg,#fbbf24,#f59e0b); }
.cyx-rank-row:nth-child(2) .cyx-rank-no { color:#fff; background:linear-gradient(120deg,#94a3b8,#64748b); }
.cyx-rank-row:nth-child(3) .cyx-rank-no { color:#fff; background:linear-gradient(120deg,#fb923c,#ea580c); }
.cyx-rank-title { flex:1 1 auto; min-width:0; font-size:14px; font-weight:600; color:var(--cy-slate-800);
    overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cyx-rank-bar { flex:none; width:80px; height:6px; border-radius:6px; background:var(--cy-slate-100); overflow:hidden; }
.cyx-rank-bar i { display:block; height:100%; border-radius:6px; background:var(--cyx-grad-brand); transition:width .8s var(--cy-ease); }
.cyx-rank-price-sm { flex:none; font-size:14px; font-weight:800; color:#e11d48; }
@media (max-width:991px){ .cyx-rank{grid-template-columns:1fr;} .cyx-rank-champ{min-height:300px;} .cyx-rank-bar{display:none;} }

/* 横向滑动 */
.cyx-rail-wrap { position:relative; }
.cyx-rail { display:flex; gap:18px; overflow-x:auto; padding:6px 2px 16px; scroll-snap-type:x mandatory; }
.cyx-rail::-webkit-scrollbar { display:none; }
.cyx-rail > * { flex:0 0 250px; scroll-snap-align:start; }
.cyx-rail-nav { position:absolute; top:-56px; right:0; display:flex; gap:8px; }
.cyx-rail-btn { width:38px; height:38px; border-radius:12px; border:1px solid var(--cy-slate-200); background:#fff;
    color:var(--cy-slate-600); display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:var(--cy-sh-sm); }
.cyx-rail-btn:hover { color:#fff; background:var(--cyx-grad-brand); border-color:transparent; }
.cyx-rail-btn[disabled] { opacity:.35; cursor:not-allowed; }

/* 杂志分栏 */
.cyx-mag { display:grid; grid-template-columns:1.25fr 1fr; gap:20px; }
.cyx-mag-main { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:400px;
    border-radius:22px; overflow:hidden; padding:26px; box-shadow:var(--cy-sh-md); }
.cyx-mag-main img.bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cyx-mag-main::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,23,42,.05) 40%, rgba(15,23,42,.86) 100%); }
.cyx-mag-main > * { position:relative; z-index:2; }
.cyx-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; }
.cyx-mag-title { font-size:19px; font-weight:700; color:#fff; line-height:1.5; margin:0 0 10px;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cyx-mag-price { font-size:21px; font-weight:800; color:#fff; }
.cyx-mag-side { display:grid; grid-template-rows:1fr 1fr; gap:18px; }
.cyx-mag-mini { display:flex; gap:14px; padding:14px; border-radius:18px; background:#fff; border:1px solid var(--cy-slate-200); box-shadow:var(--cy-sh-sm); transition:all .3s var(--cy-ease); }
.cyx-mag-mini:hover { transform:translateY(-4px); box-shadow:var(--cy-sh-md); border-color:var(--cy-indigo-100); }
.cyx-mag-mini img { width:104px; min-height:98px; border-radius:12px; object-fit:cover; flex:none; background:var(--cy-slate-100); }
.cyx-mag-mini-body { display:flex; flex-direction:column; justify-content:center; gap:7px; min-width:0; }
.cyx-mag-mini-title { font-size:13.5px; font-weight:600; color:var(--cy-slate-800); line-height:1.5;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cyx-mag-mini-price { font-size:15px; font-weight:800; color:#e11d48; }
@media (max-width:991px){ .cyx-mag{grid-template-columns:1fr;} .cyx-mag-main{min-height:280px;} }

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

/* 分段价格条 */
.cyx-segbar-track { display:grid; grid-template-columns:56fr 58fr 63fr 6fr; height:13px; border-radius:999px; overflow:hidden; }
.cyx-segbar-track i:nth-child(1){background:linear-gradient(90deg,#a5f3fc,#67e8f9);}
.cyx-segbar-track i:nth-child(2){background:linear-gradient(90deg,#67e8f9,#818cf8);}
.cyx-segbar-track i:nth-child(3){background:linear-gradient(90deg,#818cf8,#7c3aed);}
.cyx-segbar-track i:nth-child(4){background:linear-gradient(90deg,#7c3aed,#4c1d95);}

/* CTA 斜切 + 星曜 */
.cyx-cta--diag { border-radius:0; clip-path:polygon(0 0, 100% 4%, 100% 100%, 0 96%); padding:66px 44px 74px; }
.cyx-cta-star { position:absolute; right:8%; top:16%; width:160px; height:160px; opacity:.16; animation:cySpin2 34s linear infinite; }
@keyframes cySpin2 { to { transform:rotate(360deg); } }

/* ---------- 商城页头统一为浅色品牌版（替换深色一横条） ---------- */
.page-banner {
    position:relative; overflow:hidden; text-align:center !important;
    background:linear-gradient(180deg,#f7fbff 0%,#ffffff 100%) !important;
    padding:54px 20px 46px !important;
}
.page-banner::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-banner::after {
    content:''; position:absolute; right:-120px; top:-130px; 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-banner-content { position:relative; z-index:2; }
.page-banner h1, .page-banner h2 { color:var(--cy-slate-900) !important; font-weight:800; letter-spacing:-.5px; }
.page-banner .breadcrumb li { color:var(--cy-slate-500) !important; }
.page-banner .breadcrumb li a { color:var(--cy-slate-600) !important; }
.page-banner .breadcrumb li a:hover { color:var(--cy-indigo-600) !important; }
.page-banner .breadcrumb li:not(:last-child)::after { color:var(--cy-slate-300) !important; }
.page-banner .breadcrumb li:last-child { color:var(--cy-slate-800) !important; font-weight:600; }

/* ==========================================================
   v4.1 · 商城 Header 宽度自适应 + 抽屉菜单
   ========================================================== */
.header-modern .header-main-inner { gap: 12px; padding: 0 12px 0 16px; }
.header-modern .header-logo img { height: 36px; }
.header-modern .header-nav { flex: 0 1 auto; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.header-modern .header-nav::-webkit-scrollbar { display: none; }
.header-modern .header-nav-item { padding: 8px 10px; font-size: 13.5px; flex: none; }
.header-modern .header-user-btn { padding: 8px 14px; font-size: 13.5px; }
.header-modern .header-user-btn svg { width: 15px; height: 15px; }
.header-modern.is-stuck .header-main { background: rgba(255,255,255,.92) !important; box-shadow: 0 18px 44px rgba(15,23,42,.12), inset 0 1px 0 rgba(255,255,255,.8); }

@media (max-width: 1560px) { .cyx-hide-md { display: none !important; } }
@media (max-width: 1440px) { .header-modern .header-nav-item { padding: 8px 8px; font-size: 13px; } }
@media (max-width: 1320px) { .cyx-hide-sm { display: none !important; } }
@media (max-width: 1180px) {
    .header-modern .header-nav { display: none; }
    .header-modern .header-user-btn { display: none; }
    .cyx-menu-toggle { display: flex !important; }
    .cyx-drawer { display: block !important; }
}

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

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

/* v4.2 · 商城 Bento 卡片排版修正 */
.cyx-bento-item > span { display: block; }
.cyx-bento-icon { margin-bottom: 4px; }
.cyx-bento-title { display: block; margin: 10px 0 6px; }
.cyx-bento-desc { display: block; }
.cyx-bento-foot { display: flex; }
.cyx-bento-item:nth-child(1) .cyx-bento-icon { margin-bottom: 16px; }

/* v4.2 · 商城 header 按钮收拾（只留一个强调） */
.header-modern .header-nav-item.active {
    color: var(--cy-indigo-600) !important; background: #eef2ff !important; box-shadow: none !important;
}
.header-modern .header-nav-item.active::after { display: none; }
.header-modern .header-user-btn {
    background: #fff !important; color: #334155 !important; border: 1px solid var(--cy-slate-200) !important;
    box-shadow: none !important; font-weight: 500;
}
.header-modern .header-user-btn:hover { border-color: #a5b4fc !important; color: var(--cy-indigo-600) !important; background: #eef2ff !important; }
.header-modern .header-logout { background: #fff !important; border: 1px solid var(--cy-slate-200); color: #64748b !important; box-shadow: none !important; }
.header-modern .header-user-btn svg { width: 15px; height: 15px; }

/* v4.2 · 抽屉面板实色底（同主站原因），header 提高不透明度保证文字对比 */
.cyx-drawer-inner {
    background: #ffffff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    border: 1px solid var(--cy-slate-200) !important;
    box-shadow: 0 26px 60px rgba(15,23,42,.18) !important;
}
.cyx-drawer-link { color: #334155 !important; }
.cyx-drawer-link:hover { color: var(--cy-indigo-600) !important; background: #eef2ff !important; }
.header-modern .header-main { background: #ffffff !important; }

/* v4.2 · 商城抽屉同样改全屏浮层，避免被内容层盖住 */
.cyx-drawer {
    position: fixed !important; inset: 0 !important; top: 0 !important; left: 0 !important; right: 0 !important;
    padding: 96px 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(--cy-ease), visibility .22s var(--cy-ease);
}
.cyx-drawer.is-open { opacity: 1; visibility: visible; }
.cyx-drawer-inner { max-width: 640px !important; margin: 0 auto !important; border-radius: 20px !important; }
@media (min-width: 1181px) { .cyx-drawer { display: none !important; } }

/* v4.2 · WCAG AA 对比度修正（商城浅色底小字） */
.cyx-pill-sky { background:#f0f9ff; color:#0369a1 !important; }
.cyx-pill-indigo { background:#eef2ff; color:#3730a3 !important; }
.cyx-pill-emerald { background:#ecfdf5; color:#047857 !important; }
.cyx-pill-amber { background:#fffbeb; color:#b45309 !important; }
.cyx-detail-meta, .cyx-detail-meta span { color:#475569 !important; }
.cyx-seller-addr, .cyx-range-count, .cyx-bento-foot, .cyx-cat-desc { color:#64748b !important; }
.cyx-article-meta, .cyx-article-meta span { color:#475569 !important; }
.cyx-mag-mini-price, .cyx-goods-price .now { color:#be123c !important; }
.cyx-footer-links a, .cyx-footer-contact li, .cyx-footer-brand p { color:#cbd5e1 !important; }
.cyx-footer-bottom, .cyx-footer-bottom span { color:#cbd5e1 !important; }

/* v4.2 · 商城 Bento 图标统一（首卡不再放大） */
.cyx-bento-icon,
.cyx-bento-item:nth-child(1) .cyx-bento-icon {
    width: 48px !important; height: 48px !important;
    margin-bottom: 14px !important; border-radius: 14px !important; flex: none;
}
.cyx-bento-icon svg,
.cyx-bento-item:nth-child(1) .cyx-bento-icon svg {
    width: 22px !important; height: 22px !important; stroke-width: 1.9;
}
.cyx-bento-item .cyx-bento-icon { background: #eef2ff !important; color: #4f46e5 !important; }
.cyx-bento-item:nth-child(1) .cyx-bento-icon { background: var(--cyx-grad-brand) !important; color:#fff !important; }

/* 商城分页对比度 */
.pagination .active a, .pagination a:hover, .pagination span.current {
    background: #4338ca !important; border-color: #4338ca !important; color: #ffffff !important;
}

/* v4.3 · 修正商城 Bento 图标定位（同主站原因） */
.cyx-bento-item > span:not(.cyx-bento-icon) { display: block; }
.cyx-bento-item .cyx-bento-icon,
.cyx-bento-item:nth-child(1) .cyx-bento-icon {
    display: flex !important; align-items: center !important; justify-content: center !important; line-height: 1;
}
.cyx-bento-item .cyx-bento-icon svg { display: block; }
.cyx-bento-item { justify-content: flex-start !important; }
.cyx-bento-foot { margin-top: auto !important; }

/* v4.3 · 商城 Bento 行高与描述限行（同主站） */
.cyx-bento { grid-auto-rows: 190px; }
.cyx-bento-desc {
    display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.cyx-bento-title { display: block; margin: 0 0 6px; }
.cyx-bento-icon { margin-bottom: 12px !important; }
@media (max-width: 991px) { .cyx-bento { grid-auto-rows: auto; } .cyx-bento-desc { -webkit-line-clamp: 3; } }

/* v4.3 · 商城大卡片关键词标签行 */
.cyx-bento-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 14px; }
.cyx-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 · 商城页头（分类/商品详情）统一为浅色品牌版
   根因：主题 assets-cy3/css/main.css 的 .page-title-area
   :before = #1a1a2b 深底(72.5%)、::after = #ff5e14 橙块(27.5%)、
   min-height:465px；且 goods_list.lbi / goods.dwt 内联
   :after{background-image:url(mbg3.jpg)!important;filter:brightness(60%)}
   这里用双类选择器 + !important 覆盖（特异性高于主题与内联块）
   ========================================================== */
.page-title-area.page-title-area {
    min-height: 0 !important;
    height: auto !important;
    background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%) !important;
    padding: 52px 0 44px !important;
    overflow: hidden;
}
.page-title-area.page-title-area::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important; height: 100% !important;
    background: url('/assets/img/grid.svg') !important;
    background-size: 44px 44px !important;
    background-repeat: repeat !important;
    opacity: .55 !important;
    z-index: 0 !important;
    filter: none !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%);
}
.page-title-area.page-title-area::after {
    content: '' !important;
    position: absolute !important;
    top: -130px !important; right: -120px !important;
    left: auto !important;
    width: 420px !important; height: 420px !important;
    background: radial-gradient(circle, rgba(34,211,238,.20) 0%, rgba(124,58,237,.14) 45%, rgba(255,255,255,0) 72%) !important;
    background-image: radial-gradient(circle, rgba(34,211,238,.20) 0%, rgba(124,58,237,.14) 45%, rgba(255,255,255,0) 72%) !important;
    border-radius: 50% !important;
    filter: none !important;
    opacity: 1 !important;
    z-index: 0 !important;
}
.page-title-area .container,
.page-title-area .page-title-content,
.page-title-area .page-title,
.page-title-area h1 { position: relative; z-index: 2 !important; }
.page-title-area .page-title, .page-title-area h1 { color: #0f172a !important; }
.page-title-area p, .page-title-area .cyx-page-sub { color: #475569 !important; }
.page-title-area .breadcrumb li, .page-title-area .breadcrumb li a { color: #475569 !important; }
.page-title-area .breadcrumb li:last-child { color: #0f172a !important; font-weight: 600; }

/* 文章/商家页横幅：去掉主题的暗色图蒙层 */
.page-banner::before {
    background: url('/assets/img/grid.svg') center/44px 44px repeat !important;
    opacity: .55 !important;
}
.page-banner, .page-banner-content { background: transparent !important; }

/* 分页当前页：#ff5151 底 + 白字仅 3.2:1 → 换品牌深蓝 */
.pagination .hover, .pagination li.hover,
.pagination .active, .pagination li.active,
.pagination .current, .pagination a.current,
.pagination a:hover {
    background: #4338ca !important;
    border-color: #4338ca !important;
}
.pagination .hover a, .pagination li.hover a,
.pagination .active a, .pagination li.active a,
.pagination .current a, .pagination a.current { color: #ffffff !important; }
.pagination .hover a, .pagination .hover { color: #ffffff !important; }

/* ==========================================================
   v4.5 · 补齐缺失样式（审计发现：页面用到但 CSS 未定义）
   cyx-features 系列（商家入驻页“平台优势”）此前完全无样式 → 裸奔
   ========================================================== */
.cyx-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cyx-feature {
    display: flex; gap: 14px; align-items: flex-start;
    padding: 22px; background: #fff; border: 1px solid var(--cy-slate-200);
    border-radius: 16px; box-shadow: var(--cy-sh-sm); transition: all .3s var(--cy-ease);
}
.cyx-feature:hover { transform: translateY(-4px); box-shadow: var(--cy-sh-lg); border-color: var(--cy-indigo-100); }
.cyx-feature-icon {
    flex: none; width: 44px; height: 44px; border-radius: 13px;
    background: var(--cy-indigo-50); color: var(--cy-indigo-600);
    display: flex; align-items: center; justify-content: center;
}
.cyx-feature-title { display: block; font-size: 15.5px; font-weight: 700; color: var(--cy-slate-900); margin-bottom: 6px; }
.cyx-feature-desc { display: block; font-size: 13px; line-height: 1.75; color: var(--cy-slate-500); }
@media (max-width: 991px) { .cyx-features { grid-template-columns: 1fr; } }

/* 价格分段条容器 */
.cyx-segbar { position: relative; }

/* 承诺条文字必须分行（此前 title/desc 是行内 span，会挤成一行） */
.cyx-promise-item > span { display: block; }
.cyx-promise-title { display: block !important; }
.cyx-promise-desc { display: block !important; line-height: 1.6; }

/* ==========================================================
   v4.5 · 统一旧结构 Header（page_header_simple / category / coupons / flow）
   这些页面的头部用的是 .header + .header__main 结构，不是 .header-modern，
   之前只覆盖了 .header-modern → 分类页等仍是“一条横杠”，且登录链接
   带内联 style（#373737/16px/600）显得又粗又花。
   ========================================================== */
.header:not(.header-modern) {
    position: sticky; top: 0; z-index: 900;
    background: transparent !important; padding: 12px 20px 0 !important;
}
.header:not(.header-modern) .header__inner,
.header:not(.header-modern) .header__inner.fixed-header {
    background: transparent !important; box-shadow: none !important;
    position: static !important; top: auto !important;
}
.header:not(.header-modern) .header__main {
    background: #ffffff !important;
    border: 1px solid var(--cy-slate-200) !important;
    border-radius: 22px !important;
    max-width: 1320px; margin: 0 auto;
    box-shadow: 0 12px 34px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.7) !important;
}
.header:not(.header-modern) .header__main .container-fluid { padding: 0 !important; }
.header:not(.header-modern) .header__main-inner {
    height: 64px !important; padding: 0 16px !important;
    display: flex !important; align-items: center !important; gap: 14px !important;
}
.header:not(.header-modern) .logo { width: auto !important; flex: none; }
.header:not(.header-modern) .logo img { height: 36px !important; width: auto !important; }
.header:not(.header-modern) .header__main-center { flex: 1 1 auto; min-width: 0; }
.header:not(.header-modern) .mainmenu {
    display: flex !important; align-items: center !important; justify-content: center !important;
    gap: 2px !important; flex-wrap: wrap !important; margin: 0 !important; padding: 0 !important; list-style: none !important;
}
.header:not(.header-modern) .mainmenu__item > a {
    display: inline-flex !important; align-items: center !important;
    padding: 8px 11px !important; border-radius: 12px !important;
    font-size: 13.5px !important; font-weight: 500 !important; color: var(--cy-slate-600) !important;
    text-decoration: none !important;
}
.header:not(.header-modern) .mainmenu__item > a:hover { color: var(--cy-indigo-600) !important; background: #eef2ff !important; }
.header:not(.header-modern) .mainmenu__item > a .mm-text { color: inherit !important; }
/* 登录/注册：内联样式需要 !important 覆盖，收成克制的描边胶囊 */
.header:not(.header-modern) .header__main-inner > a[href*="user.php"],
.header:not(.header-modern) .header__main-inner > a[href*="flow.php"] {
    padding: 8px 16px !important; border: 1px solid var(--cy-slate-200) !important;
    border-radius: 999px !important; background: #fff !important;
    font-size: 13.5px !important; font-weight: 500 !important; color: var(--cy-slate-700) !important;
    white-space: nowrap;
}
.header:not(.header-modern) .header__main-inner > a[href*="user.php"]:hover,
.header:not(.header-modern) .header__main-inner > a[href*="flow.php"]:hover {
    border-color: #a5b4fc !important; color: var(--cy-indigo-600) !important; background: #eef2ff !important;
}

/* v4.5 · 装饰光晕收进容器内，避免被 overflow:hidden 切出硬边
   （检测器报 page-banner/cyx-cta 裁切，实为伪元素光晕超出） */
.page-banner::after {
    top: -50px !important; right: -100px !important;
    width: 300px !important; height: 230px !important;
}
.cyx-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 · 商城页头光晕不外溢（配合 overflow:hidden，避免整页横滚） */
.page-title-area.page-title-area { overflow: hidden !important; }
.page-title-area.page-title-area::after {
    right: 0 !important; left: auto !important;
    top: -70px !important;
    width: 340px !important; height: 280px !important;
}
.w.w1390, .w.w1200 { max-width: 100% !important; box-sizing: border-box; }

/* 空内容块不占位（商品简介为空时不留空条） */
.cyx-brief:empty, .cyx-article-meta:empty, .cyx-detail-meta:empty { display: none !important; }
.cyx-brief { margin-bottom: 12px; }

/* ==========================================================
   v4.7 · 老页面容器自适应（原主题大量固定 1200/1225/1390px 容器，
   窄屏必出横向滚动条）
   ========================================================== */
.w, .w1200, .w1225, #merAppCon {
    width: 100% !important;
    max-width: 1225px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
.w1390 { width: 100% !important; max-width: 1390px !important; box-sizing: border-box; }
.w990 { width: 100% !important; max-width: 990px !important; box-sizing: border-box; }
@media (max-width: 1260px) {
    .w, .w1200, .w1225, #merAppCon, .w1390, .w990 { padding-left: 16px; padding-right: 16px; }
}
/* 模板内联的固定宽度一律放开 */
.merchants_steps .w[style],
.shop-list-view[style],
.goods-list[style],
.compare-tab[style],
[style*="1903px"] { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
/* 图片与表格兜底，避免撑破容器 */
.w img, .w1200 img, #merAppCon img, .merchant-content img, .table-content img { max-width: 100%; }
.table-content, .table-responsive, .goods-list, .shop-list-view { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.merchant-content table { width: 100% !important; }
@media (max-width: 991px) {
    .merchant-content { padding: 26px 16px 10px !important; }
    .merchant-content .section-block { padding: 20px 16px !important; }
}

/* ==========================================================
   v4.9 · 登录注册 / 个人中心 统一为品牌浅色版
   背景：主题 passport.css / user_center.css / user.css 用的是
   “深色玻璃 + 粉色 #f5576c/#f093fb”一套，与品牌不符且偏花哨。
   这里通过变量覆盖 + 关键深色规则覆盖来统一（不动原 CSS 文件）
   ========================================================== */
:root {
    --primary-gradient: linear-gradient(120deg, #22d3ee 0%, #4f46e5 55%, #7c3aed 100%);
    --secondary-gradient: linear-gradient(120deg, #0ea5e9 0%, #4f46e5 100%);
    --accent-gradient: linear-gradient(120deg, #22d3ee 0%, #4f46e5 100%);
    --glass-bg: #ffffff;
    --glass-border: #e2e8f0;
    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-light: #64748b;
    --accent-color: #4f46e5;
    --error-color: #dc2626;
    --success-color: #059669;
    --primary-color: #4f46e5;
    --primary-dark: #4338ca;
    --primary-light: #818cf8;
    --secondary-color: #0ea5e9;
    --card-shadow: 0 24px 60px rgba(15,23,42,.12);
    --sidebar-bg: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
    --sidebar-hover: rgba(79,70,229,.08);
    --sidebar-active: rgba(79,70,229,.14);
    --bg-sidebar: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
    --text-sidebar: #0f172a;
    --text-sidebar-muted: #475569;
    --border-color: #e2e8f0;
}
/* 背景：浅色品牌底 + 细网格 */
.bg-animated { background: linear-gradient(180deg,#f7fbff 0%,#ffffff 55%,#f8fafc 100%) !important; }
.bg-animated::before {
    background-image: url('/assets/img/grid.svg') !important;
    background-size: 44px 44px !important; opacity: .6 !important;
}
.bg-gradient {
    background:
        radial-gradient(circle at 12% 8%, rgba(34,211,238,.16) 0%, rgba(34,211,238,0) 52%),
        radial-gradient(circle at 88% 92%, rgba(124,58,237,.14) 0%, rgba(124,58,237,0) 52%) !important;
}
/* 品牌区 */
.brand-logo { background: transparent !important; }
.brand-logo::before { background: var(--primary-gradient) !important; }
.brand-logo::after { background: #ffffff !important; }
.logo-img { filter: none !important; }
.brand-title {
    background: none !important; -webkit-background-clip: initial !important; background-clip: initial !important;
    -webkit-text-fill-color: #0f172a !important; color: #0f172a !important;
}
.brand-subtitle { color: #475569 !important; letter-spacing: .04em; }
/* 卡片与表单 */
.card-face {
    background: #ffffff !important; border: 1px solid #e2e8f0 !important;
    box-shadow: 0 24px 60px rgba(15,23,42,.10) !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
.card-header h2 { color: #0f172a !important; }
.card-header p { color: #475569 !important; }
.input-icon { color: #94a3b8 !important; }
.input-group input {
    background: #f8fafc !important; border: 1px solid #e2e8f0 !important; color: #0f172a !important;
}
.input-group input::placeholder { color: #94a3b8 !important; }
.input-group input:focus {
    background: #ffffff !important; border-color: #4f46e5 !important; box-shadow: 0 0 0 4px rgba(79,70,229,.10) !important;
}
.password-toggle { color: #64748b !important; }
.checkbox-wrapper, .checkbox-wrapper span { color: #475569 !important; }
.forgot-link { color: #4338ca !important; font-weight: 500; }
.card-footer { border-top: 1px dashed #e2e8f0 !important; color: #64748b !important; }
.card-footer a { color: #4338ca !important; }
.back-home {
    background: #ffffff !important; border: 1px solid #e2e8f0 !important; color: #475569 !important;
    box-shadow: 0 6px 18px rgba(15,23,42,.06);
}
.back-home:hover { background: #ffffff !important; color: #4338ca !important; transform: none !important; }
.msg-error { background: #fef2f2 !important; color: #b91c1c !important; border: 1px solid #fecaca; }
/* 按钮：单一品牌色，去掉粉紫渐变与大阴影 */
.btn-primary, .login-btn, .register-btn, .submit-btn {
    background: #4f46e5 !important; background-image: none !important;
    box-shadow: 0 10px 24px rgba(79,70,229,.22) !important; border: 0 !important;
}
.btn-primary:hover, .login-btn:hover, .register-btn:hover, .submit-btn:hover {
    background: #4338ca !important; box-shadow: 0 14px 30px rgba(79,70,229,.28) !important;
}
/* 用户中心侧栏与内容 */
.sidebar { background: var(--sidebar-bg) !important; }
.sidebar-menu li a, .sidebar-menu .nav-link { color: #334155 !important; }
.sidebar-menu li.active a, .sidebar-menu li a:hover, .sidebar-menu .nav-link.active {
    background: #ffffff !important; color: #4338ca !important;
}
.user-perinfo-ny .avatar img { border-color: #e2e8f0 !important; }

/* v4.9 · 商城登录页背景三层装饰改为品牌浅色（原来是内联深色+粉蓝光晕） */
.cyx-auth-bg {
    position: fixed; inset: 0; z-index: 0;
    background: linear-gradient(180deg, #f7fbff 0%, #ffffff 55%, #f8fafc 100%) !important;
}
.bg-grid.cyx-auth-grid {
    position: fixed !important; inset: 0 !important;
    width: 100% !important; height: 100% !important;
    left: 0 !important; top: 0 !important;
    background-image: url('/assets/img/grid.svg') !important;
    background-size: 44px 44px !important;
    background-repeat: repeat !important;
    opacity: .6 !important;
    animation: none !important;
    mask-image: radial-gradient(120% 90% at 25% 0%, #000 0%, transparent 72%);
    -webkit-mask-image: radial-gradient(120% 90% at 25% 0%, #000 0%, transparent 72%);
}
.bg-glow.cyx-auth-glow {
    background:
        radial-gradient(circle at 12% 8%, rgba(34,211,238,.16) 0%, rgba(34,211,238,0) 50%),
        radial-gradient(circle at 88% 92%, rgba(124,58,237,.14) 0%, rgba(124,58,237,0) 50%) !important;
}
.float-shape { display: none !important; }

/* v4.9 · Bento 行高再加余量（描述换两行时 190px 不够） */
.cyx-bento { grid-auto-rows: 200px; }
.cyx-bento-desc { -webkit-line-clamp: 2 !important; }

/* v5.2 · 商品详情商家卡：头像位改店铺图标（原为店名文字，小圆里塞字很难看） */
.cyx-seller-card .cyx-seller-avatar {
    width: 42px !important; height: 42px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 0 !important;
}
.cyx-seller-card .cyx-seller-name {
    display: block; font-size: 15px; font-weight: 700; color: var(--cy-slate-900); margin-bottom: 3px;
}
.cyx-seller-card .cyx-seller-addr { display: block; font-size: 12.5px; color: var(--cy-slate-500); }

/* v5.3 · 商家卡联系电话（真实号码，跟店铺走） */
.cyx-seller-card .cyx-seller-tel {
    display: block; margin-top: 4px; font-size: 12.5px; color: var(--cy-slate-500);
}
.cyx-seller-card .cyx-seller-tel b {
    color: var(--cy-indigo, #4f46e5); font-weight: 700; letter-spacing: .3px;
}
