/* ============================================================
   WillVault — rtl.css
   RTL (Right-to-Left) layout styles.
   Stable Layout: Grid and flex column structures stay in place
   so sections do NOT flip or move across the screen when
   switching between LTR and RTL. Text aligns to the right.
   ============================================================ */

html[dir="rtl"] body {
  text-align: right;
}

/* Keep main section column layouts in place to prevent layout shifting */
html[dir="rtl"] .hero-grid,
html[dir="rtl"] .split,
html[dir="rtl"] .check-row,
html[dir="rtl"] .cta-banner,
html[dir="rtl"] .footer-bottom {
  direction: ltr;
}

/* Ensure text inside left-hand columns reads RTL and aligns to the right */
html[dir="rtl"] .hero-copy,
html[dir="rtl"] .check-row>div,
html[dir="rtl"] .cta-banner>div:first-child,
html[dir="rtl"] .footer-bottom p,
html[dir="rtl"] .section-head {
  direction: rtl;
  text-align: right;
}

/* Flip margins on decorative kickers and icons */
html[dir="rtl"] .kicker::before {
  margin-inline-end: 0;
  margin-inline-start: .4rem;
}


html[dir="rtl"] .dossier-link i,
html[dir="rtl"] .meta-chip i,
html[dir="rtl"] .f-contact i {
  margin-inline-end: 0;
  margin-inline-start: .35rem;
}

/* Nav links in navbar */
html[dir="rtl"] .nav-wrap {
  direction: rtl;
}

html[dir="rtl"] .nav-links {
  direction: rtl;
}

html[dir="rtl"] .nav-actions {
  direction: ltr;
}

/* Login and sign-up: the minimal navbar and form controls must mirror too. */
html[dir="rtl"] .auth-page .nav-wrap {
  direction: rtl;
}

html[dir="rtl"] .auth-page .brand {
  direction: ltr;
}

html[dir="rtl"] .auth-page .nav-actions {
  margin-inline-start: auto;
  margin-inline-end: 0;
}

html[dir="rtl"] .auth-head {
  text-align: center;
}

html[dir="rtl"] .auth-card,
html[dir="rtl"] .auth-form,
html[dir="rtl"] .auth-row {
  direction: rtl;
  text-align: right;
}

html[dir="rtl"] .auth-input,
html[dir="rtl"] .auth-hint,
html[dir="rtl"] .auth-error {
  text-align: right;
}

/* The auth pages currently use English form copy. Keep its word and
   punctuation order stable while the surrounding form stays RTL-aligned. */
html[dir="rtl"] .auth-input,
html[dir="rtl"] .auth-hint,
html[dir="rtl"] .auth-error,
html[dir="rtl"] .auth-terms > span,
html[dir="rtl"] .auth-remember > span,
html[dir="rtl"] .auth-forgot,
html[dir="rtl"] .auth-alt {
  direction: ltr;
  unicode-bidi: plaintext;
}

html[dir="rtl"] .auth-terms > span,
html[dir="rtl"] .auth-remember > span {
  text-align: right;
}

html[dir="rtl"] .auth-home-btn .bi-arrow-left::before {
  display: inline-block;
  transform: scaleX(-1);
}

/* Drawer slides in from the left in RTL, hidden when closed */
html[dir="rtl"] .drawer {
  transform: translateX(-105%);
}

html[dir="rtl"] .drawer.open {
  transform: translateX(0);
}

/* Dropdowns anchor cleanly */
html[dir="rtl"] .dropdown-menu {
  inset-inline-start: auto;
  inset-inline-end: 0;
  direction: rtl;
  text-align: right;
}

/* Nav link hover underline origin */
html[dir="rtl"] .nav-link::before {
  transform-origin: right;
}

/* Flip directional icons */
html[dir="rtl"] .bi-box-arrow-in-right::before,
html[dir="rtl"] .bi-arrow-right::before {
  transform: scaleX(-1);
  display: inline-block;
}


html[dir="rtl"] .dossier-link:hover {
  gap: .55rem;
}

/* Numbers and stats stay LTR for correct numeric formatting */
html[dir="rtl"] .price,
html[dir="rtl"] .strip-grid strong {
  direction: ltr;
  unicode-bidi: embed;
}

/* Hover nudges */

html[dir="rtl"] .steps li:hover .step-n {
  transform: translateX(-4px);
}

@media (max-width: 680px) {
  html[dir="rtl"] .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  html[dir="rtl"] .cta-banner {
    flex-direction: column;
    text-align: center;
  }

  html[dir="rtl"] .cta-banner>div:first-child {
    text-align: center;
  }
}

@media (max-width: 900px) {
  html[dir="rtl"] .cta-banner {
    flex-direction: column;
    text-align: center;
  }

  html[dir="rtl"] .cta-banner>div:first-child {
    text-align: center;
  }
}

/* ---------------- Home 1 RTL ---------------- */

html[dir="rtl"] .h1-num,
html[dir="rtl"] .h1-cmp-sub {
  direction: ltr;
  unicode-bidi: embed;
}

html[dir="rtl"] .h1-dx-row:hover .h1-dx-chev {
  transform: translateX(-3px);
}

/* About page RTL: keep grids stable, read copy RTL */
html[dir="rtl"] .ab-grid {
  direction: ltr;
}
html[dir="rtl"] .ab-hero-copy {
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] .ab-hero-copy .lede,
html[dir="rtl"] .ab-hero-copy .ab-meta {
  text-align: right;
}
html[dir="rtl"] .ab-seal-wrap {
  direction: ltr;
}

/* Contact page RTL */
html[dir="rtl"] .ct-map-wrap {
  direction: ltr;
}
html[dir="rtl"] .ct-map-card {
  direction: rtl;
  text-align: right;
}
html[dir="rtl"] .ct-map-badge {
  align-self: flex-start;
}

/* ---------------- Admin Dashboard RTL ---------------- */

html[dir="rtl"] .adm-select {
  background-position: left .75rem center;
  padding: .6rem 1rem .6rem 2.1rem;
}

html[dir="rtl"] .adm-profile {
  text-align: right;
}

html[dir="rtl"] .adm-table th,
html[dir="rtl"] .adm-table td {
  text-align: right;
}

html[dir="rtl"] .adm-rev,
html[dir="rtl"] .adm-rev-labels {
  direction: ltr;
}

html[dir="rtl"] .adm-switch input:checked + i::after {
  inset-inline-start: auto;
  inset-inline-end: 3px;
}

html[dir="rtl"] .adm-donut {
  direction: ltr;
}

html[dir="rtl"] .adm-draft-actions .btn i {
  transform: scaleX(-1);
}

html[dir="rtl"] .adm-trend {
  direction: ltr;
}

html[dir="rtl"] .adm-notif {
  text-align: right;
}

/* Ensure desktop sidebar is never translated off-screen in RTL mode */
@media (min-width: 1025px) {
  html[dir="rtl"] .adm-sidebar {
    transform: none !important;
  }
}

html[dir="rtl"] .adm-pop-profile {
  text-align: right;
}
