/* ============================================
   XAIPART - RTL overrides
   仅在 <html dir="rtl"> 时由 base.twig 条件加载（ar / fa / he / ur）。
   规则统一带 html[dir="rtl"] 前缀（特异性高于同选择器的页面样式），
   因此无需关心各页面 CSS 的加载顺序；LTR 页面完全不加载本文件。
   方向性属性来源：2026-11-01 对 public/assets/css/*.css 全量清点（156 条）。
   ============================================ */

/* ---------- 全局：跳转链接 / 导航搜索 / 购物车角标 / 弹窗 / 返回顶部 ---------- */
html[dir="rtl"] .skip-link {
    left: auto;
    right: 0;
    border-radius: 0 0 0 4px;
}

html[dir="rtl"] .nav-search input {
    padding: 0.55rem 2.5rem 0.55rem 1rem;
}

html[dir="rtl"] .nav-search .search-icon {
    left: auto;
    right: 0.85rem;
}

html[dir="rtl"] .cart-badge {
    right: auto;
    left: -4px;
}

html[dir="rtl"] .modal-close {
    right: auto;
    left: 1rem;
}

html[dir="rtl"] .modal-divider::before {
    left: auto;
    right: 0;
}

html[dir="rtl"] .modal-divider::after {
    right: auto;
    left: 0;
}

html[dir="rtl"] .back-to-top {
    right: auto;
    left: 2rem;
}

html[dir="rtl"] .lang-switcher-menu {
    right: auto;
    left: 0;
}

/* ---------- 首页 ---------- */
html[dir="rtl"] .search-box input {
    padding: 1.1rem 3.5rem 1.1rem 1.5rem;
}

html[dir="rtl"] .search-box .search-icon {
    left: auto;
    right: 1.25rem;
}

html[dir="rtl"] .popular-searches span {
    margin-right: 0;
    margin-left: 0.25rem;
}

html[dir="rtl"] .hero-circle.circle-1 {
    right: auto;
    left: -100px;
}

html[dir="rtl"] .hero-circle.circle-2 {
    left: auto;
    right: -100px;
}

html[dir="rtl"] .hero-circle.circle-3 {
    left: auto;
    right: 50%;
}

html[dir="rtl"] .hblog-more {
    margin-left: 0;
    margin-right: auto;
}

/* ---------- 博客 / 文章 ---------- */
html[dir="rtl"] .blog-card-pillar {
    margin-left: 0;
    margin-right: 8px;
}

html[dir="rtl"] .blog-sidebar {
    padding-right: 0;
    padding-left: 4px;
}

html[dir="rtl"] .blog-filter-select {
    padding: 10px 14px 10px 36px;
    background-position: left 12px center;
}

html[dir="rtl"] .key-takeaways-list li::before {
    left: auto;
    right: 0;
}

html[dir="rtl"] .article-summary {
    border-left: 0;
    border-right: 4px solid var(--blue-500);
}

html[dir="rtl"] .warning-block {
    border-left: 0;
    border-right: 4px solid var(--orange);
}

html[dir="rtl"] .article-content ul,
html[dir="rtl"] .article-content ol,
html[dir="rtl"] .comment-editor ul,
html[dir="rtl"] .comment-editor ol,
html[dir="rtl"] .comment-content ul,
html[dir="rtl"] .comment-content ol {
    padding-left: 0;
    padding-right: 24px;
}

html[dir="rtl"] .article-content th,
html[dir="rtl"] .article-content td,
html[dir="rtl"] .article-content thead th,
html[dir="rtl"] .article-tab-panel thead th,
html[dir="rtl"] .data-table th,
html[dir="rtl"] .data-table td,
html[dir="rtl"] .faq-question {
    text-align: right;
}

html[dir="rtl"] .comment-reply {
    margin-left: 0;
    margin-right: 48px;
}

html[dir="rtl"] .comment-verified-badge {
    margin-left: 0;
    margin-right: 4px;
}

html[dir="rtl"] .emoji-panel {
    left: auto;
    right: 0;
}

/* ---------- 产品详情 ---------- */
html[dir="rtl"] .zoom-btn {
    right: auto;
    left: 10px;
}

html[dir="rtl"] .tier-table th,
html[dir="rtl"] .compare-table th {
    text-align: right;
}

html[dir="rtl"] .best-badge {
    margin-left: 0;
    margin-right: 3px;
}

html[dir="rtl"] .alt-card {
    border-left: 0;
    border-right: 5px solid var(--green);
}

html[dir="rtl"] .alt-card.yellow {
    border-right-color: #FF8C00;
}

html[dir="rtl"] .alt-card.red {
    border-right-color: #DC143C;
}

html[dir="rtl"] .app-recommended {
    padding-left: 0;
    padding-right: 52px;
}

html[dir="rtl"] .rfq-expand-icon {
    margin-left: 0;
    margin-right: auto;
}

html[dir="rtl"] .rfq-parts-table th,
html[dir="rtl"] .rfq-expand-table th {
    text-align: right;
}

html[dir="rtl"] .rfq-parts-table .price-input,
html[dir="rtl"] .rfq-expand-table .expand-price-input,
html[dir="rtl"] .rfq-total-line,
html[dir="rtl"] .rfq-expand-total-line,
html[dir="rtl"] .cart-total,
html[dir="rtl"] .mini-cart-ext {
    text-align: left;
}

html[dir="rtl"] .rfq-expand-table .expand-ext-col {
    text-align: left;
    padding-right: 0;
    padding-left: 0.6rem;
}

html[dir="rtl"] .rfq-note-wrap textarea {
    padding-right: 0.75rem !important;
    padding-left: 2rem !important;
}

html[dir="rtl"] .rfq-note-expand-btn {
    right: auto;
    left: 6px;
}

html[dir="rtl"] .rfq-note-fullscreen-overlay {
    left: auto;
    right: 0;
}

/* 灯箱：位置互换 + 图标镜像（‹ 变 ›） */
html[dir="rtl"] .lightbox-close {
    right: auto;
    left: 10px;
}

html[dir="rtl"] .lb-size-toggle {
    right: auto;
    left: 12px;
}

html[dir="rtl"] .lightbox-prev {
    left: auto;
    right: 8px;
}

html[dir="rtl"] .lightbox-next {
    right: auto;
    left: 8px;
}

html[dir="rtl"] .lightbox-prev svg,
html[dir="rtl"] .lightbox-next svg {
    transform: scaleX(-1);
}

/* ---------- RFQ ---------- */
html[dir="rtl"] .rfq-parts-table th {
    text-align: right;
}

html[dir="rtl"] .rfq-parts-table .price-input,
html[dir="rtl"] .rfq-total-line {
    text-align: left;
}

html[dir="rtl"] .rfq-note-wrap textarea {
    padding-right: 0.75rem;
    padding-left: 2.5rem;
}

html[dir="rtl"] .rfq-note-expand-btn {
    right: auto;
    left: 6px;
}

/* ---------- 购物车 ---------- */
html[dir="rtl"] .cart-item-price,
html[dir="rtl"] .cart-ship-opt-price {
    text-align: left;
}

html[dir="rtl"] .cart-item-remove {
    margin-left: 0;
    margin-right: 0.5rem;
}

html[dir="rtl"] .cart-item-qty {
    margin-left: 0;
    margin-right: auto;
}

/* ---------- 新闻 / 研究页 ---------- */
html[dir="rtl"] .src-org {
    margin-left: 0;
    margin-right: 4px;
}

html[dir="rtl"] .note,
html[dir="rtl"] .note-warn,
html[dir="rtl"] .okbox,
html[dir="rtl"] .about-page .note {
    border-left: 0;
    border-right: 3px solid var(--nx-warn);
    border-radius: 6px 0 0 6px;
}

html[dir="rtl"] .okbox,
html[dir="rtl"] .about-page .note {
    border-right-color: var(--nx-ok);
}

html[dir="rtl"] .about-page .note {
    border-right-color: var(--blue-500);
}

html[dir="rtl"] .answer {
    border-left: 0;
    border-right: 3px solid var(--blue-500);
}

html[dir="rtl"] #prog {
    left: auto;
    right: 0;
}

html[dir="rtl"] .meta .sp {
    margin-left: 0;
    margin-right: auto;
}

html[dir="rtl"] .tldr ul,
html[dir="rtl"] .spanel ul,
html[dir="rtl"] .prose ul,
html[dir="rtl"] .prose ol,
html[dir="rtl"] .lead ul.tl,
html[dir="rtl"] .sbox ol,
html[dir="rtl"] .sbox ul,
html[dir="rtl"] .sbox.trust ul,
html[dir="rtl"] .sbox .dims,
html[dir="rtl"] ul.rel,
html[dir="rtl"] .hbgroup ul,
html[dir="rtl"] .sources ol,
html[dir="rtl"] .about-page .toc ol,
html[dir="rtl"] .chain-list,
html[dir="rtl"] .viz-chain-list,
html[dir="rtl"] .aplist {
    padding-left: 0;
    padding-right: 1.3em;
}

html[dir="rtl"] .tldr ul,
html[dir="rtl"] .spanel ul,
html[dir="rtl"] .lead ul.tl,
html[dir="rtl"] .sbox .dims,
html[dir="rtl"] ul.rel,
html[dir="rtl"] .hbgroup ul {
    padding-right: 1.15em;
}

html[dir="rtl"] .sbox ol,
html[dir="rtl"] .sbox ul {
    padding-right: 1.2em;
}

html[dir="rtl"] table.knum caption,
html[dir="rtl"] table.knum th,
html[dir="rtl"] table.knum td,
html[dir="rtl"] .pev-tab caption,
html[dir="rtl"] .pev-tab th,
html[dir="rtl"] .pev-tab td,
html[dir="rtl"] .topic-page table caption,
html[dir="rtl"] .topic-page table th,
html[dir="rtl"] .topic-page table td,
html[dir="rtl"] .about-page th,
html[dir="rtl"] .about-page td,
html[dir="rtl"] .starter {
    text-align: right;
}

html[dir="rtl"] table.knum td.num {
    text-align: left;
}

html[dir="rtl"] .pn-next {
    text-align: left;
}

html[dir="rtl"] .timeline li,
html[dir="rtl"] .tl li {
    border-left: 0;
    border-right: 2px solid var(--gray-200);
}

html[dir="rtl"] .tl li {
    border-right-color: var(--gray-100);
}

html[dir="rtl"] .timeline li:last-child,
html[dir="rtl"] .tl li:last-child {
    border-right-color: transparent;
}

html[dir="rtl"] .timeline li::before,
html[dir="rtl"] .tl li::before {
    left: auto;
    right: -6px;
}

html[dir="rtl"] .timeline time,
html[dir="rtl"] .tl time {
    left: auto;
    right: 0;
}

html[dir="rtl"] .timeline time {
    text-align: left;
}

html[dir="rtl"] .cat-badge,
html[dir="rtl"] .build-badge,
html[dir="rtl"] .chip b,
html[dir="rtl"] .chip.newdom i,
html[dir="rtl"] .hbgroup .org,
html[dir="rtl"] .dscore-total,
html[dir="rtl"] .chain-list time,
html[dir="rtl"] .viz-chain-meta,
html[dir="rtl"] .aplist .badge,
html[dir="rtl"] .trend .multi {
    margin-left: 0;
    margin-right: 6px;
}

html[dir="rtl"] .cat-badge,
html[dir="rtl"] .build-badge,
html[dir="rtl"] .dscore-total,
html[dir="rtl"] .aplist .badge {
    margin-right: 8px;
}

html[dir="rtl"] .nested {
    padding-left: 0;
    padding-right: 12px;
    border-left: 0;
    border-right: 2px solid var(--gray-100);
}

html[dir="rtl"] .opt .fill {
    inset: 0 0 0 auto;
}

html[dir="rtl"] .opt .radio {
    margin-right: 0;
    margin-left: 9px;
}

/* ---------- 静态页 / BOM / 公告 ---------- */
html[dir="rtl"] .page-section ul,
html[dir="rtl"] .page-section ol {
    padding-left: 0;
    padding-right: 1.5rem;
}

html[dir="rtl"] .info-table th,
html[dir="rtl"] .bom-table th,
html[dir="rtl"] .bom-table td {
    text-align: right;
}

html[dir="rtl"] .form-group label .required {
    margin-left: 0;
    margin-right: 2px;
}

html[dir="rtl"] .pn-seq {
    padding-right: 0;
    padding-left: 3.5em;
}

/* 乌尔都语 Nastaliq 字需要更大行距，否则字形上下会被裁切。只作用于未显式设置 line-height 的块级文本。 */
html[dir="rtl"]:lang(ur) body,
html[dir="rtl"]:lang(ur) p,
html[dir="rtl"]:lang(ur) li {
    line-height: 1.9;
}

/* 左强调边框容器的圆角同步镜像（LTR: 0 sm sm 0） */
html[dir="rtl"] .article-summary,
html[dir="rtl"] .warning-block {
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

/* 面包屑分隔符（模板里是 aria-hidden 的 › 字形）：RTL 下镜像为 ‹ */
html[dir="rtl"] .breadcrumb span[aria-hidden="true"] {
    display: inline-block;
    transform: scaleX(-1);
}
