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

html[dir="rtl"] .navbar-nav,
html[dir="rtl"] .dropdown-menu,
html[dir="rtl"] .form-check,
html[dir="rtl"] .alert,
html[dir="rtl"] .table {
  text-align: right;
}

html[dir="rtl"] .me-1,
html[dir="rtl"] .me-2 {
  margin-left: 0.25rem !important;
  margin-right: 0 !important;
}

html[dir="rtl"] .ms-2,
html[dir="rtl"] .ms-auto {
  margin-right: 0.5rem !important;
  margin-left: 0 !important;
}

html[dir="rtl"] .dropdown-menu-end {
  right: auto !important;
  left: 0 !important;
}

/* Bootstrap dismissible alerts: prevent close button overlapping RTL text */
html[dir="rtl"] .alert-dismissible {
  padding-right: 1rem;
  padding-left: 3rem;
}

html[dir="rtl"] .alert-dismissible .btn-close {
  right: auto;
  left: 0;
}

html[dir="rtl"] .form-select {
  padding-right: 0.75rem;
  padding-left: 2.25rem;
  background-position: left 0.75rem center;
}

/* Bootstrap validation state icons on inputs: mirror for RTL */
html[dir="rtl"] .form-control.is-valid,
html[dir="rtl"] .was-validated .form-control:valid,
html[dir="rtl"] .form-control.is-invalid,
html[dir="rtl"] .was-validated .form-control:invalid {
  padding-right: 0.75rem;
  padding-left: calc(1.5em + 0.75rem);
  background-position: left calc(0.375em + 0.1875rem) center;
}

html[dir="rtl"] .form-select-sm {
  padding-right: 0.5rem;
  padding-left: 2rem;
  background-position: left 0.5rem center;
}

/*
 * Select2 Bootstrap 5 theme hides .select2-selection__arrow and draws the chevron via
 * background-image on .select2-selection--single (background-position: right …).
 * RTL must flip padding + background-position, not the unused arrow span.
 */
html[dir="rtl"] .select2-container--bootstrap-5 .select2-selection--single {
  padding: 0.375rem 0.75rem 0.375rem 2.25rem !important;
  background-position: left 0.75rem center !important;
}

html[dir="rtl"] .select2-container--bootstrap-5 .select2--small.select2-selection--single {
  padding: 0.25rem 0.5rem 0.25rem 2.25rem !important;
  background-position: left 0.5rem center !important;
}

html[dir="rtl"] .select2-container--bootstrap-5 .select2--large.select2-selection--single {
  padding: 0.5rem 1rem 0.5rem 2.25rem !important;
  background-position: left 1rem center !important;
}

html[dir="rtl"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered {
  text-align: right !important;
}

/* Admin-configured English labels on RTL pages: keep ? and * in natural LTR order */
.walkin-field-label-ltr {
  display: inline-block;
  max-width: 100%;
}

.lang-switch-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  min-height: 32px;
  padding: 0.25rem 0.75rem;
  border: 1px solid #d2d7e2;
  border-radius: 6px;
  background: #f8f9fc;
  color: #1f2937;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}

.lang-switch-btn:hover,
.lang-switch-btn:focus {
  background: #eef2f8;
  color: #111827;
  border-color: #c4cad6;
}
