/**
 * Bharati Language Switcher — styles.
 * Brand tokens match the theme: ink #293330 · gold #e9a06b · goldl #f3d0af
 * leaf #5faea5 · paper #f8faf8 · parch #f4f7f4 · line #e5eae6 · mist #66716d
 */

:root {
	--bh-l10n-ink: #293330;
	--bh-l10n-gold: #e9a06b;
	--bh-l10n-goldl: #f3d0af;
	--bh-l10n-leaf: #2a9d8f;
	--bh-l10n-paper: #f8faf8;
	--bh-l10n-parch: #f4f7f4;
	--bh-l10n-line: #e5eae6;
	--bh-l10n-mist: #66716d;
}

/* ------------------------------------------------------------------ */
/* Indic typography — theme already ships Noto Sans/Serif Devanagari.  */
/* Bengali/Odia use system font stacks (Android: Noto, iOS/macOS:      */
/* Bangla Sangam/Kohinoor/Oriya Sangam, Windows: Nirmala UI).          */
/* ------------------------------------------------------------------ */

html[data-bh-lang='hi'] body,
html[data-bh-lang='hi'] input,
html[data-bh-lang='hi'] select,
html[data-bh-lang='hi'] textarea,
html[data-bh-lang='hi'] button {
	font-family: 'Noto Sans Devanagari', 'Nirmala UI', 'Mangal', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

html[data-bh-lang='bn'] body,
html[data-bh-lang='bn'] input,
html[data-bh-lang='bn'] select,
html[data-bh-lang='bn'] textarea,
html[data-bh-lang='bn'] button {
	font-family: 'Noto Sans Bengali', 'Bangla Sangam MN', 'Nirmala UI', 'Vrinda', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

html[data-bh-lang='or'] body,
html[data-bh-lang='or'] input,
html[data-bh-lang='or'] select,
html[data-bh-lang='or'] textarea,
html[data-bh-lang='or'] button {
	font-family: 'Noto Sans Oriya', 'Oriya Sangam MN', 'Nirmala UI', 'Kalinga', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* Indic scripts need breathing room: no forced tracking, relaxed leading. */
html[data-bh-lang='hi'] body,
html[data-bh-lang='bn'] body,
html[data-bh-lang='or'] body {
	letter-spacing: 0 !important;
	line-height: 1.55;
}

/* Keep long Indic words inside chips/pills/badges instead of clipping. */
html[data-bh-lang='hi'] .whitespace-nowrap,
html[data-bh-lang='bn'] .whitespace-nowrap,
html[data-bh-lang='or'] .whitespace-nowrap,
html[data-bh-lang='hi'] [class*='truncate'],
html[data-bh-lang='bn'] [class*='truncate'],
html[data-bh-lang='or'] [class*='truncate'] {
	white-space: normal;
	overflow-wrap: anywhere;
}

/* ------------------------------------------------------------------ */
/* Switcher pill                                                       */
/* ------------------------------------------------------------------ */

.bh-l10n {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	z-index: 60;
	-webkit-tap-highlight-color: transparent;
}

.bh-l10n--fixed {
	position: fixed;
	top: calc(14px + env(safe-area-inset-top, 0px));
	right: 14px;
	z-index: 999;
}

.bh-l10n__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 11px;
	border-radius: 999px;
	border: 1px solid var(--bh-l10n-line);
	background: var(--bh-l10n-parch);
	color: var(--bh-l10n-ink);
	font: 600 12.5px/1 'Karla', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Oriya', system-ui, sans-serif;
	letter-spacing: 0;
	cursor: pointer;
	transition: border-color .18s ease, background-color .18s ease, transform .12s ease;
}

.bh-l10n__btn:hover { border-color: var(--bh-l10n-gold); background: #fff; }
.bh-l10n__btn:active { transform: scale(.96); }

.bh-l10n__btn:focus-visible {
	outline: 2px solid var(--bh-l10n-gold);
	outline-offset: 2px;
}

.bh-l10n__btn > svg:first-child {
	width: 15px;
	height: 15px;
	flex: 0 0 auto;
	color: var(--bh-l10n-leaf);
}

.bh-l10n__label { max-width: 9.5em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.bh-l10n__chev { width: 10px; height: 10px; opacity: .55; transition: transform .18s ease; }

.bh-l10n__btn[aria-expanded='true'] .bh-l10n__chev { transform: rotate(180deg); }

/* ------------------------------------------------------------------ */
/* Popover (desktop) / bottom sheet (mobile)                           */
/* ------------------------------------------------------------------ */

.bh-l10n__pop {
	box-sizing: border-box;
	position: fixed;
	top: calc(100% + 8px);
	right: 0;
	min-width: 216px;
	padding: 8px;
	border-radius: 16px;
	border: 1px solid var(--bh-l10n-line);
	background: #fff;
	box-shadow: 0 18px 44px -18px rgba(41, 51, 48, .28), 0 4px 14px -6px rgba(41, 51, 48, .12);
	z-index: 2000;
	max-height: calc(100dvh - 24px);
	overflow-y: auto;
}

.bh-l10n__head {
	margin: 2px 8px 8px;
	font: 700 10.5px/1.2 'Karla', system-ui, sans-serif;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--bh-l10n-mist);
}

.bh-l10n__opt {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	min-height: 44px;                       /* touch target */
	padding: 0 12px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--bh-l10n-ink);
	font: 500 14px/1.3 'Karla', 'Noto Sans Devanagari', 'Noto Sans Bengali', 'Noto Sans Oriya', system-ui, sans-serif;
	text-align: left;
	cursor: pointer;
	transition: background-color .15s ease;
}

.bh-l10n__opt:hover { background: var(--bh-l10n-parch); }
.bh-l10n__opt:focus-visible { outline: 2px solid var(--bh-l10n-gold); outline-offset: -2px; }
.bh-l10n__opt.is-active { font-weight: 700; background: var(--bh-l10n-parch); }

.bh-l10n__check {
	display: inline-flex;
	width: 16px;
	height: 16px;
	color: var(--bh-l10n-gold);
	opacity: 0;
	flex: 0 0 auto;
}

.bh-l10n__opt.is-active .bh-l10n__check { opacity: 1; }

/* Mobile: bottom sheet, safe-area aware. */
@media (max-width: 767px) {
	.bh-l10n__pop {
		position: fixed;
		left: 0;
		right: 0;
		top: auto;
		bottom: 0;
		min-width: 0;
		width: 100%;
		padding: 12px 14px calc(14px + env(safe-area-inset-bottom, 0px));
		border-radius: 20px 20px 0 0;
		box-shadow: 0 -18px 44px -18px rgba(41, 51, 48, .32);
	}
	.bh-l10n__head { margin: 2px 4px 10px; }
	.bh-l10n__opt { min-height: 48px; border-radius: 12px; }
}

/* Screen-reader-only live region */
.bh-l10n__sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
	.bh-l10n__btn, .bh-l10n__chev, .bh-l10n__opt { transition: none; }
}

/* Keep the complete cart table reachable without widening the page/selector. */
.woocommerce .woocommerce-cart-form { max-width:100%; overflow-x:auto; }
