/**
 * Simple Six Languages Translator — sélecteur de langue.
 * Couleurs et arrondi : variables CSS générées depuis les réglages (--sflt-*).
 */
.sflt-switcher {
	--sflt-bg: #ffffff;
	--sflt-text: #0f0f0f;
	--sflt-accent: #d4af37;
	--sflt-border: #e5e5e5;
	--sflt-radius: 10px;
	position: relative;
	display: inline-block;
	font-family: inherit;
	font-size: 15px;
	line-height: 1.2;
	color: var(--sflt-text);
	text-align: start;
	z-index: 50;
}
.sflt-switcher *,
.sflt-switcher *::before,
.sflt-switcher *::after { box-sizing: border-box; }

.sflt-switcher .sflt-menu { list-style: none; margin: 0; padding: 0; }
.sflt-switcher .sflt-menu li { margin: 0; padding: 0; list-style: none; }
.sflt-switcher .sflt-menu li::before,
.sflt-switcher .sflt-menu li::marker { content: none; }

/* Drapeaux */
.sflt-switcher .sflt-flag {
	display: inline-block;
	width: 22px;
	height: 15px;
	object-fit: cover;
	border-radius: 3px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
	flex: 0 0 auto;
	margin: 0;
	vertical-align: middle;
}
.sflt-switcher .sflt-name { white-space: nowrap; }
.sflt-switcher .sflt-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Options (communes) */
.sflt-switcher .sflt-option {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 8px 12px;
	color: var(--sflt-text);
	text-decoration: none !important;
	border-radius: max(calc(var(--sflt-radius) - 4px), 0px);
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
	box-shadow: none;
}
.sflt-switcher .sflt-option:hover,
.sflt-switcher .sflt-option:focus-visible {
	background: rgba(212, 175, 55, .14);
	background: color-mix(in srgb, var(--sflt-accent) 16%, transparent);
	color: var(--sflt-text);
	outline: none;
}
.sflt-switcher .sflt-option.is-active { font-weight: 600; }

/* ---------- Style : menu déroulant ---------- */
.sflt-style-dropdown .sflt-toggle {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 9px 14px;
	font: inherit;
	color: var(--sflt-text);
	background: var(--sflt-bg);
	border: 1px solid var(--sflt-border);
	border-radius: var(--sflt-radius);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
	cursor: pointer;
	line-height: 1.2;
	min-height: 0;
	text-transform: none;
	letter-spacing: normal;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.sflt-style-dropdown .sflt-toggle:hover,
.sflt-style-dropdown .sflt-toggle:focus-visible,
.sflt-style-dropdown.is-open .sflt-toggle {
	border-color: var(--sflt-accent);
	box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
	outline: none;
	background: var(--sflt-bg);
	color: var(--sflt-text);
}
.sflt-style-dropdown .sflt-current { display: inline-flex; align-items: center; gap: 9px; }
.sflt-style-dropdown .sflt-caret { transition: transform .2s ease; opacity: .7; }
.sflt-style-dropdown.is-open .sflt-caret { transform: rotate(180deg); }

.sflt-style-dropdown .sflt-menu {
	position: absolute;
	top: calc(100% + 6px);
	inset-inline-start: 0;
	min-width: 100%;
	padding: 6px;
	background: var(--sflt-bg);
	border: 1px solid var(--sflt-border);
	border-radius: var(--sflt-radius);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
}
.sflt-style-dropdown.is-open .sflt-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .15s ease, transform .15s ease;
}
.sflt-style-dropdown .sflt-option.is-active {
	box-shadow: inset 3px 0 0 var(--sflt-accent);
}

/* ---------- Style : boutons en ligne ---------- */
.sflt-style-pills .sflt-menu,
.sflt-style-flags .sflt-menu {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}
.sflt-style-pills .sflt-option {
	background: var(--sflt-bg);
	border: 1px solid var(--sflt-border);
	border-radius: var(--sflt-radius);
	padding: 7px 12px;
}
.sflt-style-pills .sflt-option.is-active,
.sflt-style-pills .sflt-option.is-active:hover {
	background: var(--sflt-accent);
	border-color: var(--sflt-accent);
	color: var(--sflt-text);
}

/* ---------- Style : drapeaux seuls ---------- */
.sflt-style-flags .sflt-option {
	padding: 5px;
	border: 2px solid transparent;
	border-radius: var(--sflt-radius);
}
.sflt-style-flags .sflt-flag { width: 28px; height: 19px; }
.sflt-style-flags .sflt-option.is-active { border-color: var(--sflt-accent); }

/* ---------- Positions ---------- */
.sflt-floating {
	position: fixed;
	z-index: 99990;
	max-width: calc(100vw - 24px);
}
.sflt-floating.sflt-style-pills,
.sflt-floating.sflt-style-flags {
	background: var(--sflt-bg);
	border: 1px solid var(--sflt-border);
	border-radius: calc(var(--sflt-radius) + 4px);
	padding: 6px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .12);
}
.sflt-pos-bottom-right { right: 20px; bottom: 20px; }
.sflt-pos-bottom-left { left: 20px; bottom: 20px; }
.sflt-pos-top-right { right: 20px; top: 20px; }
.sflt-pos-top-left { left: 20px; top: 20px; }
.admin-bar .sflt-pos-top-right,
.admin-bar .sflt-pos-top-left { top: 52px; }
/* En bas : la liste s'ouvre vers le haut. */
.sflt-pos-bottom-right.sflt-style-dropdown .sflt-menu,
.sflt-pos-bottom-left.sflt-style-dropdown .sflt-menu { top: auto; bottom: calc(100% + 6px); transform: translateY(4px); }
.sflt-pos-bottom-right.sflt-style-dropdown.is-open .sflt-menu,
.sflt-pos-bottom-left.sflt-style-dropdown.is-open .sflt-menu { transform: none; }
.sflt-pos-bottom-right .sflt-menu,
.sflt-pos-top-right .sflt-menu { inset-inline-start: auto; right: 0; }

/* Dans un menu de navigation */
.sflt-menu-item { display: flex; align-items: center; }
.sflt-in-menu { font-size: inherit; }
.sflt-in-menu .sflt-menu { right: 0; inset-inline-start: auto; }

/* Alignement du bloc */
.wp-block-sflt-language-switcher.sflt-align-center { text-align: center; }
.wp-block-sflt-language-switcher.sflt-align-right { text-align: right; }

/*
 * Mobile et tablette (sous 922 px, seuil du menu mobile d'Astra et de la plupart des thèmes) :
 * position dédiée (sflt-mpos-*), pour ne jamais masquer le bouton du menu en haut d'écran.
 */
@media (max-width: 921px) {
	.sflt-floating[class*="sflt-mpos-"] { top: auto; right: auto; bottom: auto; left: auto; }
	.sflt-floating.sflt-mpos-bottom-right { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
	.sflt-floating.sflt-mpos-bottom-left { left: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); }
	.sflt-floating.sflt-mpos-top-right { right: 12px; top: 12px; }
	.sflt-floating.sflt-mpos-top-left { left: 12px; top: 12px; }
	.admin-bar .sflt-floating.sflt-mpos-top-right,
	.admin-bar .sflt-floating.sflt-mpos-top-left { top: 58px; }
	.sflt-floating.sflt-mpos-hidden { display: none; }
	/* Sens d'ouverture de la liste selon la position mobile. */
	.sflt-floating.sflt-style-dropdown[class*="sflt-mpos-bottom"] .sflt-menu { top: auto; bottom: calc(100% + 6px); }
	.sflt-floating.sflt-style-dropdown[class*="sflt-mpos-top"] .sflt-menu { top: calc(100% + 6px); bottom: auto; }
	.sflt-floating.sflt-mpos-bottom-right .sflt-menu,
	.sflt-floating.sflt-mpos-top-right .sflt-menu { inset-inline-start: auto; left: auto; right: 0; }
	.sflt-floating.sflt-mpos-bottom-left .sflt-menu,
	.sflt-floating.sflt-mpos-top-left .sflt-menu { right: auto; left: 0; }
	/* Bouton « retour en haut » d'Astra : remonté pour ne pas être recouvert. */
	body:has(.sflt-mpos-bottom-right) #ast-scroll-top.ast-scroll-to-top-right,
	body:has(.sflt-mpos-bottom-left) #ast-scroll-top.ast-scroll-to-top-left { bottom: 76px; }
}
/* Menu mobile ouvert (Astra, Elementor, thèmes courants) : le sélecteur s'efface. */
body.ast-main-header-nav-open .sflt-floating,
body.ast-popup-nav-open .sflt-floating,
html.ast-off-canvas-active .sflt-floating,
body.elementor-menu-toggle-active .sflt-floating,
body.menu-open .sflt-floating,
body.mobile-menu-open .sflt-floating { opacity: 0; visibility: hidden; pointer-events: none; }

/* ---------- Bulle de suggestion (première visite) ---------- */
.sflt-suggest {
	--sflt-bg: #ffffff;
	--sflt-text: #0f0f0f;
	--sflt-accent: #d4af37;
	--sflt-border: #e5e5e5;
	--sflt-radius: 10px;
	position: fixed;
	left: 50%;
	bottom: 84px;
	z-index: 99991;
	width: max-content;
	max-width: calc(100vw - 24px);
	box-sizing: border-box;
	padding: 12px 14px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	background: var(--sflt-bg);
	color: var(--sflt-text);
	border: 1px solid var(--sflt-border);
	border-radius: calc(var(--sflt-radius) + 4px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .16);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.3;
	opacity: 0;
	transform: translate(-50%, 8px);
	transition: opacity .2s ease, transform .2s ease;
}
.sflt-suggest.is-visible { opacity: 1; transform: translate(-50%, 0); }
.sflt-suggest .sflt-suggest-text { margin: 0; display: flex; align-items: center; gap: 8px; font-weight: 600; }
.sflt-suggest .sflt-flag { width: 22px; height: 15px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
.sflt-suggest .sflt-suggest-actions { display: flex; gap: 8px; }
.sflt-suggest button {
	margin: 0;
	padding: 7px 14px;
	font: inherit;
	font-size: 14px;
	line-height: 1.2;
	border-radius: var(--sflt-radius);
	cursor: pointer;
	border: 1px solid var(--sflt-border);
	background: transparent;
	color: var(--sflt-text);
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
}
.sflt-suggest .sflt-suggest-yes { background: var(--sflt-accent); border-color: var(--sflt-accent); color: #0f0f0f; font-weight: 600; }
.sflt-suggest button:hover { filter: brightness(.96); }
.sflt-suggest button:focus-visible { outline: 2px solid var(--sflt-accent); outline-offset: 2px; }

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

/* ---------- Interface Google Translate masquée ---------- */
#sflt-google,
.sflt-google-holder,
.goog-te-banner-frame,
iframe.skiptranslate,
body > .skiptranslate,
#goog-gt-tt,
.goog-te-balloon-frame,
.goog-tooltip,
.goog-te-spinner-pos,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
.VIpgJd-yAWNEb-L7lbkb { display: none !important; }
html.translated-ltr body,
html.translated-rtl body { top: 0 !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }

/* Barre de progression pendant la traduction. */
html.sflt-busy::before{content:"";position:fixed;inset:0 0 auto 0;height:3px;z-index:2147483000;background:linear-gradient(90deg,transparent,var(--sflt-accent,#2563eb),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:sflt-bar 1s linear infinite;pointer-events:none}
@keyframes sflt-bar{from{background-position:-40% 0}to{background-position:140% 0}}
@media (prefers-reduced-motion:reduce){html.sflt-busy::before{animation:none;background-size:100% 100%;opacity:.6}}
