/* ============================================================
   阿拉伯语（RTL）手写补充规则
   ------------------------------------------------------------
   static/css/rtl.css 是 tools/make-rtl.mjs 的生成物，负责「物理方向属性」的自动镜像；
   本文件只放自动镜像覆盖不到、必须人工判断的部分：
     1. 图标方向（箭头/尖角在 RTL 下要指向相反一侧）
     2. 侧边栏抽屉的滑入方向
     3. Swiper / Slick 轮播的 RTL 行为
     4. 语言切换器自身的方向修正
   ============================================================ */

/* ---------- 1. 箭头类图标：RTL 下左右对调 ---------- */

html[dir="rtl"] .fa-arrow-right,
html[dir="rtl"] .fa-arrow-left,
html[dir="rtl"] .fa-angle-right,
html[dir="rtl"] .fa-angle-left,
html[dir="rtl"] .fa-chevron-right,
html[dir="rtl"] .fa-chevron-left,
html[dir="rtl"] .fa-long-arrow-right,
html[dir="rtl"] .fa-long-arrow-left,
html[dir="rtl"] .fa-arrow-circle-right,
html[dir="rtl"] .fa-arrow-circle-left,
html[dir="rtl"] .fa-arrow-up-right-from-square {
   transform: scaleX(-1);
}

/* ---------- 2. 语言切换器：下拉在 RTL 下靠左展开（与右对齐的按钮对齐） ---------- */

html[dir="rtl"] .lang-switch__list {
   right: auto;
   left: 0;
}

html[dir="rtl"] .lang-switch__item,
html[dir="rtl"] .lang-switch__toggle {
   /* 展开箭头在 RTL 下仍指向下方，不做镜像 */
   transform: none;
}

html[dir="rtl"] .lang-switch__caret {
   transform: none;
}

html[dir="rtl"] .lang-switch.is-open .lang-switch__caret {
   transform: rotate(180deg);
}

/* ---------- 3. 轮播组件 ---------- */

/* Swiper 需要容器自身带 dir="rtl" 才会按 RTL 计算偏移（构建脚本已自动加上），
   这里兜底声明方向，避免继承链被中间容器打断 */
html[dir="rtl"] .swiper {
   direction: rtl;
}

/* Slick 需要在 JS 初始化时传 rtl:true 才完全正确。
   在未改造 main.js 之前，让轨道保持物理 LTR 以免出现错位跳动，
   仅恢复内部文本的 RTL 书写方向。 */
html[dir="rtl"] .slick-track {
   direction: ltr;
}

html[dir="rtl"] .slick-track > * {
   direction: rtl;
}

/* ---------- 4. 常见装饰性元素 ---------- */

/* 面包屑 / 分隔符在 RTL 下不需要强制方向 */
html[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
   float: right;
   padding-left: .5rem;
   padding-right: 0;
}

/* 号码、邮箱、URL 等始终按 LTR 排版，避免 +86 或邮箱在 RTL 下被拆开 */
html[dir="rtl"] a[href^="tel:"],
html[dir="rtl"] a[href^="mailto:"],
html[dir="rtl"] .ltr-text {
   direction: ltr;
   unicode-bidi: embed;
   display: inline-block;
}
