/* ============================================================
   ColorOS 17 磨砂玻璃材质（供未引入 style.css 的页面使用）
   product.php / user/open_shop.php 等
   ============================================================ */
:root {
    --cos-blur: 26px;
    --cos-bg: rgba(255, 255, 255, 0.52);
    --cos-bg-strong: rgba(255, 255, 255, 0.74);
    --cos-bg-soft: rgba(255, 255, 255, 0.36);
    --cos-border: rgba(255, 255, 255, 0.72);
    --cos-shadow: 0 10px 30px rgba(60, 80, 140, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    --cos-shadow-sm: 0 4px 14px rgba(60, 80, 140, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.85);
    --cos-radius: 22px;
    --cos-radius-sm: 14px;
}

/* 彩色柔光底图 */
body::before {
    content: '';
    position: fixed;
    inset: -10%;
    background:
        radial-gradient(closest-side at 18% 12%, rgba(126, 168, 255, 0.5), transparent 70%),
        radial-gradient(closest-side at 82% 8%, rgba(186, 148, 255, 0.42), transparent 70%),
        radial-gradient(closest-side at 88% 78%, rgba(120, 220, 220, 0.4), transparent 70%),
        radial-gradient(closest-side at 12% 86%, rgba(255, 178, 190, 0.4), transparent 70%);
    filter: blur(28px) saturate(140%);
    pointer-events: none;
    z-index: 0;
}

/* 磨砂玻璃卡片 */
.product-info, .product-desc, .card, .register-box, .info-card, .stats-card,
.cs-sheet, .modal-content, .glass-modal-box, .cos-loader-box {
    background: var(--cos-bg) !important;
    -webkit-backdrop-filter: blur(var(--cos-blur)) saturate(165%) !important;
    backdrop-filter: blur(var(--cos-blur)) saturate(165%) !important;
    border: 1px solid var(--cos-border) !important;
    border-radius: var(--cos-radius) !important;
    box-shadow: var(--cos-shadow) !important;
}

/* 底部操作栏 / 输入区 / 弹层 */
.bottom-bar, .cs-head, .cs-input, .cs-attach-bar, .cs-reply-chip, .modal-content,
.chat-input-area, .chat-input-bar, .chat-attach-bar, .glass-modal-box {
    background: var(--cos-bg-strong) !important;
    -webkit-backdrop-filter: blur(var(--cos-blur)) saturate(170%) !important;
    backdrop-filter: blur(var(--cos-blur)) saturate(170%) !important;
    border-color: var(--cos-border) !important;
}
.cs-sheet, .modal-content { border-radius: 26px 26px 0 0 !important; }

/* 按钮 / 输入框 */
.btn, .btn-favorite, .btn-comment, .cs-send, .cs-plus, .cs-attach-btn, .send-btn, .code-btn, .chat-plus, .chat-attach-btn {
    border-radius: 999px !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    backdrop-filter: blur(14px) saturate(150%);
}
.cs-attach-btn, .chat-attach-btn { border-radius: var(--cos-radius-sm) !important; }
.form-input, .form-group input, .code-row input, .remark-input, .cs-input input, .chat-input-bar input {
    background: var(--cos-bg-soft) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    border: 1px solid var(--cos-border) !important;
    border-radius: var(--cos-radius-sm) !important;
}
.cs-input input, .chat-input-bar input { border-radius: 999px !important; }

/* 居中加载动画 */
.cos-loader {
    position: fixed; inset: 0; z-index: 99998;
    display: flex; align-items: center; justify-content: center;
    background: rgba(244, 246, 252, 0.42);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    transition: opacity .25s ease;
}
.cos-loader-hide { opacity: 0; pointer-events: none; }
.cos-loader-box {
    width: 132px; padding: 20px 16px;
    display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.cos-spinner {
    width: 34px; height: 34px; border-radius: 50%;
    border: 3px solid rgba(120, 140, 200, 0.22);
    border-top-color: #5b7cfa;
    animation: cosSpin .8s linear infinite;
}
@keyframes cosSpin { to { transform: rotate(360deg); } }
.cos-loader-text { font-size: 12px; color: #7a8399; letter-spacing: 1px; }

/* 确认后的“打对号 + 果冻动画” */
.cos-tick-wrap {
    position: fixed; inset: 0; z-index: 99999;
    display: flex; align-items: center; justify-content: center;
    pointer-events: none; transition: opacity .22s ease;
}
.cos-tick-hide { opacity: 0; }
.cos-tick {
    width: 84px; height: 84px; border-radius: 50%;
    background: linear-gradient(135deg, #4ade80, #22a45d);
    box-shadow: 0 14px 40px rgba(34, 164, 93, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    display: flex; align-items: center; justify-content: center;
    animation: cosJelly .62s cubic-bezier(.28, .84, .42, 1) both;
}
@keyframes cosJelly {
    0%   { transform: scale(.3, .3); }
    22%  { transform: scale(1.26, .74); }
    38%  { transform: scale(.78, 1.22); }
    54%  { transform: scale(1.14, .86); }
    68%  { transform: scale(.92, 1.08); }
    82%  { transform: scale(1.05, .95); }
    100% { transform: scale(1, 1); }
}
@media (prefers-reduced-motion: reduce) {
    .cos-tick, .cos-spinner { animation: none !important; }
}

/* ===== 加号菜单：底部弹出面板（图片 / 文件 / 视频），浮层不挤动输入框 ===== */
.plus-mask {
    position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 60;
    background: rgba(15, 23, 42, 0.32);
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
    opacity: 0; visibility: hidden;
    transition: opacity .22s ease, visibility .22s ease;
}
.plus-mask.show { opacity: 1; visibility: visible; }
.plus-panel {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 61;
    background: rgba(255, 255, 255, 0.9);
    -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%);
    border-radius: 22px 22px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.8);
    box-shadow: 0 -12px 40px rgba(60, 80, 140, 0.16);
    padding: 16px 16px calc(18px + env(safe-area-inset-bottom));
    transform: translateY(110%);
    transition: transform .28s cubic-bezier(.32, .72, 0, 1);
}
.plus-panel.show { transform: translateY(0); }
.plus-panel-title { font-size: 13px; font-weight: 700; color: #3b4360; text-align: center; letter-spacing: .5px; margin-bottom: 12px; }
.plus-panel-grid { display: flex; gap: 12px; justify-content: space-around; }
.plus-item {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px;
    padding: 12px 0; border-radius: 16px;
    background: rgba(255, 255, 255, 0.6); border: 1px solid rgba(255, 255, 255, 0.75);
}
.plus-item:active { background: rgba(255, 255, 255, 0.95); }
.plus-icon-wrap {
    width: 46px; height: 46px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 16px rgba(74, 125, 255, 0.24);
}
.plus-icon-wrap svg { width: 24px; height: 24px; }
.ico-image { background: linear-gradient(135deg, #6a8dff, #4a7dff); }
.ico-file  { background: linear-gradient(135deg, #8b7bf5, #6a5acd); }
.ico-video { background: linear-gradient(135deg, #a06cf0, #764ba2); }
.plus-label { font-size: 12px; font-weight: 600; color: #3b4360; }
.hidden-file { display: none; }

/* ============================================================
   白底 → 磨砂玻璃（面板 / 输入区 / 弹窗 / 底栏）
   ============================================================ */
.cs-sheet, .cs-input, .cs-attach-bar, .cs-head, .cs-body,
.modal-content, .modal-box, .bottom-bar, .report-box, .product-info, .product-desc,
.video-play {
    background: rgba(255, 255, 255, 0.55) !important;
    -webkit-backdrop-filter: blur(24px) saturate(165%) !important;
    backdrop-filter: blur(24px) saturate(165%) !important;
    border-color: rgba(255, 255, 255, 0.65) !important;
}
.cs-attach-bar { background: rgba(255, 255, 255, 0.42) !important; }

/* ============================================================
   磨砂玻璃全覆盖（评论 / 附件按钮 / 输入区 / 气泡）
   ============================================================ */
/* 评论：去掉立体边框/阴影/卡片底，保持干净平面 */
.cmt-item {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 10px 0 !important;
}
.cmt-child {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 8px 0 !important;
}
.cmt-like, .cmt-toggle {
    -webkit-backdrop-filter: blur(12px) saturate(150%) !important;
    backdrop-filter: blur(12px) saturate(150%) !important;
    border: 1px solid rgba(255, 255, 255, 0.65) !important;
    border-radius: 999px !important;
    padding: 4px 12px !important;
    background: rgba(255, 255, 255, 0.4) !important;
}
.cmt-toggle { background: rgba(74, 125, 255, 0.14) !important; }
.plus-item {
    background: rgba(255, 255, 255, 0.48) !important;
    -webkit-backdrop-filter: blur(14px) saturate(150%) !important;
    backdrop-filter: blur(14px) saturate(150%) !important;
    border: 1px solid rgba(255, 255, 255, 0.65) !important;
}
.cs-head, .cs-input, .chat-input-area, .chat-input-bar, .ac-input-area, .ac-input-bar, .ac-chat-head {
    background: rgba(255, 255, 255, 0.55) !important;
    -webkit-backdrop-filter: blur(22px) saturate(165%) !important;
    backdrop-filter: blur(22px) saturate(165%) !important;
}
.cs-input input, .chat-input-bar input, .ac-input-bar input, .cs-sheet input {
    background: rgba(255, 255, 255, 0.5) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255, 255, 255, 0.7) !important;
}
.msg-bubble, .msg-media img, .msg-media video {
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}

/* 毛玻璃弹窗（glassAlert / glassConfirm） */
.glass-modal-overlay {
    position: fixed; inset: 0; z-index: 9999;
    background: rgba(20, 26, 46, 0.28);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    display: flex; align-items: center; justify-content: center; padding: 24px;
}
.glass-modal-box { max-width: 320px; width: 100%; padding: 22px 20px; }
.glass-modal-title { font-size: 16px; font-weight: 700; color: #1a1a2e; text-align: center; margin-bottom: 10px; }
.glass-modal-content { font-size: 14px; color: #4b5565; text-align: center; line-height: 1.7; margin-bottom: 18px; }
.glass-modal-actions { display: flex; gap: 10px; }
.glass-modal-btn {
    flex: 1; height: 42px; border: 1px solid var(--cos-border);
    background: var(--cos-bg-soft); color: #1a1a2e;
    font-size: 14px; font-weight: 600; cursor: pointer;
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
.glass-modal-btn.primary { background: linear-gradient(135deg, #4a7dff, #6a5acd); color: #fff; border-color: transparent; }

/* ============================================================
   去掉立体感：只留「模糊 + 半透明」，不要边框和投影
   ============================================================ */
.cmt-item, .cmt-child, .cmt-like, .cmt-toggle, .plus-item, .plus-icon-wrap,
.cs-sheet, .cs-head, .cs-body, .cs-input, .cs-attach-bar, .cs-reply-chip,
.modal-content, .modal-box, .bottom-bar, .report-box, .product-info, .product-desc,
.glass-modal-box, .glass-modal-btn, .card, .service-item, .rank-item, .msg-item,
.msg-bubble, .msg-media img, .msg-media video, .chat-input-area, .chat-input-bar,
.ac-input-area, .ac-input-bar, .ac-chat-head, .ac-chat-body, .ac-card,
.select-bar, .product-box, .product-box-header, .tab-bar, .voice-play, .empty-glass {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}
.cmt-replies { border-left: 1px solid rgba(0, 0, 0, 0.08) !important; }

/* ===== GPT 风格配色（中性灰 + 蓝色）+ 统一确认弹窗 ===== */
body::before {
    content: '' !important;
    position: fixed !important; inset: 0 !important;
    background: linear-gradient(180deg, #f7f7f8 0%, #eeeef0 100%) !important;
    filter: none !important;
    pointer-events: none !important; z-index: 0 !important;
}
.cs-sheet, .cs-head, .cs-body, .cs-input, .cs-attach-bar, .plus-item, .cs-reply-chip,
.modal-content, .modal-box, .bottom-bar, .report-box, .product-info, .product-desc,
.card, .service-item, .rank-item, .msg-item, .chat-input-area, .chat-body {
    background-image: none !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}
.btn, .btn-primary, .btn-ghost, .cs-send, .send-btn, .btn-comment,
.glass-modal-btn.primary, .plus-icon-wrap, .open-shop-top {
    background: #5b7cfa !important;
    background-image: none !important;
    color: #fff !important;
}
.plus-icon-wrap.ico-file, .plus-icon-wrap.ico-video, .plus-icon-wrap.ico-voice { background: #5b7cfa !important; }
.cmt-toggle { background: rgba(91, 124, 250, 0.12) !important; color: #5b7cfa !important; }
.cmt-like { background: #fff !important; color: #6b7280 !important; }
.cmt-like.liked { color: #e0245e !important; }

/* 确认弹窗（与图 1 一致） */
.glass-modal-overlay {
    background: rgba(20, 20, 22, 0.28) !important;
    -webkit-backdrop-filter: blur(10px) !important; backdrop-filter: blur(10px) !important;
}
.glass-modal-box {
    background: rgba(247, 247, 248, 0.94) !important;
    -webkit-backdrop-filter: blur(26px) saturate(140%) !important;
    backdrop-filter: blur(26px) saturate(140%) !important;
    border: none !important; border-radius: 22px !important;
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18) !important;
    padding: 26px 22px 20px !important; max-width: 340px !important;
}
.glass-modal-title { font-size: 19px !important; font-weight: 800 !important; color: #1f2023 !important; margin-bottom: 10px !important; }
.glass-modal-content { font-size: 15px !important; font-weight: 700 !important; color: #1f2023 !important; line-height: 1.6 !important; margin-bottom: 22px !important; }
.glass-modal-actions { gap: 14px !important; }
.glass-modal-btn {
    height: 52px !important; border-radius: 999px !important;
    font-size: 16px !important; font-weight: 700 !important;
    background: #ffffff !important; color: #1f2023 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
}
.glass-modal-btn.primary { background: #5b7cfa !important; color: #fff !important; }
.glass-modal-btn:active { transform: scale(.97); }

/* ============================================================
   底部圆形按钮（评论 / 客服）：模糊玻璃材质（不是蓝色块）
   ============================================================ */
.btn-comment {
    background: rgba(255, 255, 255, 0.66) !important;
    background-image: none !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    border: 1px solid rgba(255, 255, 255, 0.75) !important;
    color: #1f2023 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06) !important;
}
.btn-comment svg { stroke: #1f2023 !important; }
.btn-comment .btn-comment-count { color: #6b7280 !important; }
.btn-comment:active { background: rgba(255, 255, 255, 0.85) !important; }

/* 商品图片：可点开查看 / 缩放 */
.product-image { cursor: zoom-in; }
.product-thumbs {
    display: flex; gap: 8px; overflow-x: auto; padding: 10px 16px 0;
    -webkit-overflow-scrolling: touch;
}
.product-thumbs img {
    width: 62px; height: 62px; object-fit: cover; border-radius: 12px; flex-shrink: 0;
    border: 1px solid rgba(0, 0, 0, 0.06); cursor: pointer; background: #f2f4f8;
}

/* 背景层不能压住内容（防止详情页图片等被遮住） */
body::before {
    content: '' !important;
    position: fixed !important; inset: -10% !important;
    background:
        radial-gradient(closest-side at 20% 15%, rgba(255,255,255,0.95), transparent 70%),
        radial-gradient(closest-side at 80% 85%, rgba(228,230,236,0.95), transparent 70%),
        linear-gradient(180deg, #f7f7f8 0%, #ececee 100%) !important;
    filter: blur(22px) !important;
    z-index: -1 !important;
    pointer-events: none !important;
}

/* ============================================================
   致命修复：背景直接画在 body 上，不再用固定全屏遮罩层
   （部分 WebView 会把 body::before 绘制在内容之上 → 整页看起来是空白）
   ============================================================ */
body::before { content: none !important; display: none !important; background: none !important; }
body {
    background: linear-gradient(180deg, #f7f7f8 0%, #e9eaee 55%, #f2f3f6 100%) !important;
    background-attachment: fixed !important;
    color: #1f2023 !important;
}
/* 内容层级确保在背景之上 */
.product-info, .product-desc, .product-image, .product-thumbs, .card, .cmt-item,
.cmt-thread, .cs-sheet, .bottom-bar, .main-content, .page-content, .container,
.sw-wrap, .msg-item, .service-item, .rank-item, .product-grid {
    position: relative;
    z-index: 1;
}

/* ============================================================
   商品详情：图片 / Logo / 介绍 强制可见
   （不管任何身份登录、任何样式覆盖，都不允许被隐藏）
   ============================================================ */
img { visibility: visible !important; opacity: 1 !important; }
.product-image, .product-image-placeholder, .product-thumbs img,
.tech-big-logo, .cmt-media img, .msg-media img, .card2 img {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    max-width: 100%;
}
.product-image {
    width: 100% !important;
    aspect-ratio: 1 !important;
    object-fit: cover !important;
    background: #eef1f7 !important;
}
.product-thumbs img { width: 62px !important; height: 62px !important; object-fit: cover !important; }
.tech-big-logo {
    width: 22px !important; height: 22px !important;
    object-fit: cover !important; border-radius: 50%;
    display: inline-block !important;
}
.tech-big-title, .tech-sub-special, .tech-sub-flagship, .tech-sub-product {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}
/* 介绍/信息区：确保白底黑字看得清 */
.product-info, .product-desc {
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(255, 255, 255, 0.94) !important;
}
.product-info, .product-info *, .product-desc, .product-desc * { color: #1f2023 !important; }
.product-price, .product-price * { color: #e0245e !important; }
.product-stock { color: #6b7280 !important; }

/* 点赞：已点赞必须变红（覆盖掉中性灰） */
.cmt-like.liked, .cmt-like.liked * { color: #e0245e !important; }
.cmt-like.liked svg { stroke: #e0245e !important; fill: #e0245e !important; }

/* ============================================================
   作者展示（最高规格：金属渐变文字 + 扫光 + 玻璃卡）
   ============================================================ */
.author-card {
    display: flex; align-items: center; gap: 10px;
    margin-top: 12px; padding: 10px 12px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255,241,204,0.55), rgba(255,255,255,0.85));
    -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
    border: 1px solid rgba(212, 175, 55, 0.38);
    box-shadow: 0 6px 18px rgba(212, 175, 55, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    position: relative; overflow: hidden;
}
.author-card::after {
    content: ''; position: absolute; top: -60%; left: 0; width: 45%; height: 220%;
    background: linear-gradient(100deg, transparent 40%, rgba(255,255,255,0.9) 50%, transparent 60%);
    transform: translateX(-240%) skewX(-18deg);
    animation: authorSweep 3s ease-in-out infinite;
    pointer-events: none;
}
@keyframes authorSweep {
    0%   { transform: translateX(-240%) skewX(-18deg); }
    60%  { transform: translateX(320%) skewX(-18deg); }
    100% { transform: translateX(320%) skewX(-18deg); }
}
.author-avatar {
    width: 38px; height: 38px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
    border: 2px solid rgba(212, 175, 55, 0.65);
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.35);
    background: #f2f4f8;
}
.author-label { font-size: 10px; letter-spacing: 3px; color: #b08d2a; font-weight: 700; }
.author-name {
    font-size: 17px; font-weight: 900; letter-spacing: 0.5px; line-height: 1.3;
    background: linear-gradient(90deg, #b8860b 0%, #f5d76e 25%, #fffbe6 50%, #f5d76e 75%, #b8860b 100%);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: #b8860b;
    filter: drop-shadow(0 1px 2px rgba(184, 134, 11, 0.35));
}
.author-tag { font-size: 10px; padding: 2px 8px; border-radius: 8px; font-weight: 800; flex-shrink: 0; position: relative; z-index: 2; }
.author-tag.owner { background: rgba(7,193,96,0.14); color: #07c160; }

/* ============================================================
   红色元素统一强制（详情页价格 / 点赞 / 收藏 / 已售罄）
   避免被“浅底深字”规则误盖成黑色
   ============================================================ */
.product-price, .product-price *, .glass-card-price, .glass-card-price *,
.detail-price, .detail-price *, .card2-price, .admin-product-price {
    color: #e0245e !important;
}
.product-price .currency { color: #e0245e !important; }
.cmt-like.liked, .cmt-like.liked *, .cmt-like.liked svg {
    color: #e0245e !important;
    stroke: #e0245e !important;
    fill: #e0245e !important;
}
.btn-favorite svg { stroke: #e0245e !important; }
.btn-favorite svg[fill="#e53935"], .btn-favorite svg[fill="#e0245e"] { fill: #e0245e !important; }
.soldout-mask, .stock-low, .stock-out { color: #e0245e !important; }
.author-tag.admin { background: rgba(245,166,35,0.18); color: #f5a623; }
@media (prefers-reduced-motion: reduce) { .author-card::after { animation: none; } }
.tech-big-title .tech-text { color: #e8f8ff !important; }
.tech-sub-special, .tech-sub-special * { color: #ffd9a8 !important; }
.tech-sub-flagship, .tech-sub-flagship * { color: #cdeeff !important; }
.tech-sub-product, .tech-sub-product * { color: #dff6ff !important; }

/* ===== 可读性修复：图片/文字不再被遮住或看不见 ===== */
.cs-mask, .cs-sheet { z-index: 300 !important; }
.cs-body, .cs-input, .cs-head, .cmt-item, .cmt-item *, .cmt-main, .cmt-text,
.product-info, .product-info *, .product-desc, .card, .card *,
.form-label, .form-input, textarea, select, .bottom-bar, .bottom-bar * {
    color: #1f2023 !important;
}
.btn-comment, .btn-comment * { color: #1f2023 !important; }
.btn-comment svg { stroke: #1f2023 !important; }
.btn-comment { background: rgba(255,255,255,0.62) !important; }
.btn-buy, .btn-buy * { color: #ffffff !important; }
.tech-big-title, .tech-big-title *, .tech-sub-special, .tech-sub-special *,
.tech-sub-flagship, .tech-sub-flagship *, .tech-sub-product, .tech-sub-product * {
    color: #e8f8ff !important;
}
.cmt-time, .msg-time, .product-stock { color: #8a8f98 !important; }
/* 商品图片：确保可见且有占位底色 */
.product-image, .card2 img, .cmt-media img, .msg-media img {
    background: #eef1f7 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
