/* Version arabe (/ar/) : lecture de droite à gauche. Le navigateur inverse déjà les grilles et les flex ; on corrige le texte, les champs et les décalages. */
html[dir="rtl"] body { font-family: "Segoe UI", Tahoma, "Noto Sans Arabic", "Noto Naskh Arabic", Arial, sans-serif; text-align: right; }
html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4, html[dir="rtl"] p, html[dir="rtl"] li, html[dir="rtl"] label, html[dir="rtl"] td, html[dir="rtl"] th { text-align: start; }
html[dir="rtl"] input, html[dir="rtl"] textarea, html[dir="rtl"] select { text-align: right; }
html[dir="rtl"] input[type="tel"], html[dir="rtl"] input[type="email"], html[dir="rtl"] input[type="url"], html[dir="rtl"] input[type="number"] { direction: ltr; text-align: right; }
html[dir="rtl"] .text-left { text-align: right !important; }
html[dir="rtl"] .text-right { text-align: left !important; }
html[dir="rtl"] .ms-1, html[dir="rtl"] .ms-2, html[dir="rtl"] .ms-3 { margin-left: 0 !important; margin-right: .5rem !important; }
html[dir="rtl"] .me-1, html[dir="rtl"] .me-2, html[dir="rtl"] .me-3, html[dir="rtl"] .me-4 { margin-right: 0 !important; margin-left: .5rem !important; }
html[dir="rtl"] .fa-chevron-right::before, html[dir="rtl"] .fa-arrow-right::before, html[dir="rtl"] .fa-angle-right::before { display: inline-block; transform: scaleX(-1); }
html[dir="rtl"] .fa-chevron-left::before, html[dir="rtl"] .fa-arrow-left::before, html[dir="rtl"] .fa-angle-left::before { display: inline-block; transform: scaleX(-1); }
html[dir="rtl"] table { direction: rtl; }
/* éléments à garder de gauche à droite : prix, numéros, code, sélecteur de langue */
html[dir="rtl"] .price, html[dir="rtl"] [class*="prix"], html[dir="rtl"] [class*="price"], html[dir="rtl"] code, html[dir="rtl"] pre, html[dir="rtl"] #oi-lang { unicode-bidi: plaintext; }
html[dir="rtl"] #oi-lang { direction: ltr; }

/* Même écriture que satpromax.net */
html[dir="rtl"] body, html[dir="rtl"] h1, html[dir="rtl"] h2, html[dir="rtl"] h3, html[dir="rtl"] h4, html[dir="rtl"] h5, html[dir="rtl"] h6, html[dir="rtl"] p, html[dir="rtl"] a, html[dir="rtl"] li, html[dir="rtl"] button, html[dir="rtl"] input, html[dir="rtl"] select, html[dir="rtl"] textarea, html[dir="rtl"] label, html[dir="rtl"] .hp-card-name, html[dir="rtl"] .hp-price-main { font-family: Cairo, "Segoe UI", Tahoma, sans-serif !important; }
html[dir="rtl"] .hp-card-name bdi { direction: ltr; unicode-bidi: isolate; }

/* Le sous-menu de l'accueil s'ouvre vers la gauche */
html[dir="rtl"] .cx-fly { left: auto; right: 100%; border-left: 1px solid var(--shop-primary, #5a31f4); border-right: 0; border-radius: 12px 0 0 12px; box-shadow: -14px 12px 36px rgba(60, 30, 160, .20); transform: translateX(14px); }
html[dir="rtl"] .cx-menu li.on .cx-fly, html[dir="rtl"] .cx-menu li:focus-within .cx-fly { transform: none; }
html[dir="rtl"] .cx-fly::before { left: auto; right: 0; }
html[dir="rtl"] .cx-fly-h { padding: 2px 10px 10px 6px; }
html[dir="rtl"] .cx-fly a { transform: translateX(10px); }
html[dir="rtl"] .cx-menu li.on .cx-fly a, html[dir="rtl"] .cx-menu li:focus-within .cx-fly a { animation-name: cxFlyInRtl; }
html[dir="rtl"] .cx-fly a:hover { transform: translateX(-4px); }
html[dir="rtl"] .cx-fly-h a:hover { transform: none !important; }
html[dir="rtl"] .cx-menu li.on > a, html[dir="rtl"] .cx-menu li:hover > a { padding-left: 0 !important; padding-right: 6px !important; }
html[dir="rtl"] .cx-menu li > a svg { transform: scaleX(-1); }
html[dir="rtl"] .cx-menu li.on > a svg, html[dir="rtl"] .cx-menu li:hover > a svg { transform: translateX(-3px) scaleX(-1); }
@keyframes cxFlyInRtl { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }

/* Carrousels : slick calcule ses positions de gauche à droite, seul le contenu des cartes reste en arabe */
html[dir="rtl"] .slick-slider { direction: ltr; }
html[dir="rtl"] .slick-slide { direction: rtl; float: left; }
html[dir="rtl"] .slick-slider .fa-chevron-left::before, html[dir="rtl"] .slick-slider .fa-chevron-right::before { transform: none; }

/* Liste de recherche : un nom en lettres latines garde son début visible */
html[dir="rtl"] .ls-item-title { unicode-bidi: plaintext; text-align: right; }
html[dir="rtl"] .ls-item-arrow { transform: scaleX(-1); }
html[dir="rtl"] .ls-item:focus .ls-item-arrow { transform: translateX(-3px) scaleX(-1); }

/* Panier sur téléphone : photo à droite, bouton de suppression à gauche, le nom reste libre */
@media (max-width: 767.98px) {
  html[dir="rtl"] .cart-table-tw tbody td { text-align: right !important; }
  html[dir="rtl"] .cart_product_img { float: right; margin-right: 0; margin-left: 1rem; }
  html[dir="rtl"] .cart_product_name h5 { padding-right: 0; padding-left: 2.5rem; }
  html[dir="rtl"] .action-cell { right: auto; left: 1.25rem; }
}

/* Grand prix de la fiche produit */
html[dir="rtl"] .price-display * { letter-spacing: 0; }
