/* ─────────────────────────────────────────────────────────────────────────
   MULTILINGUAL LAYER — scoped to .qff-i18n so no English page is affected.

   The layout is direction-agnostic: the shared blocks already use logical
   properties, so Arabic RTL needs `dir="rtl"` on <html> and very little else.
   ───────────────────────────────────────────────────────────────────────── */

/* International service CTAs share the approved navy presentation. */
.qff-i18n-cta { background: var(--qff-navy); }

/* Language switcher — one shared control in the global header. */
.qff-langswitch { position: relative; display: flex; align-items: center; }
.qff-langswitch__desktop { display: none; position: relative; }
.qff-langswitch__toggle {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
	min-width: 4rem; min-height: 2.5rem; padding: 0.375rem 0.75rem;
	border: 1px solid var(--qff-navy-15); border-radius: 6px;
	background: #fff; color: var(--qff-navy);
	font-size: 12px; font-weight: 600; letter-spacing: 0.04em;
	transition: border-color 0.2s ease, background 0.2s ease;
}
.qff-langswitch__toggle:hover { border-color: var(--qff-navy-25); background: rgba(11, 63, 120, 0.05); }
.qff-langswitch__toggle:focus-visible { outline: 2px solid var(--qff-action); outline-offset: 2px; }
.qff-langswitch__chevron { width: 0.875rem; height: 0.875rem; transition: transform 0.2s ease; }
.qff-langswitch__desktop.is-open .qff-langswitch__chevron { transform: rotate(180deg); }
.qff-langswitch__menu {
	position: absolute; z-index: 200; top: calc(100% + 0.5rem); inset-inline-end: 0;
	min-width: 10.5rem; margin: 0; padding: 0.375rem;
	list-style: none; border: 1px solid var(--qff-navy-15); border-radius: 8px;
	background: #fff; box-shadow: 0 14px 32px rgba(6, 33, 66, 0.16);
}
.qff-langswitch__menu[hidden] { display: none; }
.qff-langswitch__menu-link {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	width: 100%; min-height: 2.5rem; padding: 0.55rem 0.75rem;
	border-radius: 5px; color: var(--qff-charcoal);
	font-size: 13px; font-weight: 500; letter-spacing: 0;
	text-decoration: none; white-space: nowrap;
}
.qff-langswitch__menu-link:hover { color: var(--qff-navy); background: rgba(11, 63, 120, 0.07); }
.qff-langswitch__menu-link:focus-visible { outline: 2px solid var(--qff-action); outline-offset: -1px; }
.qff-langswitch__menu-link.is-current { color: var(--qff-navy); background: rgba(11, 63, 120, 0.1); }
.qff-langswitch__menu-link.is-unavailable { opacity: 0.38; cursor: default; }
.qff-langswitch__menu-code { color: var(--qff-charcoal-50); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; }

.qff-langswitch__list {
	display: flex; align-items: center; gap: 0.125rem;
	list-style: none; margin: 0; padding: 0;
}
.qff-langswitch__link {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 2.25rem; min-height: 2.25rem; padding: 0 0.5rem;
	font-size: 12px; font-weight: 600; letter-spacing: 0.02em;
	color: var(--qff-charcoal); text-decoration: none;
	border-radius: 4px;
}
.qff-langswitch__link:hover { background: rgba(11, 63, 120, 0.08); }
.qff-langswitch__link.is-current { color: var(--qff-navy); background: rgba(11, 63, 120, 0.1); }
.qff-langswitch__link.is-unavailable { opacity: 0.38; cursor: default; }
.qff-langswitch__link:focus-visible { outline: 2px solid var(--qff-action); outline-offset: 2px; }

@media (min-width: 1024px) {
	.qff-langswitch__desktop { display: flex; }
	.qff-langswitch__list--mobile { display: none; }
}
@media (max-width: 1023px) {
	.qff-langswitch__list { gap: 0; }
	.qff-langswitch__link { min-width: 2rem; padding: 0 0.375rem; }
}

/* ── Localized pages ───────────────────────────────────────────────────── */
.qff-i18n .qff-prose p { margin: 0 0 1rem; line-height: 1.8; }
.qff-i18n .qff-list { line-height: 1.8; }

/* Arabic: a slightly larger base and looser leading — Arabic glyphs need more
   vertical room at the same optical size. */
.qff-dir-rtl { font-size: 17px; }
.qff-dir-rtl .qff-page-hero__title { line-height: 1.45; }
.qff-dir-rtl .qff-quick-answer__a,
.qff-dir-rtl .qff-prose p,
.qff-dir-rtl .qff-list { line-height: 1.95; }

/* Anything that was nudged with a physical direction gets mirrored once, here. */
.qff-dir-rtl .qff-breadcrumb__list { flex-direction: row; }
.qff-dir-rtl .qff-chip-list { direction: rtl; }

/* Russian and French produce long compounds; prevent overflow rather than
   clipping, and never break a technical identifier. */
.qff-lang-ru .qff-card__title,
.qff-lang-fr .qff-card__title,
.qff-lang-ru .qff-page-hero__title,
.qff-lang-fr .qff-page-hero__title { overflow-wrap: anywhere; hyphens: auto; }
.qff-i18n .qff-k-code-table td strong { overflow-wrap: normal; word-break: keep-all; }

/* Wide localized tables scroll inside their own container, never the page. */
.qff-table-wrap { overflow-x: auto; }
