/* ==================================================================
 * LXMall v1.36.0 · 全站细节层（Global Polish）
 *
 * 目标：把「能用」补到「商业级」——键盘可达、动效克制、打印可用、
 * 交互状态明确。本文件只补基础层不覆盖任何主题的配色 / 版式，
 * 所有颜色都走主题变量，暗色与国风深墨模板同样适用。
 * ================================================================== */

/* 1. 跳到主内容：键盘 / 读屏用户不必逐项跳过顶部导航 */
.lx-skip-link {
    position: fixed;
    top: 10px;
    left: 12px;
    z-index: 10800;
    padding: 10px 18px;
    border-radius: 10px;
    background: var(--pg-primary, #4f46e5);
    color: #fff !important;
    font-size: .86rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    box-shadow: 0 10px 26px rgba(15, 18, 26, .22);
    transform: translateY(-180%);
    transition: transform .18s ease;
}
.lx-skip-link:focus { transform: translateY(0); }
main:focus, [tabindex="-1"]:focus { outline: none; }

/* 2. 统一键盘焦点环：浏览器默认 outline 在浅色卡片上几乎看不见 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid var(--pg-primary, #4f46e5);
    outline-offset: 2px;
    border-radius: 4px;
}
body.is-dark a:focus-visible,
body.is-dark button:focus-visible,
body.is-dark input:focus-visible {
    outline-color: var(--pg-primary, #8b9cff);
}

/* 3. 交互状态：禁用 / 提交中不再「点了没反应」 */
button:disabled,
button[disabled],
[aria-disabled="true"],
.is-disabled { cursor: not-allowed !important; }
.is-loading,
[data-loading="1"] { position: relative; pointer-events: none; opacity: .68; }
.is-loading > *,
[data-loading="1"] > * { pointer-events: none; }
a, button, .btn, input, select, textarea { -webkit-tap-highlight-color: transparent; }

/* 4. 文本与表格细节：长单词 / 长 SKU 不再撑破容器 */
h1, h2, h3, h4, p, li, td, th { overflow-wrap: break-word; }
table { border-collapse: collapse; }
[aria-live] { min-height: 1px; }

/* 5. 价格排序图标与文案对齐（课程 / 虚拟商城） */
.cm-sort a i,
.vm-sort a i { font-size: 1.05em; vertical-align: -1px; margin-left: 2px; }
.cm-sort a.on i,
.vm-sort a.on i { color: inherit; }

/* 6. 更克制的滚动条（仅桌面，白底页面不突兀） */
@media (min-width: 992px) {
    html { scrollbar-color: rgba(100, 116, 139, .45) transparent; scrollbar-width: thin; }
    ::-webkit-scrollbar { width: 10px; height: 10px; }
    ::-webkit-scrollbar-thumb { background: rgba(100, 116, 139, .38); border: 3px solid transparent; background-clip: content-box; border-radius: 999px; }
    ::-webkit-scrollbar-thumb:hover { background: rgba(100, 116, 139, .6); background-clip: content-box; }
    ::-webkit-scrollbar-track { background: transparent; }
}

/* 7. 尊重系统的「减少动态效果」偏好 */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

/* 8. 高对比偏好下补强边框，避免浅灰卡片「融」进背景 */
@media (prefers-contrast: more) {
    .card, .btn-outline-secondary, input, select, textarea { border-color: currentColor !important; }
}

/* 9. 打印：只保留正文，隐藏导航 / 营销 / 浮动客服 */
@media print {
    .lx-skip-link, header, footer, nav, .site-header, .site-footer,
    .topstrip, .catnav, .footer-cta, .footer-social, .hd-burger,
    .chat-widget, .chat-launcher, .wm-preview-bar, .lx-float,
    .btn, button, .pagination, .product-quickbar, .hero-slider { display: none !important; }
    body { background: #fff !important; color: #111 !important; }
    main { width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
    a { color: #111 !important; text-decoration: underline !important; }
    .card, .product-card { box-shadow: none !important; border: 1px solid #ddd !important; break-inside: avoid; }
    img { max-width: 100% !important; }
}
