/**
 * idiomatik – CSS de base du sélecteur de langue.
 *
 * Entièrement piloté par des variables `--idmtk-*` (avec valeurs de repli =
 * preset « Défaut »), générées par Switcher_Design::to_css() et injectées
 * juste après ce fichier. Le CSS perso des réglages est injecté en dernier
 * (dernier mot).
 */

.idmtk-switcher {
	display: inline-block;
	font-family: var(--idmtk-font-family, inherit);
	font-size: var(--idmtk-font-size, 14px);
	font-weight: var(--idmtk-font-weight, 400);
	text-transform: var(--idmtk-transform, none);
	letter-spacing: var(--idmtk-tracking, 0);
	line-height: 1;
}

.idmtk-switcher__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.idmtk-switcher__item {
	margin: 0;
}

.idmtk-switcher__link {
	display: inline-flex;
	align-items: center;
	gap: var(--idmtk-gap, 6px);
	padding: var(--idmtk-pad-y, 7px) var(--idmtk-pad-x, 11px);
	text-decoration: none;
	color: var(--idmtk-text, #1d2327);
	border-radius: var(--idmtk-radius, 6px);
	transition: background-color 0.15s ease, color 0.15s ease;
}

.idmtk-switcher__link:hover,
.idmtk-switcher__link:focus-visible {
	background: var(--idmtk-bg-hover, rgba(0, 0, 0, 0.05));
	color: var(--idmtk-text-hover, #000);
}

.idmtk-switcher__link:focus-visible,
.idmtk-switcher__button:focus-visible {
	outline: 2px solid var(--idmtk-text, #1d2327);
	outline-offset: 2px;
}

.idmtk-switcher__link--current {
	font-weight: 600;
}

.idmtk-switcher__flag {
	display: inline-block;
	width: var(--idmtk-flag-w, 20px);
	height: var(--idmtk-flag-h, 14px);
	border-radius: var(--idmtk-flag-radius, 2px);
	object-fit: cover;
}

/* --- Liste inline (côte à côte) ---------------------------------------- */

.idmtk-switcher--inline .idmtk-switcher__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--idmtk-gap, 6px);
}

.idmtk-switcher--inline .idmtk-switcher__item--current .idmtk-switcher__link {
	pointer-events: none;
	opacity: 0.6;
}

/* --- Dropdown ----------------------------------------------------------- */

.idmtk-switcher--dropdown {
	position: relative;
}

.idmtk-switcher__button {
	display: inline-flex;
	align-items: center;
	gap: var(--idmtk-gap, 6px);
	padding: var(--idmtk-pad-y, 7px) var(--idmtk-pad-x, 11px);
	font: inherit;
	font-weight: var(--idmtk-font-weight, 400);
	text-transform: var(--idmtk-transform, none);
	letter-spacing: var(--idmtk-tracking, 0);
	color: var(--idmtk-text, #1d2327);
	background: var(--idmtk-bg, transparent);
	border: var(--idmtk-border-width, 1px) solid var(--idmtk-border-color, rgba(0, 0, 0, 0.15));
	border-radius: var(--idmtk-radius, 6px);
	cursor: pointer;
	-webkit-backdrop-filter: blur(var(--idmtk-blur, 0px));
	backdrop-filter: blur(var(--idmtk-blur, 0px));
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.idmtk-switcher__button:hover,
.idmtk-switcher__button:focus-visible {
	background: var(--idmtk-bg-hover, rgba(0, 0, 0, 0.04));
	color: var(--idmtk-text-hover, #000);
}

.idmtk-switcher__caret {
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	transition: transform 0.15s ease;
}

.idmtk-switcher__button[aria-expanded="true"] .idmtk-switcher__caret {
	transform: rotate(180deg);
}

.idmtk-switcher--dropdown .idmtk-switcher__list {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 100%;
	padding: 4px;
	background: var(--idmtk-panel-bg, #fff);
	border: 1px solid var(--idmtk-border-color, rgba(0, 0, 0, 0.12));
	border-radius: var(--idmtk-radius, 6px);
	box-shadow: var(--idmtk-shadow, 0 4px 12px rgba(0, 0, 0, 0.08));
	z-index: 1000;
	-webkit-backdrop-filter: blur(var(--idmtk-blur, 0px));
	backdrop-filter: blur(var(--idmtk-blur, 0px));
}

.idmtk-switcher--dropdown .idmtk-switcher__list:not([hidden]) {
	animation: var(--idmtk-anim-name, idmtk-fade) var(--idmtk-anim-duration, 180ms) var(--idmtk-anim-ease, ease-out);
}

.idmtk-switcher--dropdown .idmtk-switcher__link {
	display: flex;
	white-space: nowrap;
}

@keyframes idmtk-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes idmtk-slide {
	from { opacity: 0; transform: translateY(-6px); }
	to { opacity: 1; transform: none; }
}

@keyframes idmtk-scale {
	from { opacity: 0; transform: scale(0.96); }
	to { opacity: 1; transform: none; }
}

/* --- Flottant ----------------------------------------------------------- */

.idmtk-floating {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: 9999;
}

.idmtk-floating .idmtk-switcher__list {
	top: auto;
	bottom: calc(100% + 6px);
	right: 0;
	left: auto;
}

.idmtk-floating .idmtk-switcher__button {
	background: var(--idmtk-bg, #fff);
	box-shadow: var(--idmtk-shadow, 0 2px 8px rgba(0, 0, 0, 0.12));
}

/* --- Intégration menu --------------------------------------------------- */

.idmtk-menu-item .idmtk-switcher {
	vertical-align: middle;
}

/* --- Mouvement réduit --------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.idmtk-switcher,
	.idmtk-switcher * {
		animation: none !important;
		transition: none !important;
	}
}
