/**
 * GPE Low localization — compact header lang slot + RTL fallback support.
 *
 * Critical-control fixes only (asset 06). Full polished RTL is Mid/High.
 */

.dp-site-header__lang {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	max-width: 9.5rem;
	min-height: 2rem;
	pointer-events: auto;
}

.dp-site-header__lang .gt_selector,
.dp-site-header__lang select,
.dp-site-header__lang .gtranslate_wrapper {
	max-width: 100%;
}

/*
 * Code chip over GTranslate select.
 * Desktop: hint-rail cue + white chip; cue fades ~10% hero scroll.
 * Mobile: chip only (navy trigger — discoverability was already fine).
 */
.dp-site-header__lang .dp-lang-select-visually-hidden {
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	width: 1px !important;
}

.dp-lang-chip {
	align-items: center;
	display: flex;
	gap: 0.75rem;
	position: relative;
}

.dp-lang-chip__cue {
	display: none;
}

.dp-lang-chip__trigger {
	align-items: center;
	background: rgb(4 24 47 / 92%);
	border: 1px solid rgb(220 201 163 / 40%);
	border-radius: 0.35rem;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--dp-font-ui, "Raleway", sans-serif);
	font-size: 0.78rem;
	font-weight: 700;
	gap: 0.4rem;
	letter-spacing: 0.08em;
	padding: 0.45rem 0.55rem 0.45rem 0.65rem;
}

.dp-lang-chip__chev {
	opacity: 0.7;
}

.dp-lang-chip__panel {
	background: rgb(11 39 72 / 98%);
	border: 1px solid rgb(220 201 163 / 35%);
	border-radius: 0.4rem;
	margin-top: 0.35rem;
	max-height: min(22rem, 60vh);
	min-width: 14rem;
	overflow: auto;
	padding: 0.35rem;
	position: absolute;
	right: 0;
	top: 100%;
	z-index: 1003;
}

.dp-lang-chip__item {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0.3rem;
	color: #fff;
	cursor: pointer;
	display: grid;
	font-family: var(--dp-font-ui, "Raleway", sans-serif);
	font-size: 0.9rem;
	font-weight: 600;
	gap: 0.65rem;
	grid-template-columns: 2.4rem 1fr;
	padding: 0.55rem 0.6rem;
	text-align: left;
	width: 100%;
}

.dp-lang-chip__item:hover,
.dp-lang-chip__item:focus-visible,
.dp-lang-chip__item.is-current {
	background: rgb(235 196 94 / 18%);
}

.dp-lang-chip__item-code {
	color: var(--dp-color-gold-bright, #ebc45e);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
}

@media (prefers-reduced-motion: no-preference) {
	.dp-lang-chip__trigger {
		transition:
			background-color 200ms ease-out,
			border-color 200ms ease-out,
			color 200ms ease-out;
	}
}

/*
 * Desktop: float just under the fixed header on the right — leave the nav /
 * CTA row clear so translated link lengths don't collide with the switcher.
 */
@media (min-width: 901px) {
	header.dp-site-header .dp-site-header__lang {
		background: transparent;
		border: 0;
		left: auto;
		margin: 0;
		max-width: none;
		padding: 0;
		position: absolute;
		right: clamp(1rem, 4vw, 3.75rem);
		top: calc(100% + 0.4rem);
		z-index: 1002;
	}

	.dp-lang-chip__cue-clip {
		display: block;
		flex: 0 0 auto;
		overflow: hidden;
		vertical-align: middle;
	}

	.dp-lang-chip__cue-clip.is-collapsed {
		pointer-events: none;
	}

	.dp-lang-chip__cue {
		background: transparent;
		border: 0;
		border-bottom: 1px solid rgb(255 255 255 / 55%);
		color: #fff;
		cursor: pointer;
		display: block;
		font-family: var(--dp-font-ui, "Raleway", sans-serif);
		font-size: 0.75rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		line-height: 1.2;
		padding: 0;
		text-align: right;
		text-transform: uppercase;
		white-space: nowrap;
		width: max-content;
	}

	.dp-lang-chip__cue:hover,
	.dp-lang-chip__cue:focus-visible {
		border-bottom-color: #fff;
	}

	.dp-lang-chip__cue.is-leaving {
		opacity: 0;
		pointer-events: none;
		transform: translateY(-0.5rem);
	}

	.dp-lang-chip:has(.dp-lang-chip__cue-clip.is-collapsed) {
		gap: 0;
	}

	@media (prefers-reduced-motion: no-preference) {
		.dp-lang-chip {
			transition: gap 280ms ease-out;
		}

		.dp-lang-chip__cue-clip {
			transition: width 280ms ease-out;
		}

		.dp-lang-chip__cue {
			opacity: 1;
			transform: translateY(0);
			transition:
				opacity 280ms ease-out,
				transform 280ms ease-out,
				border-bottom-color 200ms ease-out;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.dp-lang-chip__cue.is-leaving {
			transform: none;
		}

		.dp-lang-chip__cue-clip.is-collapsed {
			width: 0 !important;
		}
	}

	.dp-lang-chip__trigger {
		background: #fff;
		border-color: rgb(4 24 47 / 92%);
		color: rgb(4 24 47 / 92%);
		font-size: 0.9rem;
		letter-spacing: 0;
	}

	.dp-lang-chip.is-on-light .dp-lang-chip__cue {
		border-bottom-color: rgb(4 24 47 / 45%);
		color: rgb(4 24 47 / 92%);
	}

	.dp-lang-chip.is-on-light .dp-lang-chip__cue:hover,
	.dp-lang-chip.is-on-light .dp-lang-chip__cue:focus-visible {
		border-bottom-color: rgb(4 24 47 / 92%);
	}

	.dp-lang-chip.is-on-light .dp-lang-chip__trigger {
		background: rgb(4 24 47 / 92%);
		border-color: rgb(220 201 163 / 40%);
		color: #fff;
	}
}

/*
 * Keep site chrome LTR even when documentElement is rtl (Hebrew/Arabic).
 * Logical insets + physical translateX break the mobile drawer under dir=rtl.
 */
header.dp-site-header,
header.dp-site-header .dp-site-header__backdrop,
header.dp-site-header .dp-site-header__end {
	direction: ltr;
	unicode-bidi: isolate;
}

/*
 * Desktop + mobile: Google Translate / closed drawer / gadgets extend
 * scrollWidth under html[dir=rtl] (empty gutter + horizontal scrollbar).
 * Clip document overflow; critical control only — not a full RTL pass.
 */
html[dir="rtl"],
html[dir="rtl"] body {
	max-width: 100%;
	overflow-x: clip;
}

@media (max-width: 900px) {
	header.dp-site-header .dp-site-header__nav {
		/* Physical right dock — independent of html[dir]. */
		border-inline-start: 1px solid rgb(235 196 94 / 28%);
		border-left: 1px solid rgb(235 196 94 / 28%);
		inset-inline-end: auto;
		left: auto;
		right: 0;
		transform: translate3d(100%, 0, 0);
		visibility: hidden;
	}

	header.dp-site-header .dp-site-header__nav.is-open {
		transform: translate3d(0, 0, 0);
		visibility: visible;
	}

	/* Persistent bar control — left of hamburger at all mobile widths. */
	.dp-site-header__end .dp-site-header__lang {
		margin-inline-end: 0.15rem;
		max-width: none;
		position: static;
	}

	.dp-site-header__end .dp-lang-chip__panel {
		min-width: min(12.5rem, calc(100vw - 1.5rem));
		right: 0;
	}
}

/*
 * Google Translate free chrome: banner / gadget can sit over the hamburger
 * and flicker while scrolling near the top. Hide non-essential GT UI.
 */
.goog-te-banner-frame,
.goog-te-balloon-frame,
iframe.goog-te-banner-frame,
#goog-gt-tt,
.goog-te-spinner-pos,
.goog-te-menu-frame,
.gt_float_switcher,
#gt_float_wrapper {
	display: none !important;
	visibility: hidden !important;
}

/* GT often pads body when the banner loads; reclaim the top edge. */
body {
	top: 0 !important;
	position: static !important;
}

body > .skiptranslate,
.skiptranslate iframe {
	display: none !important;
	height: 0 !important;
	max-height: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	width: 0 !important;
}
