/* Shared language controls and honest machine-draft/legal notices. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* The legacy skip link uses left:-9999px, which widens an RTL document. */
body > .skip-link {
  position: fixed !important;
  top: 12px !important;
  left: 18px !important;
  right: auto !important;
  transform: translateY(-120px);
}

body > .skip-link:focus,
body > .skip-link:focus-visible {
  left: 18px !important;
  transform: none;
}

html[dir="rtl"] body > .skip-link {
  left: auto !important;
  right: 18px !important;
}

html[dir="rtl"] body > .skip-link:focus,
html[dir="rtl"] body > .skip-link:focus-visible {
  left: auto !important;
  right: 18px !important;
}

.i18n-language {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.i18n-language-select {
  width: 152px;
  max-width: 100%;
  min-height: 40px;
  padding: 8px 30px 8px 11px;
  border: 1px solid var(--border, rgba(15, 42, 85, .18));
  border-radius: 12px;
  background: var(--surface, #fff);
  color: var(--text-strong, #071b45);
  font: 600 13px/1.2 Inter, Manrope, system-ui, sans-serif;
  cursor: pointer;
}

.i18n-language-select:focus-visible {
  outline: 3px solid rgba(47, 119, 235, .32);
  outline-offset: 2px;
}

.i18n-language-mobile {
  display: none;
  width: 100%;
  padding: 6px 0 12px;
}

.i18n-language-mobile .i18n-language-select { width: 100%; }

.i18n-notice {
  position: relative;
  z-index: 5;
  box-sizing: border-box;
  width: 100%;
  padding: 10px clamp(18px, 4vw, 64px);
  border-block: 1px solid rgba(28, 98, 214, .2);
  background: #eef6ff;
  color: #18345f;
  font: 600 13px/1.55 Inter, Manrope, system-ui, sans-serif;
  text-align: center;
}

.i18n-legal-notice {
  display: grid;
  gap: 2px;
  background: #fff8df;
  border-color: rgba(181, 125, 0, .25);
  color: #573d00;
}

.i18n-legal-notice strong { font-size: 14px; }
.i18n-legal-notice small { color: #765814; font-size: 12px; }
.i18n-legal-notice small:empty { display: none; }

/*
 * Legal chrome follows the selected locale, but the binding legal body is
 * deliberately English. Keep its reading order, punctuation, lists and table
 * columns LTR even when the surrounding shell is Arabic RTL.
 */
main[data-i18n-legal-body="english-binding-text"],
main[data-i18n-legal-body="english-binding-text"] .prose,
main[data-i18n-legal-body="english-binding-text"] .container-sm,
main[data-i18n-legal-body="english-binding-text"] p,
main[data-i18n-legal-body="english-binding-text"] h1,
main[data-i18n-legal-body="english-binding-text"] h2,
main[data-i18n-legal-body="english-binding-text"] h3,
main[data-i18n-legal-body="english-binding-text"] ul,
main[data-i18n-legal-body="english-binding-text"] ol,
main[data-i18n-legal-body="english-binding-text"] li,
main[data-i18n-legal-body="english-binding-text"] table,
main[data-i18n-legal-body="english-binding-text"] thead,
main[data-i18n-legal-body="english-binding-text"] tbody,
main[data-i18n-legal-body="english-binding-text"] tr,
main[data-i18n-legal-body="english-binding-text"] th,
main[data-i18n-legal-body="english-binding-text"] td {
  direction: ltr;
  text-align: left;
}

html[dir="rtl"] body { direction: rtl; }
html[dir="rtl"] .nav-inner,
html[dir="rtl"] .vision-nav-inner,
html[dir="rtl"] .footer-grid,
html[dir="rtl"] .vision-footer-grid,
html[dir="rtl"] .dealium-ai-panel,
html[dir="rtl"] .card,
html[dir="rtl"] .prose { text-align: right; }
html[dir="rtl"] .dealium-ai-panel-close { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .i18n-language-select { padding: 8px 11px 8px 30px; }
html[dir="rtl"] main[data-i18n-legal-body="english-binding-text"],
html[dir="rtl"] main[data-i18n-legal-body="english-binding-text"] .prose {
  direction: ltr;
  text-align: left;
}

/* Localized compound words must shrink and wrap inside mobile card grids. */
.v2-panel-grid > *,
.v2-deal-card,
.v2-deal-top > *,
.v2-deal-row > * {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 1020px) {
  .nav-actions > .i18n-language,
  .vision-nav-actions > .i18n-language { display: none; }
  .mobile-menu .i18n-language-mobile { display: inline-flex; }
}

@media (max-width: 560px) {
  .i18n-notice { padding-inline: 16px; text-align: start; }
}

@media (prefers-color-scheme: dark) {
  html[data-theme="dark"] .i18n-language-select {
    background: #0a1c3d;
    color: #fff;
    border-color: rgba(255, 255, 255, .22);
  }
}
