/* Virona Confort — Arabic (RTL) mirror of the storefront stylesheets.
   GENERATED by mirror_css.py from the French stylesheets: every physical left/right rule is mirrored under html[dir="rtl"].
   Hand-written Arabic rules follow at the end of the file. The French (LTR) CSS is never modified. */

/* ---------- home.css ---------- */
html[dir="rtl"] .vh-skip { left: auto; right: 12px; }
html[dir="rtl"] .vh-announce__phone { margin-left: 22px; margin-right: 0; }
html[dir="rtl"] .vh-header__in { padding: 0 clamp(24px, 7.1vw, 102px) 0 clamp(24px, 6.7vw, 96px); }
html[dir="rtl"] .vh-logo__sub { margin-left: -7px; margin-right: 0; }
html[dir="rtl"] .vh-cart-count { left: -8px; right: auto; }
html[dir="rtl"] .vh-search { left: 0; right: 0; }
html[dir="rtl"] .vh-drawer__panel { left: auto; right: 0; transform: translateX(100%); }
html[dir="rtl"] .vh-drawer__top { padding: 12px 20px 12px 12px; }
html[dir="rtl"] .vh-drawer__top .vh-logo__sub { margin-left: -5px; margin-right: 0; }
html[dir="rtl"] .vh-drawer__list .sub-menu a { padding: 13px 36px 13px 20px; }
html[dir="rtl"] .vh-hero__veil { background: linear-gradient(270deg, rgba(245, 234, 219, .55) 0%, rgba(245, 234, 219, .28) 32%, rgba(245, 234, 219, 0) 52%); }
html[dir="rtl"] .vh-hero__copy { left: auto; right: clamp(48px, 8.2vw, 118px); }
html[dir="rtl"] .vh-hero__script { left: auto; right: min(83.06%, calc(100% - 236px)); }
html[dir="rtl"] .vh-hero__script span { padding-left: 0; padding-right: 36px; }
html[dir="rtl"] .vh-service { border-left: none; border-right: 1px solid #ddd5ca; }
html[dir="rtl"] .vh-service:first-child { padding-left: 0; padding-right: 0; border-left: none; border-right: 0; }
html[dir="rtl"] .vh-cat__img--empty { background: linear-gradient(200deg, #ede6db, #e1d7c8); }
html[dir="rtl"] .vh-arrow[data-vh-scroll="prev"] { left: auto; right: max(-59px, calc(-1 * var(--vh-pad, 98px) + 24px)); }
html[dir="rtl"] .vh-arrow[data-vh-scroll="next"] { left: max(-59px, calc(-1 * var(--vh-pad, 98px) + 24px)); right: auto; }
html[dir="rtl"] .vh-card__info { padding: 12px 6px 0 4px; }
html[dir="rtl"] .vh-card .virona-soldout-badge { left: 10px; right: auto; }
html[dir="rtl"] .vh-craft__panel { padding: 16px clamp(32px, 3.8vw, 55px) 16px 16px; }
html[dir="rtl"] .vh-craft__rule { margin-left: 0; margin-right: clamp(20px, 2.6vw, 48px); }
html[dir="rtl"] .vh-craft__list { padding-left: 0; padding-right: clamp(20px, 2.5vw, 46px); }
html[dir="rtl"] .vh-rev__wrap .vh-arrow[data-vh-scroll="prev"] { left: auto; right: max(-65px, calc(-1 * var(--vh-pad) + 24px)); }
html[dir="rtl"] .vh-rev__wrap .vh-arrow[data-vh-scroll="next"] { left: max(-65px, calc(-1 * var(--vh-pad) + 24px)); right: auto; }
html[dir="rtl"] .vh-review { padding: 18px 20px 18px 24px; }
html[dir="rtl"] .vh-ftr__brand { padding-left: 0; padding-right: clamp(0px, 2.85vw, 41px); }
@media (max-width: 1100px) {
html[dir="rtl"] .vh-announce__phone { margin-left: 0; margin-right: 0; }
html[dir="rtl"] .vh-burger { margin-left: 0; margin-right: -10px; }
html[dir="rtl"] .vh-logo__sub { margin-left: -6px; margin-right: 0; }
html[dir="rtl"] .vh-tools { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .vh-cart-count { left: 3px; right: auto; }
html[dir="rtl"] .vh-hero__veil { background: linear-gradient(270deg, rgba(245, 234, 219, .6) 0%, rgba(245, 234, 219, .3) 32%, rgba(245, 234, 219, 0) 50%); }
html[dir="rtl"] .vh-hero__copy { left: auto; right: 40px; }
html[dir="rtl"] .vh-service { border-left: none; border-right: 0; }
html[dir="rtl"] .vh-service:first-child { padding-left: 0; padding-right: 20px; }
html[dir="rtl"] .vh-service:nth-child(even) { border-left: none; border-right: 1px solid #ddd5ca; }
html[dir="rtl"] .vh-edit__bg { left: 50%; right: auto; }
html[dir="rtl"] .vh-review { padding: 18px 18px 18px 22px; }
html[dir="rtl"] .vh-ftr__brand { padding-left: 0; padding-right: 0; }
html[dir="rtl"] .vh-logo--footer .vh-logo__sub { margin-left: -6px; margin-right: 0; }
}
@media (max-width: 640px) {
html[dir="rtl"] .vh-burger { margin-left: 0; margin-right: 0; }
html[dir="rtl"] .vh-logo__sub { margin-left: -5px; margin-right: 0; }
html[dir="rtl"] .vh-tools { margin-left: 0; margin-right: 0; }
html[dir="rtl"] .vh-cart-count { left: 4px; right: auto; }
html[dir="rtl"] .vh-edit__bg { left: 0; right: auto; }
html[dir="rtl"] .vh-review { padding: 18px 16px 18px 18px; }
html[dir="rtl"] .vh-logo--footer .vh-logo__sub { margin-left: -6px; margin-right: 0; }
html[dir="rtl"] .vh-ftr__social { margin: 10px -12px 0 0; }
}

/* ---------- shop.css ---------- */
html[dir="rtl"] .vs-body .vh-announce__in { padding: 0 clamp(32px, 7.6vw, 109px) 0 clamp(32px, 7.8vw, 112px); }
html[dir="rtl"] .vs-body .vh-nav__list .sub-menu { left: auto; right: -20px; }
html[dir="rtl"] .vs-hero__veil { background: linear-gradient(270deg, rgba(48, 32, 20, .3) 0%, rgba(48, 32, 20, .14) 40%, rgba(48, 32, 20, 0) 60%); }
html[dir="rtl"] .vs-hero__copy { left: auto; right: max(clamp(48px, 6vw, 86px), calc((100% - 1440px) / 2 + 86px)); }
html[dir="rtl"] .vs-catalogue__in { padding: 78px 58px 10px 56px; }
html[dir="rtl"] .vs-fgroup__toggle { text-align: right; }
html[dir="rtl"] .vs-range__track { left: 11px; right: 11px; }
html[dir="rtl"] .vs-range__in { left: auto; right: 0; }
html[dir="rtl"] .vs-sort__field select { padding: 0 18px 0 40px; }
html[dir="rtl"] .vs-sort__field .vh-i { left: 18px; right: auto; }
html[dir="rtl"] .vs-card .virona-soldout-badge { left: auto; right: 10px; }
html[dir="rtl"] .vs-heart { left: 10px; right: auto; }
html[dir="rtl"] .vs-after { padding: 23px 58px 42px 56px; }
html[dir="rtl"] .vs-empty__img { left: auto; right: 13.6%; }
html[dir="rtl"] .vs-empty__text { left: auto; right: 35.9%; }
html[dir="rtl"] .vs-more { margin-left: 0; margin-right: 326px; }
html[dir="rtl"] .vs-services__list li { border-left: none; border-right: 1px solid #ddd5ca; }
html[dir="rtl"] .vs-services__list li:first-child { border-left: none; border-right: 0; }
html[dir="rtl"] .vs-ftr__grid { padding: 50px 82px 33px 0; }
html[dir="rtl"] .vs-ftr__bar { margin: 0 66px 0 69px; padding: 27px 16px 0 41px; }
@media (max-width: 1279px) {
html[dir="rtl"] .vs-catalogue__in { padding-left: 32px; padding-right: 32px; }
html[dir="rtl"] .vs-after { padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 1100px) {
html[dir="rtl"] .vs-hero__veil { background: linear-gradient(270deg, rgba(48, 32, 20, .4) 0%, rgba(48, 32, 20, .18) 45%, rgba(48, 32, 20, 0) 65%); }
html[dir="rtl"] .vs-hero__copy { left: auto; right: 40px; }
html[dir="rtl"] .vs-fbar__title { margin-left: 10px; margin-right: 0; }
html[dir="rtl"] .vs-clear--bar { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .vs-fgroup { left: auto; right: var(--vs-left, 0); }
html[dir="rtl"] .vs-sort__field select { padding: 0 16px 0 38px; }
html[dir="rtl"] .vs-sort__field .vh-i { left: 16px; right: auto; }
html[dir="rtl"] .vs-heart { left: 6px; right: auto; }
html[dir="rtl"] .vs-empty { padding: 0 20px 0 36px; }
html[dir="rtl"] .vs-more { margin-left: 0; margin-right: 0; }
}
@media (max-width: 640px) {
html[dir="rtl"] .vs-hero h1 { left: auto; right: 16px; }
html[dir="rtl"] .vs-sort__field select { padding: 0 14px 0 36px; }
html[dir="rtl"] .vs-sort__field .vh-i { left: 14px; right: auto; }
html[dir="rtl"] .vs-heart { left: 2px; right: auto; }
html[dir="rtl"] .vs-services__list li:nth-child(odd) { border-left: none; border-right: 0; }
html[dir="rtl"] .vs-services__list li:nth-child(even) { border-left: none; border-right: 1px solid #ddd5ca; }
html[dir="rtl"] .vs-ftr__social { margin: 10px -12px 0 0; }
html[dir="rtl"] .vs-filters { left: 0; right: 0; }
html[dir="rtl"] .vs-filters__top { padding: 0 20px 0 8px; }
html[dir="rtl"] .vs-range__track { left: 12px; right: 12px; }
html[dir="rtl"] .vs-swatches { margin: 8px -7px 0 0; }
}
@media (min-width: 641px) {
html[dir="rtl"] .vs-hero__veil { background: linear-gradient(270deg, rgba(20, 18, 15, .30) 0%, rgba(20, 18, 15, .14) 45%, rgba(20, 18, 15, 0) 75%); }
html[dir="rtl"] .vs-hero__copy p { margin: 10px -12px 0 0; }
}
@media (min-width: 641px) and (max-width: 1100px) {
html[dir="rtl"] .vs-hero__veil { background: linear-gradient(270deg, rgba(20, 18, 15, .40) 0%, rgba(20, 18, 15, .18) 45%, rgba(20, 18, 15, 0) 75%); }
html[dir="rtl"] .vs-hero__copy p { margin: 10px -12px 0 0; }
}

/* ---------- product.css ---------- */
html[dir="rtl"] .vp-notices .woocommerce-message,
html[dir="rtl"] .vp-notices .woocommerce-info,
html[dir="rtl"] .vp-notices .woocommerce-error { border-left: none; border-right: 3px solid var(--vh-olive); }
html[dir="rtl"] .vp-notices .woocommerce-error { border-left-color: initial; border-right-color: var(--vh-terra); }
html[dir="rtl"] .vp-notices .woocommerce-message .button { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .vp-stage .virona-soldout-badge { left: auto; right: 16px; }
html[dir="rtl"] .vp-badge { left: auto; right: 16px; }
html[dir="rtl"] .vp-arrow--prev { left: auto; right: 14px; }
html[dir="rtl"] .vp-arrow--next { left: 14px; right: auto; }
html[dir="rtl"] .vp-count { left: 14px; right: auto; }
html[dir="rtl"] .vp-price .woocommerce-Price-currencySymbol { margin-left: 0; margin-right: 2px; }
html[dir="rtl"] .vp-buy table.variations th,
html[dir="rtl"] .vp-buy table.variations td { text-align: right; }
html[dir="rtl"] .vp-size:disabled::after { left: 8px; right: 8px; }
html[dir="rtl"] .vp-msg { border-left: none; border-right: 2px solid var(--vh-terra); }
html[dir="rtl"] .vp-prose ul,
html[dir="rtl"] .vp-prose ol { padding-left: 0; padding-right: 1.2em; }
html[dir="rtl"] .vp-reviews .star-rating::before { left: auto; right: 0; }
html[dir="rtl"] .vp-reviews .star-rating span { left: auto; right: 0; }
html[dir="rtl"] .vp-reviews .star-rating span::before { left: auto; right: 0; }
@media (max-width: 640px) {
html[dir="rtl"] .vp-count { left: 12px; right: auto; }
html[dir="rtl"] .vp-stage .virona-soldout-badge,
html[dir="rtl"] .vp-badge { left: auto; right: 12px; }
}

/* ---------- storefront.css ---------- */
html[dir="rtl"] body.woocommerce-page .woocommerce-message,
html[dir="rtl"] body.woocommerce-page .woocommerce-info,
html[dir="rtl"] body.woocommerce-page .woocommerce-error,
html[dir="rtl"] body.woocommerce-page .wc-block-components-notice-banner { border-left: none !important; border-right: 3px solid var(--vc-olive) !important; }
html[dir="rtl"] body.woocommerce-page .woocommerce-error,
html[dir="rtl"] body.woocommerce-page .wc-block-components-notice-banner.is-error { border-left-color: initial !important; border-right-color: var(--vc-terracotta) !important; }
html[dir="rtl"] body.woocommerce-page select { padding-left: 40px !important; padding-right: 0 !important; background-position: left 14px center !important; }
html[dir="rtl"] body.woocommerce-page ul.products li.product { text-align: right !important; }
html[dir="rtl"] body.woocommerce-page ul.products li.product .price del { margin-left: 6px; margin-right: 0; }
html[dir="rtl"] body.woocommerce-page .ast-onsale-card,
html[dir="rtl"] body.woocommerce-page span.onsale { left: auto !important; right: 12px !important; }
html[dir="rtl"] body.single-product div.product .summary .price del { margin-left: 8px; margin-right: 0; }
html[dir="rtl"] body.single-product form.variations_form table.variations th,
html[dir="rtl"] body.single-product form.variations_form table.variations td { text-align: right; }
html[dir="rtl"] body.single-product .woocommerce-tabs ul.tabs li { margin: 0 0 0 24px !important; }
@media (max-width: 544px) {
html[dir="rtl"] body.single-product .woocommerce-tabs ul.tabs li { margin-left: 16px !important; margin-right: 0 !important; }
}
html[dir="rtl"] body.woocommerce-page #content > .ast-container { padding-left: 24px !important; padding-right: 24px !important; }
@media (max-width: 544px) {
html[dir="rtl"] body.woocommerce-page #content > .ast-container { padding-left: 16px !important; padding-right: 16px !important; }
}

/* ---------- cart.css ---------- */
html[dir="rtl"] .vc-band { left: 0; right: 0; }
html[dir="rtl"] .vc-band__img { left: 0; right: auto; }
html[dir="rtl"] .vc-band__fade--b { left: 0; right: auto; }
html[dir="rtl"] .vc-band__fade--l { left: 440px; right: auto; background: linear-gradient(270deg, #f1e5d6 0%, rgba(241, 229, 214, 0) 100%); }
html[dir="rtl"] .vc-notices .woocommerce-message,
html[dir="rtl"] .vc-notices .woocommerce-info,
html[dir="rtl"] .vc-notices .woocommerce-error li { padding: 10px 48px 10px 18px; }
html[dir="rtl"] .vc-notices .woocommerce-message::before,
html[dir="rtl"] .vc-notices .woocommerce-info::before,
html[dir="rtl"] .vc-notices .woocommerce-error li::before { left: auto; right: 18px; }
html[dir="rtl"] .vc-head span:nth-child(5) { text-align: left; }
html[dir="rtl"] .vc-rm { margin-left: 0; margin-right: -6px; }
html[dir="rtl"] .vc-sub { text-align: left; }
html[dir="rtl"] .vc-coupon input[type="text"] { border-left: 0; border-right: none; border-radius: 0 3px 3px 0; }
html[dir="rtl"] .vc-apply { border-radius: 3px 0 0 3px; }
html[dir="rtl"] .vc-chip { padding: 0 14px 0 6px; }
html[dir="rtl"] .vc-chip + .vc-chip { margin-left: 0; margin-right: 8px; }
html[dir="rtl"] .vc-update { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .vc-sum dd { text-align: left; }
html[dir="rtl"] .vc-ship__cost { margin-left: 0; margin-right: 8px; }
html[dir="rtl"] .vc-empty { padding: 0 60px 0 80px; }
@media (max-width: 1279px) {
html[dir="rtl"] .vc-band__fade--b { background: linear-gradient(270deg, #f1e5d6 0%, rgba(241, 229, 214, 0) 45%), linear-gradient(rgba(241, 229, 214, 0) 50%, #f1e5d6 100%); }
html[dir="rtl"] .vc-summary__side { padding-left: 0; padding-right: 36px; border-left: none; border-right: 1px solid #eee7dc; }
html[dir="rtl"] .virona-cart .vh-tool--cart::after { left: 11px; right: 11px; }
}
@media (max-width: 1023px) {
html[dir="rtl"] .vc-wrap { padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 767px) {
html[dir="rtl"] .vc-band__img { left: -60px; right: auto; }
html[dir="rtl"] .vc-band__fade--b { left: -60px; right: auto; background: linear-gradient(270deg, #f1e5d6 0%, rgba(241, 229, 214, 0) 60%), linear-gradient(rgba(241, 229, 214, 0) 40%, #f1e5d6 100%); }
html[dir="rtl"] .vc-rm { margin: -10px 0 0 -10px; }
html[dir="rtl"] .vc-price__old { margin-left: 8px; margin-right: 0; }
html[dir="rtl"] .vc-update { margin-left: 0; margin-right: 0; }
html[dir="rtl"] .virona-cart .vh-tool--cart::after { left: 12px; right: 12px; }
}

/* ---------- checkout-page.css ---------- */
html[dir="rtl"] .vcx-band { left: 0; right: 0; }
html[dir="rtl"] .vcx-band__img { left: 0; right: auto; }
html[dir="rtl"] .vcx-band__fade { left: 0; right: auto; background: linear-gradient(270deg, #f1e5d6 0%, rgba(241, 229, 214, 0) 40%), linear-gradient(rgba(241, 229, 214, 0) 55%, #f1e5d6 100%); }
html[dir="rtl"] .vcx-steps { margin: 0 0 4px 150px; }
html[dir="rtl"] .vcx-page .woocommerce-message,
html[dir="rtl"] .vcx-page .woocommerce-info { padding: 10px 48px 10px 18px; }
html[dir="rtl"] .vcx-page .woocommerce-message::before,
html[dir="rtl"] .vcx-page .woocommerce-info::before { left: auto; right: 18px; }
html[dir="rtl"] .vcx-page ul.woocommerce-error::before { padding-left: 0; padding-right: 28px; }
html[dir="rtl"] .vcx-page ul.woocommerce-error li { margin: 0 28px 0 0; }
html[dir="rtl"] .vcx-page div.woocommerce-error { padding-left: 0; padding-right: 48px; }
html[dir="rtl"] .vcx-line__total { text-align: left; }
html[dir="rtl"] .vcx-totals dd { text-align: left; }
html[dir="rtl"] .vcx-ship-list { text-align: left; }
html[dir="rtl"] .vcx-cgv .checkout-inline-error-message { margin-left: 0; margin-right: 32px; }
html[dir="rtl"] .woocommerce-checkout.processing .vcx-order::before { left: auto; right: 50%; margin: -26px -13px 0 0; }
html[dir="rtl"] .vcx-assure li + li { border-left: none; border-right: 1px solid #ddd5ca; }
@media (max-width: 1279px) {
html[dir="rtl"] .vcx-band__fade { background: linear-gradient(270deg, #f1e5d6 0%, rgba(241, 229, 214, 0) 50%), linear-gradient(rgba(241, 229, 214, 0) 50%, #f1e5d6 100%); }
html[dir="rtl"] .vcx-order__right { padding-left: 0; padding-right: 32px; border-left: none; border-right: 1px solid #eee7dc; }
}
@media (max-width: 1023px) {
html[dir="rtl"] .vcx-wrap { padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 767px) {
html[dir="rtl"] .vcx-band__fade { background: linear-gradient(270deg, #f1e5d6 0%, rgba(241, 229, 214, 0) 55%), linear-gradient(rgba(241, 229, 214, 0) 40%, #f1e5d6 100%); }
html[dir="rtl"] .vcx-assure li { text-align: right; }
html[dir="rtl"] .vcx-assure li + li { border-left: none; border-right: 0; }
}

/* ---------- about.css ---------- */
html[dir="rtl"] .vab-quote { padding: 2px 22px 2px 0; border-left: none; border-right: 2px solid var(--vh-terra); }
@media (max-width: 640px) {
html[dir="rtl"] .vab-quote { padding-left: 0; padding-right: 18px; }
}

/* ---------- pages.css ---------- */
html[dir="rtl"] .vpg-list { padding-left: 0; padding-right: 28px; }
html[dir="rtl"] .vpg-list li { padding-left: 0; padding-right: 4px; }
html[dir="rtl"] .vpg-prose__flow ul { padding-left: 0; padding-right: 22px; }
@media (max-width: 640px) {
html[dir="rtl"] .vpg-list { padding-left: 0; padding-right: 20px; }
}

/* ---------- title-motion.css ---------- */

/* ====================================================================== Arabic — hand-written rules */

/* Arabic typography (scoped to /ar/ only; the French fonts and weights are untouched).
   ONE family for the whole Arabic storefront: Montserrat for Latin letters and digits; the Arabic letters, which Montserrat does not
   contain, fall through to IBM Plex Sans Arabic (the sans closest to Montserrat that is already in use). No serif / calligraphic
   Arabic face any more: the serif and script roles of the design point to the same stack. Both families are requested on /ar/ pages
   only (see i18n.php). Weights and sizes: see the "Weights" and "type scale" blocks at the end of this file. The logo wordmark keeps its own face. */
html[dir="rtl"] {
  --vh-serif: 'Montserrat', 'IBM Plex Sans Arabic', 'Helvetica Neue', Arial, sans-serif;
  --vh-sans: 'Montserrat', 'IBM Plex Sans Arabic', 'Helvetica Neue', Arial, sans-serif;
  --vh-script: 'Montserrat', 'IBM Plex Sans Arabic', 'Helvetica Neue', Arial, sans-serif;
  --vc-serif: 'Montserrat', 'IBM Plex Sans Arabic', 'Helvetica Neue', Arial, sans-serif;
  --vc-sans: 'Montserrat', 'IBM Plex Sans Arabic', 'Helvetica Neue', Arial, sans-serif;
}
/* The brand wordmark is a logo, not typography: identical to the French one. */
html[dir="rtl"] .vh-logo__name { font-family: 'Playfair Display', Georgia, 'Times New Roman', serif; }
html[dir="rtl"] body,
html[dir="rtl"] input,
html[dir="rtl"] button,
html[dir="rtl"] select,
html[dir="rtl"] textarea { font-family: var(--vh-sans); }

/* Arabic letters join: never add letter-spacing (the logo keeps its own). */
html[dir="rtl"] body :not(.vh-logo):not(.vh-logo *) { letter-spacing: 0 !important; }
html[dir="rtl"] body { text-transform: none; line-height: 1.7; }

/* Latin / numeric runs stay left-to-right inside Arabic text. */
html[dir="rtl"] .vh-logo,
html[dir="rtl"] a[href^="tel:"],
html[dir="rtl"] a[href^="mailto:"],
html[dir="rtl"] a[href*="wa.me"],
html[dir="rtl"] code,
html[dir="rtl"] .price,
html[dir="rtl"] .woocommerce-Price-amount,
html[dir="rtl"] .vs-price__value,
html[dir="rtl"] .vs-card__price,
html[dir="rtl"] [data-vs-price-label] { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] .vs-card__price,
html[dir="rtl"] .vp-price { text-align: right; }

/* Hero art direction (RTL): the photograph is flipped at render time (the file itself is never touched) and the text block, veil
   and script word are mirrored by the generated rules above, so Arabic reads text on the right / subject on the left. */
html[dir="rtl"] .vh-hero__img,
html[dir="rtl"] .vs-hero__img { transform: scaleX(-1); }
/* About: the artisan photograph keeps its original orientation (mirroring would reverse the hand / knife); only the Arabic text
   block and veil sit on the right, over the leather. */
html[dir="rtl"] body.virona-about .vs-hero__img { transform: none; }
html[dir="rtl"] .vs-hero__copy,
html[dir="rtl"] .vh-hero__copy { text-align: right; }
@media (min-width: 1101px) {
  html[dir="rtl"] .vs-hero__copy { width: min(620px, calc(100% - 96px)); }
}

/* Arabic needs more line height than the Latin display sizes of the design. */
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4 { line-height: 1.4; }
html[dir="rtl"] .vh-hero__t1 { line-height: 1.3; }
html[dir="rtl"] .vh-hero__t2 { line-height: 1.35; margin-top: 4px; }
@media (min-width: 1101px) {
  html[dir="rtl"] .vh-hero__copy { width: 470px; }
}

/* Direction-bound icons (arrows: next/back) point the other way; the price slider keeps its own left-to-right axis. */
html[dir="rtl"] .vh-i--flip { transform: scaleX(-1); }
html[dir="rtl"] .vs-range { direction: ltr; }

/* Text generated by the French stylesheets (CSS content) */
html[dir="rtl"] .vcx-page ul.woocommerce-error::before { content: "يرجى تصحيح النقاط التالية:"; background-position: right center; }
html[dir="rtl"] .woocommerce-checkout.processing #place_order::after { content: "جارٍ المعالجة…"; }
html[dir="rtl"] .woocommerce-checkout.processing .vcx-order::after { content: "جارٍ معالجة طلبكم…"; }

/* Gallery chevrons: "back" is at the right edge in Arabic and points right; the hero script word leans the other way (it follows the mirrored photo). */
html[dir="rtl"] .vp-arrow--prev svg { transform: rotate(-90deg); }
html[dir="rtl"] .vp-arrow--next svg { transform: rotate(90deg); }
html[dir="rtl"] .vh-hero__script { transform: rotate(14deg); }

/* Language switcher: the Arabic label uses the Arabic interface font (the French pages keep their system fallback). */
html[dir="rtl"] .vh-lang a[lang="ar"] { font-family: var(--vh-sans); }

/* ---------- Weights (Arabic only) ----------
   Modern, clean, not thin: regular (400) for body and UI text; medium (500) for headings, names, labels, eyebrows, buttons and prices;
   semi-bold (600) only for the home hero headline. Nothing is bolder than 600. Only font-weight is set here. The logo keeps its own. */
html[dir="rtl"] body,
html[dir="rtl"] body :not(.vh-logo):not(.vh-logo *),
html[dir="rtl"] body :not(.vh-logo):not(.vh-logo *)::before,
html[dir="rtl"] body :not(.vh-logo):not(.vh-logo *)::after { font-weight: 400 !important; }
html[dir="rtl"] body :is(h1, h2, h3, h4, h5, h6, #vh-hero-title, .vh-hero__t1, .vh-hero__t2, .vh-hero__script, .vp-title, .vc-title, .vcx-title, .vpg-title,
  .vs-card__name, .vh-card__name, .vc-name, .vc-card__name, .vcx-line__name, .vh-cat__name, .vs-circ__name, .vab-quote, .vh-review__quote, .vcx-sub),
html[dir="rtl"] body :is(h1, h2, h3, h4, h5, h6, #vh-hero-title, .vh-hero__t1, .vh-hero__t2, .vh-hero__script, .vp-title, .vc-title, .vcx-title, .vpg-title,
  .vs-card__name, .vh-card__name, .vc-name, .vc-card__name, .vcx-line__name, .vh-cat__name, .vs-circ__name, .vab-quote, .vh-review__quote, .vcx-sub) * { font-weight: 500 !important; }
html[dir="rtl"] body :is(strong, b, th, dt, button, .button, .wpforms-submit, .vh-eyebrow, .vab-eyebrow, .vpg-eyebrow, .vpg-kicker, .vh-btn, .vab-btn, .vpg-btn,
  .vc-cta, .vs-card__btn, .vc-card__btn, .vc-btn__label, .vh-link, .vs-clear, .vc-continue, .vc-more, .vs-ftr__col h2, .vp-opt__label,
  .vp-buy table.variations label, .form-row > label, .wpforms-field-label, .vcx-step__label, .woocommerce-Price-amount, .vs-card__now, .vp-price,
  .vc-price__now, .vc-sub__value, .vcx-total__value, .vc-total__value, .vcx-line__total, .vh-card__price, .vh-lang a.is-current),
html[dir="rtl"] body :is(.vc-cta, .vs-card__btn, .vc-card__btn, .woocommerce-Price-amount, .vp-price, .vh-card__price, .vcx-line__total) *:not(.vh-logo):not(.vh-logo *) { font-weight: 500 !important; }

/* ---------- Arabic home hero: typography and proportions only (approved visual direction) ----------
   Hierarchy: eyebrow < headline (bold) > subhead > lead > button. Image, crop, mirroring, colours, positions are untouched.
   The decorative "الأناقة بعفوية" element is removed from the Arabic HTML (i18n.php) and the subhead is kept on one line there. */
html[dir="rtl"] body .vh-hero__copy .vh-eyebrow--hero { font-size: 16px; font-weight: 500 !important; }
html[dir="rtl"] body #vh-hero-title .vh-hero__t1,
html[dir="rtl"] body #vh-hero-title .vh-hero__t1 * { font-weight: 600 !important; }
html[dir="rtl"] body #vh-hero-title .vh-hero__t2,
html[dir="rtl"] body #vh-hero-title .vh-hero__t2 * { font-weight: 500 !important; }
html[dir="rtl"] .vh-hero__t2 { font-size: clamp(41px, 3.75vw, 54px); }
html[dir="rtl"] body .vh-hero__copy .vh-hero__lead { font-size: 19.5px; font-weight: 400 !important; }
html[dir="rtl"] body .vh-hero__copy .vh-btn--hero { height: 60px; padding: 0 38px; gap: 18px; font-size: 16px; font-weight: 500 !important; }
@media (max-width: 1100px) {
  html[dir="rtl"] body .vh-hero__copy .vh-eyebrow--hero { font-size: 14px; }
  html[dir="rtl"] .vh-hero__t2 { font-size: 35px; }
  html[dir="rtl"] body .vh-hero__copy .vh-hero__lead { font-size: 16.5px; max-width: 320px; }
  html[dir="rtl"] body .vh-hero__copy .vh-btn--hero { height: 52px; padding: 0 30px; gap: 14px; font-size: 14px; }
}
@media (max-width: 640px) {
  html[dir="rtl"] body .vh-hero__copy .vh-eyebrow--hero { font-size: 13.5px; }
  html[dir="rtl"] .vh-hero__t2 { font-size: 33px; }
  html[dir="rtl"] body .vh-hero__copy .vh-hero__lead { font-size: 18px; max-width: none; }
  html[dir="rtl"] body .vh-hero__copy .vh-btn--hero { height: 56px; padding: 0; font-size: 15px; }
}

/* ---------- Arabic type scale (sizes only) ----------
   The Latin sizes of the design (11.5–13.5px) are too small for Arabic letters. Every undersized text role of the Arabic storefront is
   lifted to a readable size (≈14.5px for the smallest labels, 15.5–17px for UI and body, 18.5–19.5px for lead paragraphs). Display
   sizes (headings, hero, titles) are those of the design. Generated from measurements of the live Arabic pages. */
html[dir="rtl"] ul.vh-announce__msgs span,
html[dir="rtl"] ul.vh-nav__list a,
html[dir="rtl"] span.vh-lang__sep,
html[dir="rtl"] li.vh-service span,
html[dir="rtl"] span.vh-cat__name,
html[dir="rtl"] div.vh-edit__copy p.vh-eyebrow,
html[dir="rtl"] div.vh-edit__copy a.vh-btn,
html[dir="rtl"] div.vh-prod__head p.vh-eyebrow,
html[dir="rtl"] div.vh-craft__copy p.vh-eyebrow,
html[dir="rtl"] div.vh-craft__copy a.vh-btn,
html[dir="rtl"] ul.vh-craft__list span,
html[dir="rtl"] div.vh-ig__head p.vh-eyebrow,
html[dir="rtl"] span.vs-ftr__cod,
html[dir="rtl"] span.vs-card__lbl,
html[dir="rtl"] p.vh-eyebrow,
html[dir="rtl"] a.vh-btn,
html[dir="rtl"] nav.vp-crumbs a,
html[dir="rtl"] nav.vp-crumbs span,
html[dir="rtl"] span.vp-count,
html[dir="rtl"] p.vp-cat a,
html[dir="rtl"] span.vp-opt__label,
html[dir="rtl"] p.vab-eyebrow,
html[dir="rtl"] div.vc-head span,
html[dir="rtl"] span.vc-update__long,
html[dir="rtl"] ul.vc-reassure span,
html[dir="rtl"] a.vc-card__btn,
html[dir="rtl"] p.vcx-req,
html[dir="rtl"] p.vcx-req span,
html[dir="rtl"] div.woocommerce-privacy-policy-text p,
html[dir="rtl"] a.woocommerce-privacy-policy-link,
html[dir="rtl"] p.vpg-eyebrow,
html[dir="rtl"] div.vs-ftr__bar span,
html[dir="rtl"] div.vs-ftr__bar a { font-size: 14.5px; }
html[dir="rtl"] a.vh-link,
html[dir="rtl"] span.vs-circ__name,
html[dir="rtl"] button.wc-variation-selection-needed,
html[dir="rtl"] a.vab-btn,
html[dir="rtl"] span.vcx-step__label,
html[dir="rtl"] div.vcx-line__attr,
html[dir="rtl"] div.vcx-line__attr span,
html[dir="rtl"] nav.vpg-crumbs a,
html[dir="rtl"] nav.vpg-crumbs span,
html[dir="rtl"] label.wpforms-field-label,
html[dir="rtl"] span.wpforms-required-label,
html[dir="rtl"] button.wpforms-submit,
html[dir="rtl"] a.vpg-btn,
html[dir="rtl"] nav.vh-lang a,
html[dir="rtl"] nav.vh-lang span { font-size: 15px; }
html[dir="rtl"] li.vh-service strong,
html[dir="rtl"] a.vh-card__name,
html[dir="rtl"] ul.vh-craft__list strong,
html[dir="rtl"] a.vh-ig__handle span,
html[dir="rtl"] div.vs-ftr__brand p,
html[dir="rtl"] nav.vs-ftr__col a,
html[dir="rtl"] div.vs-ftr__col span,
html[dir="rtl"] div.vs-ftr__col a,
html[dir="rtl"] input.vs-range__in,
html[dir="rtl"] a.vs-card__name,
html[dir="rtl"] ul.vs-services__list span,
html[dir="rtl"] p.vp-stock span,
html[dir="rtl"] ul.vp-assure span,
html[dir="rtl"] ul.vp-assure a,
html[dir="rtl"] dl.vp-specs dt,
html[dir="rtl"] nav.vc-crumbs a,
html[dir="rtl"] nav.vc-crumbs span,
html[dir="rtl"] div.vc-attr,
html[dir="rtl"] div.vc-attr span,
html[dir="rtl"] span.vc-btn__label,
html[dir="rtl"] span.vc-ship__label,
html[dir="rtl"] span.vc-cta__label,
html[dir="rtl"] span.vc-more__long,
html[dir="rtl"] a.vc-card__name,
html[dir="rtl"] nav.vcx-crumbs a,
html[dir="rtl"] nav.vcx-crumbs span,
html[dir="rtl"] p.form-row label,
html[dir="rtl"] p.form-row span,
html[dir="rtl"] span.vcx-edit__long,
html[dir="rtl"] span.woocommerce-terms-and-conditions-checkbox-text,
html[dir="rtl"] a.vcx-cgv-link,
html[dir="rtl"] span.vcx-cgv__text span,
html[dir="rtl"] div.form-row button { font-size: 15.5px; }
html[dir="rtl"] a.vs-clear,
html[dir="rtl"] label.vs-size span,
html[dir="rtl"] ul.vp-assure strong,
html[dir="rtl"] div.vc-coupon__field input,
html[dir="rtl"] a.vc-continue,
html[dir="rtl"] p.vcx-info__lead,
html[dir="rtl"] div.woocommerce-checkout-payment label,
html[dir="rtl"] div.vh-craft__copy p:not([class]) { font-size: 16px; }
html[dir="rtl"] nav.vs-ftr__col h2,
html[dir="rtl"] div.vs-ftr__col h2,
html[dir="rtl"] div.vs-sort__field select,
html[dir="rtl"] button.vp-size,
html[dir="rtl"] dl.vp-specs dd,
html[dir="rtl"] p.woocommerce-noreviews,
html[dir="rtl"] p.woocommerce-verification-required,
html[dir="rtl"] div.vc-sum__row dt,
html[dir="rtl"] span.vcx-step__dot,
html[dir="rtl"] textarea.input-text,
html[dir="rtl"] div.vcx-line__name,
html[dir="rtl"] div.vcx-line__total span.woocommerce-Price-amount bdi,
html[dir="rtl"] div.vcx-line__total span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
html[dir="rtl"] div.vcx-totals__row dt,
html[dir="rtl"] section.vcx-assure span { font-size: 16.5px; }
html[dir="rtl"] span.woocommerce-Price-amount bdi,
html[dir="rtl"] span.woocommerce-Price-currencySymbol,
html[dir="rtl"] label.vs-check span,
html[dir="rtl"] output.vs-price__value,
html[dir="rtl"] p.vs-count,
html[dir="rtl"] ul.vs-services__list strong,
html[dir="rtl"] div.vp-short p,
html[dir="rtl"] input.input-text,
html[dir="rtl"] div.vp-prose p,
html[dir="rtl"] div.vp-prose li,
html[dir="rtl"] li.vab-card p,
html[dir="rtl"] p.vc-lead,
html[dir="rtl"] a.vc-name,
html[dir="rtl"] span.vc-price__now span.woocommerce-Price-amount bdi,
html[dir="rtl"] span.vc-price__now span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
html[dir="rtl"] input.vc-qty__input,
html[dir="rtl"] span.vc-sub__value span.woocommerce-Price-amount bdi,
html[dir="rtl"] span.vc-sub__value span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
html[dir="rtl"] div.vc-sum__row span.woocommerce-Price-amount bdi,
html[dir="rtl"] div.vc-sum__row span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
html[dir="rtl"] span.vs-card__now span.woocommerce-Price-amount bdi,
html[dir="rtl"] span.vs-card__now span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
html[dir="rtl"] p.vcx-lead,
html[dir="rtl"] div.vcx-totals__row span.woocommerce-Price-amount bdi,
html[dir="rtl"] div.vcx-totals__row span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
html[dir="rtl"] strong.vcx-ship__amount,
html[dir="rtl"] article.vpg-card p,
html[dir="rtl"] input.wpforms-field-medium,
html[dir="rtl"] textarea.wpforms-field-medium,
html[dir="rtl"] div.vh-edit__copy p:not([class]) { font-size: 17px; }
html[dir="rtl"] div.vab-story__text strong,
html[dir="rtl"] div.vab-story__text p:not([class]),
html[dir="rtl"] p.vpg-kicker,
html[dir="rtl"] p.vpg-line,
html[dir="rtl"] p.vpg-line strong,
html[dir="rtl"] ol.vpg-list li { font-size: 18.5px; }
html[dir="rtl"] p.vab-lead,
html[dir="rtl"] section.vab-cta div.vab-wrap p,
html[dir="rtl"] p.vpg-404__text { font-size: 19.5px; }
@media (max-width: 1100px) {
  html[dir="rtl"] span.vs-circ__name,
  html[dir="rtl"] button.wc-variation-selection-needed,
  html[dir="rtl"] span.vc-update__short { font-size: 14.5px; }
  html[dir="rtl"] ul.vs-services__list span,
  html[dir="rtl"] div.form-row button,
  html[dir="rtl"] a.vh-link span { font-size: 15px; }
  html[dir="rtl"] a.vs-clear,
  html[dir="rtl"] p.vs-count,
  html[dir="rtl"] div.vs-sort__field select,
  html[dir="rtl"] a.vc-continue,
  html[dir="rtl"] section.vcx-assure span,
  html[dir="rtl"] button.vs-fbar__tab,
  html[dir="rtl"] span.vcx-edit__short { font-size: 15.5px; }
  html[dir="rtl"] ul.vs-services__list strong,
  html[dir="rtl"] div.vcx-line__name,
  html[dir="rtl"] div.vcx-line__total span.woocommerce-Price-amount bdi,
  html[dir="rtl"] div.vcx-line__total span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
  html[dir="rtl"] div.vcx-totals__row dt { font-size: 16px; }
  html[dir="rtl"] p.vc-lead,
  html[dir="rtl"] p.vcx-lead { font-size: 16.5px; }
  html[dir="rtl"] textarea.input-text,
  html[dir="rtl"] div.vs-hero__copy p { font-size: 17px; }
  html[dir="rtl"] p.vab-lead { font-size: 18.5px; }
}
@media (max-width: 640px) {
  html[dir="rtl"] ul.vs-services__list span,
  html[dir="rtl"] span.vcx-step__label,
  html[dir="rtl"] a.vh-link span,
  html[dir="rtl"] p.vh-announce__short span,
  html[dir="rtl"] div.vs-ftr__bar span,
  html[dir="rtl"] span.vc-sub__label { font-size: 14.5px; }
  html[dir="rtl"] a.vh-card__name,
  html[dir="rtl"] p.vs-count,
  html[dir="rtl"] a.vs-card__name,
  html[dir="rtl"] button.wc-variation-selection-needed,
  html[dir="rtl"] nav.vc-crumbs a,
  html[dir="rtl"] nav.vc-crumbs span,
  html[dir="rtl"] nav.vcx-crumbs a,
  html[dir="rtl"] nav.vcx-crumbs span,
  html[dir="rtl"] nav.vh-lang a,
  html[dir="rtl"] nav.vh-lang span { font-size: 15px; }
  html[dir="rtl"] ul.vs-services__list strong,
  html[dir="rtl"] p.vc-lead,
  html[dir="rtl"] p.vcx-lead,
  html[dir="rtl"] p.vcx-info__lead,
  html[dir="rtl"] button.vs-open-filters,
  html[dir="rtl"] span.vc-more__short,
  html[dir="rtl"] div.woocommerce-billing-fields__field-wrapper p.form-row span,
  html[dir="rtl"] div.woocommerce-additional-fields__field-wrapper p.form-row span { font-size: 15.5px; }
  html[dir="rtl"] span.vc-price__now span.woocommerce-Price-amount bdi,
  html[dir="rtl"] span.vc-price__now span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
  html[dir="rtl"] a.vc-continue,
  html[dir="rtl"] span.vcx-step__dot,
  html[dir="rtl"] span.woocommerce-terms-and-conditions-checkbox-text,
  html[dir="rtl"] a.vcx-cgv-link,
  html[dir="rtl"] span.vcx-cgv__text span,
  html[dir="rtl"] div.vs-hero__copy p { font-size: 16px; }
  html[dir="rtl"] span.woocommerce-Price-amount bdi,
  html[dir="rtl"] span.woocommerce-Price-currencySymbol,
  html[dir="rtl"] span.vs-card__now span.woocommerce-Price-amount bdi,
  html[dir="rtl"] span.vs-card__now span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
  html[dir="rtl"] div.vcx-line__name,
  html[dir="rtl"] div.vcx-line__total span.woocommerce-Price-amount bdi,
  html[dir="rtl"] div.vcx-line__total span.woocommerce-Price-amount span.woocommerce-Price-currencySymbol,
  html[dir="rtl"] div.vcx-totals__row dt,
  html[dir="rtl"] section.vcx-assure span { font-size: 16.5px; }
  html[dir="rtl"] p.vab-lead,
  html[dir="rtl"] div.vab-story__text strong,
  html[dir="rtl"] div.vab-story__text p:not([class]),
  html[dir="rtl"] section.vab-cta div.vab-wrap p,
  html[dir="rtl"] p.vpg-kicker,
  html[dir="rtl"] p.vpg-line,
  html[dir="rtl"] p.vpg-line strong,
  html[dir="rtl"] ol.vpg-list li { font-size: 17px; }
  html[dir="rtl"] a.vpg-card__link { font-size: 19.5px; }
}
/* Narrow phones: the header switcher and the cart coupon row need a slightly smaller size to fit next to the logo / inside the screen. */
@media (max-width: 400px) {
  html[dir="rtl"] nav.vh-lang a,
  html[dir="rtl"] nav.vh-lang span { font-size: 13px; }
  html[dir="rtl"] div.vc-coupon__field input { font-size: 14.5px; }
  html[dir="rtl"] button.vc-apply span.vc-btn__label { font-size: 14px; }
}
@media (max-width: 380px) {
  html[dir="rtl"] nav.vh-lang a,
  html[dir="rtl"] nav.vh-lang span { font-size: 12px; }
  html[dir="rtl"] .vh-lang--mobile { margin-inline-start: 36px; }
}
/* Mobile menu (drawer) and search field: hidden until opened, so they were not part of the measured inventory. */
html[dir="rtl"] .vh-drawer__list > li > a { font-size: 17px; }
html[dir="rtl"] .vh-drawer__list .sub-menu a { font-size: 16px; }
html[dir="rtl"] nav.vh-lang.vh-lang--drawer a,
html[dir="rtl"] nav.vh-lang.vh-lang--drawer span { font-size: 15.5px; }
html[dir="rtl"] #vh-search input { font-size: 16px; }

/* ---------- Arabic home editorial / collection section ("التناغم المثالي"): typography density only ----------
   Arabic letters have a smaller optical size than the Latin letters of the French design at the same px value, so each role is scaled
   (about x1.3 for the heading, x1.25 for the paragraph, x1.35 for the eyebrow, x1.25 for the button) to reach the French visual weight.
   The Latin tracking of the French eyebrow / button (3px, 1.2px, uppercase) is not applied: tracking breaks Arabic letter joining.
   The button width and height are those of the French button at the same breakpoint. Images, grid, panel and spacing are untouched. */
html[dir="rtl"] body div.vh-edit__copy p.vh-eyebrow { font-size: 17px; line-height: 1.5; letter-spacing: 0; }
html[dir="rtl"] body .vh-edit h2 { font-size: clamp(42px, 3.7vw, 53px); line-height: 1.15; letter-spacing: 0; margin-top: 12px; }
html[dir="rtl"] body div.vh-edit__copy p:not(.vh-eyebrow) { font-size: 18.5px; line-height: 1.55; max-width: 330px; margin-top: 14px; }
html[dir="rtl"] body div.vh-edit__copy a.vh-btn { font-size: 16px; height: 48px; min-width: 223px; padding: 0 30px; letter-spacing: 0; }
@media (max-width: 1100px) {
  html[dir="rtl"] body div.vh-edit__copy p.vh-eyebrow { font-size: 16px; }
  html[dir="rtl"] body .vh-edit h2 { font-size: 46px; }
  html[dir="rtl"] body div.vh-edit__copy p:not(.vh-eyebrow) { font-size: 17.5px; max-width: 320px; }
  html[dir="rtl"] body div.vh-edit__copy a.vh-btn { font-size: 15.5px; height: 46px; min-width: 209px; }
}
@media (max-width: 640px) {
  html[dir="rtl"] body div.vh-edit__copy p.vh-eyebrow { font-size: 15.5px; }
  html[dir="rtl"] body .vh-edit h2 { font-size: 44px; }
  html[dir="rtl"] body div.vh-edit__copy p:not(.vh-eyebrow) { font-size: 18px; max-width: none; }
  html[dir="rtl"] body div.vh-edit__copy a.vh-btn { font-size: 15.5px; height: 48px; min-width: 209px; }
}

/* ---------- Arabic home editorial section: physical geometry identical to the French component ----------
   The RTL direction used to mirror the grid columns of .vh-edit (the centre panel then sat at 24-54% of the width and covered the bag / shoe
   of the single triptych image, and the image was anchored to the other side at tablet / phone). The section is now laid out with a
   left-to-right grid, so the three columns (46.6% / 30.83% / rest), the panel and the image anchoring are those of the French page at every
   width. Only the text keeps the RTL direction (direction on .vh-edit__copy), so the Arabic text, its alignment and the arrow follow RTL.
   The image itself (file, crop, object-position) is untouched. */
html[dir="rtl"] body .vh-edit { direction: ltr; }
html[dir="rtl"] body .vh-edit__copy { direction: rtl; }
/* The larger Arabic text is taller than the French text: the vertical padding of the copy is trimmed so that the section height
   (and therefore the crop of the image, which is object-fit: cover) stays as close as possible to the French section. */
html[dir="rtl"] body .vh-edit__copy { padding-top: 34px; padding-bottom: 24px; }
@media (max-width: 1100px) {
  html[dir="rtl"] body .vh-edit__bg { left: 0; right: 50%; }
  html[dir="rtl"] body .vh-edit__copy { padding-top: 30px; padding-bottom: 26px; }
}
@media (max-width: 640px) {
  html[dir="rtl"] body .vh-edit__bg { left: 0; right: 0; }
}

/* ---------- Arabic footer, tablet and phone (max-width 1100px): same physical structure as the French footer ----------
   Cause of the unbalanced footer: the desktop mirror rules `.vs-ftr__grid { padding: 50px 82px 33px 0 }` and `.vs-ftr__bar { margin: 0 66px 0 69px;
   padding: 27px 16px 0 41px }` are more specific than the French tablet / phone padding and margin rules, so they stayed active on small screens:
   an 82px right padding squeezed the columns and the bar, and pushed the contact block and the legal line far down.
   Fix: the French tablet / phone padding and margins are restored; the grid is laid out left-to-right, so the columns have the French order,
   widths and separators; only the text containers (brand block, columns, bar) keep the RTL direction. The desktop footer (> 1100px) is untouched. */
@media (max-width: 1100px) {
  html[dir="rtl"] body .vs-ftr__grid { direction: ltr; padding: 48px 40px 0; }
  html[dir="rtl"] body .vs-ftr__brand,
  html[dir="rtl"] body .vs-ftr__col { direction: rtl; }
  html[dir="rtl"] body .vs-ftr__bar { margin: 40px 0 0; padding: 24px 40px 40px; }
  html[dir="rtl"] body .vs-ftr__brand p { line-height: 1.6; }
  html[dir="rtl"] body .vs-ftr__col li { line-height: 1.3; }
  html[dir="rtl"] body .vs-ftr__col--contact li { line-height: 1.4; }
  html[dir="rtl"] body .vs-ftr__bar > span:last-child { line-height: 1.5; }
  html[dir="rtl"] body span.vs-ftr__cod { font-weight: 500 !important; }
}
@media (max-width: 640px) {
  html[dir="rtl"] body .vs-ftr__grid { padding: 40px 20px 0; }
  html[dir="rtl"] body .vs-ftr__bar { margin: 30px 0 0; padding: 22px 20px 40px; }
}

/* ---------- Arabic Boutique (shop) pages: price presentation (all widths) ----------
   Product-card prices are right-aligned (RTL), the number is bold (700) and the currency keeps the regular medium weight.
   The currency text itself ("د.م.") is set in i18n.php for the Arabic output only; the WooCommerce currency and the French "DH" are untouched. */
html[dir="rtl"] body ul.vs-grid li.vs-card .vs-card__price { justify-content: flex-end; text-align: right; }
html[dir="rtl"] body ul.vs-grid li.vs-card .vs-card__price .woocommerce-Price-amount bdi { font-weight: 700 !important; }

/* ---------- Arabic Boutique (shop) pages, phone (max-width 640px): header and filter / sort controls ---------- */
@media (max-width: 640px) {
  /* Header: row 1 = burger (right), logo (centre), search + cart (left); row 2 = the language switch, on the right under the burger. */
  html[dir="rtl"] body.virona-shop .vh-header__in { height: auto; grid-template-rows: 59px auto; }
  html[dir="rtl"] body.virona-shop nav.vh-lang.vh-lang--mobile { grid-column: 1 / -1; grid-row: 2; justify-self: start; margin: 0 10px 8px 0; gap: 7px; }
  html[dir="rtl"] body.virona-shop nav.vh-lang.vh-lang--mobile a,
  html[dir="rtl"] body.virona-shop nav.vh-lang.vh-lang--mobile span { font-size: 14px; }
  /* Filter button and sort select: same height, content centred, comfortable inner spacing, side by side. */
  html[dir="rtl"] body button.vs-open-filters { padding: 0 14px; gap: 10px; font-size: 15.5px; }
  html[dir="rtl"] body div.vs-sort__field select { padding: 0 36px; text-align: center; text-align-last: center; font-size: 15.5px; }
}

/* ---------- Arabic menu toggle: the hamburger icon (the drawn lines only) is mirrored horizontally ----------
   Only the <svg> inside the button is flipped; the button, its position, size, hit area and behaviour are untouched. */
html[dir="rtl"] .vh-burger > svg { transform: scaleX(-1); }

/* ---------- Arabic cart, phones (max-width 640px) ----------
   Cause: desktop mirror rules (`.vc-empty { padding: 0 60px 0 80px }`, `.vc-wrap { padding-inline: 32px }`) are more specific than the French
   phone rules and stayed active, squeezing the empty-cart text block to 169px (the three category buttons then clipped their labels).
   The French phone paddings are restored for the empty cart; the promo-code field may shrink (min-width: 0) so that the row stays inside the card. */
@media (max-width: 640px) {
  html[dir="rtl"] body .vc-main--empty .vc-wrap { padding-left: 16px; padding-right: 16px; }
  html[dir="rtl"] body .vc-main--empty .vc-empty { padding: 26px 20px; }
  html[dir="rtl"] body .vc-coupon { max-width: 100%; box-sizing: border-box; }
  html[dir="rtl"] body .vc-coupon__field { min-width: 0; max-width: 100%; }
  html[dir="rtl"] body .vc-coupon input[type="text"] { min-width: 0; width: auto; }
  html[dir="rtl"] body button.vc-apply { flex: none; }
}

/* ---------- Category cards carousel (Arabic): same physical geometry as the French component ----------
   The row keeps its left-to-right geometry (card order, scroll direction, arrows); only the title text is right-to-left. */
html[dir="rtl"] .vs-cc { direction: ltr; }
html[dir="rtl"] body .vs-cc .vs-cc__card .vs-cc__name { direction: rtl; font-weight: 600 !important; font-size: 21px; line-height: 1.4; }
@media (max-width: 1100px) {
  html[dir="rtl"] body .vs-cc .vs-cc__card .vs-cc__name { font-size: 19px; }
}
@media (max-width: 640px) {
  html[dir="rtl"] body .vs-cc .vs-cc__card .vs-cc__name { font-size: 18px; }
}
/* The generated mirror swaps the side of the shared carousel arrows (prev on the right); the category row keeps the French geometry. */
html[dir="rtl"] .vs-cc .vh-arrow[data-vh-scroll="prev"] { left: -58px; right: auto; }
html[dir="rtl"] .vs-cc .vh-arrow[data-vh-scroll="next"] { right: -58px; left: auto; }
@media (max-width: 1100px) {
  html[dir="rtl"] .vs-cc .vh-arrow[data-vh-scroll="prev"] { left: -48px; right: auto; }
  html[dir="rtl"] .vs-cc .vh-arrow[data-vh-scroll="next"] { right: -48px; left: auto; }
}

/* ---------- Homepage "Nos catégories" showcase (Arabic) ----------
   Same physical geometry as the French component (card order, featured card, arrows, dots, scrolling stay left-to-right);
   only the text is right-to-left and set in the Arabic typography system. The package stylesheet itself is unchanged. */
html[dir="rtl"] .vc-catshow { direction: ltr; --cs-serif: var(--vh-serif); --cs-sans: var(--vh-sans); }
html[dir="rtl"] .vc-catshow__header,
html[dir="rtl"] .vc-catcard__body,
html[dir="rtl"] .vc-benefit { direction: rtl; }
html[dir="rtl"] .vc-catshow__eyebrow { letter-spacing: 0; font-size: 15px; }
html[dir="rtl"] .vc-catshow__eyebrow span { margin-right: 0; }
html[dir="rtl"] body .vc-catshow .vc-catshow__title em { font-style: normal; font-weight: 600 !important; }
html[dir="rtl"] body .vc-catshow .vc-catshow__title { line-height: 1.3; }
html[dir="rtl"] .vc-catshow__lead { font-size: clamp(17px, 1.55vw, 23px); line-height: 1.6; }
html[dir="rtl"] body .vc-catshow .vc-catcard__name { font-weight: 500 !important; font-size: clamp(19px, calc(var(--u) * .11), 26px); }
html[dir="rtl"] body .vc-catshow .vc-catcard__cta { font-weight: 500 !important; font-size: 14px; letter-spacing: 0; text-transform: none; }
html[dir="rtl"] body .vc-catshow .vc-catcard:hover .vc-catcard__cta svg { transform: scaleX(-1) translateX(4px); }
html[dir="rtl"] body .vc-catshow .vc-benefit__title { font-size: clamp(18px, 1.5vw, 22px); line-height: 1.4; }
html[dir="rtl"] .vc-catshow .vc-benefit__text { font-size: clamp(15.5px, 1.25vw, 18px); line-height: 1.5; }
@media (max-width: 767.98px) {
  html[dir="rtl"] .vc-catshow__eyebrow { font-size: 14px; }
  html[dir="rtl"] .vc-catshow__lead { font-size: 17px; }
  html[dir="rtl"] body .vc-catshow .vc-catcard__name { font-size: 20px; }
}

/* Acheter maintenant (Arabic): no letter-spacing between joined letters, no capitals */
html[dir="rtl"] body .vp-buy .vp-buynow,
html[dir="rtl"] body .vh-card__cart.vh-card__buy { letter-spacing: 0; text-transform: none; font-weight: 500 !important; }
html[dir="rtl"] body .vp-buy .vp-buynow { font-size: 15.5px; }
html[dir="rtl"] body .vh-card__cart.vh-card__buy { font-size: 13px; }
@media (max-width: 640px) {
  html[dir="rtl"] body .vh-card__cart.vh-card__buy { font-size: 12px; }
}
