/* Right-to-left layer — loaded last, and only on the Persian and Arabic pages.
   Everything that reads from a physical edge (left/right, padding shorthands, arrows) is mirrored;
   everything that is already logical (flex, grid, gap, inline-start) needs nothing. */

/* --- header --- */
[dir="rtl"] .site-nav a::after { right: 0; left: 100%; transition: left .3s var(--ease); }
[dir="rtl"] .site-nav a:hover::after { left: 0; }
[dir="rtl"] .lang__menu { right: auto; left: 0; }
/* Below 860px the menu is pinned to both viewport gutters (see i18n.css), so the mirrored
   anchor above has to step aside or it throws the menu off the right edge instead. */
@media (max-width: 860px) { [dir="rtl"] .lang__menu { left: 12px; right: 12px; } }

/* --- buttons and arrows --- */
[dir="rtl"] .btn { padding: 0 28px 0 8px; }
[dir="rtl"] .sw-root .sw-btn { padding: 0 28px 0 8px; }
[dir="rtl"] .btn .arr,
[dir="rtl"] .sw-root .sw-btn::after,
[dir="rtl"] .card__go,
[dir="rtl"] .pcard__cta .link i,
[dir="rtl"] .pdetail__back i,
[dir="rtl"] .navdrawer a:not(.btn)::after { transform: scaleX(-1); }
[dir="rtl"] .navdrawer a:not(.btn)::after { display: inline-block; }
[dir="rtl"] .btn:hover .arr { transform: scaleX(-1) translateX(2px) rotate(25deg); }
[dir="rtl"] [data-skip] .arr { transform: none; }          /* the "Skip ↓" arrow points down in every language */
[dir="rtl"] .card:hover .card__go { transform: scaleX(-1); }
[dir="rtl"] .card__go { right: auto; left: 24px; }
[dir="rtl"] .prail__skip { right: auto; left: clamp(20px, 4vw, 56px); }

/* --- cards, lists, tables --- */
[dir="rtl"] .pcard__media .pcard__cat { left: auto; right: 16px; }
[dir="rtl"] .pcard__avail { right: auto; left: 16px; }
[dir="rtl"] .pcard--family .pcard__media::after { left: auto; right: 16px; }
[dir="rtl"] .pcard__cta .btn { padding: 0 20px 0 6px; }
[dir="rtl"] .pbenefits li { padding-left: 0; padding-right: 22px; }
[dir="rtl"] .pbenefits li::before { left: auto; right: 0; }
[dir="rtl"] .pfilter .n { margin-left: 0; margin-right: 6px; }
[dir="rtl"] .pstat small { margin-left: 0; margin-right: 4px; }
[dir="rtl"] .spectable th, [dir="rtl"] .spectable td { text-align: right; }
[dir="rtl"] .cfg__sizes { padding-right: 0; padding-left: 4px; }
[dir="rtl"] .ring__parts { text-align: right; }
[dir="rtl"] .mbar small, [dir="rtl"] .dm__rank, [dir="rtl"] .dm__val, [dir="rtl"] .dm__share { text-align: left; }
[dir="rtl"] .psearch input { padding: 0 48px 0 18px; }
[dir="rtl"] .psearch svg { left: auto; right: 18px; }
[dir="rtl"] .catalog-head .lede, [dir="rtl"] .section-head .lede { justify-self: end; }

/* --- the pinned product rail keeps its left-to-right travel; only the card contents flip --- */
[dir="rtl"] .prail-wrap, [dir="rtl"] .prail { direction: ltr; }
[dir="rtl"] .pcard, [dir="rtl"] .prail__end, [dir="rtl"] .prail__hint { direction: rtl; text-align: right; }
[dir="rtl"] .prail__skip { direction: rtl; }

/* --- hero film: the copy block keeps the composition of the shot, the text reads right-to-left --- */
[dir="rtl"] .sw-root .sw-copy { text-align: right; }
[dir="rtl"] .sw-root .sw-copy__body { margin-left: auto; margin-right: 0; }
[dir="rtl"] .sw-root .sw-hint { letter-spacing: 0; }

/* --- method line draws from the right --- */
[dir="rtl"] .steps__line i { transform-origin: right center; }

/* --- product detail chrome --- */
[dir="rtl"] .pdetail__crumbs { direction: rtl; }
[dir="rtl"] .rfq input, [dir="rtl"] .rfq select, [dir="rtl"] .rfq textarea,
[dir="rtl"] .cform__form input, [dir="rtl"] .cform__form textarea { text-align: right; }
