/* =========================================================
   Language UI (flags + dropdown)
   ========================================================= */

/* -------- Shared helpers (scoped) -------- */
.nova-lang-flags,
.nova-lang-flag,
.nova-lang-dropdown .nova-lang-toggle,
.nova-lang-dropdown .dropdown-item {
	display: inline-flex;
	align-items: center;
}

.nova-lang-flags,
.nova-lang-dropdown .nova-lang-toggle {
	gap: 8px;
}

.nova-lang-dropdown .dropdown-item {
	gap: 10px;
}

/* Shared flag image look (both systems) */
.nova-lang-flag img,
.nova-lang-flag-img {
	border-radius: 2px;
	height: auto;
}

/* -------- Inline flags switcher -------- */
.nova-lang-flag {
	opacity: 0.55;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.nova-lang-flag img {
	display: block;
	width: 24px;
}

.nova-lang-flag:hover {
	opacity: 1;
	transform: translateY(-1px);
}

.nova-lang-flag.is-active {
	opacity: 1;
	cursor: default;
}

.nova-lang-flag.is-active img {
	outline: 2px solid #0d6efd; /* bootstrap primary */
	outline-offset: 2px;
}

/* Optional legacy select (if still used somewhere) */
.nova-lang-select {
	font-size: 12px;
	padding: 2px 6px;
}

/* -------- Dropdown (Bootstrap) -------- */
.nova-lang-dropdown {
	position: relative; /* anchor for absolute menu */
	z-index: 1050;      /* above sticky navbar (1020) */
}

.nova-lang-dropdown .nova-lang-toggle {
	line-height: 1;
	padding-top: 2px;
	padding-bottom: 2px;
}

.nova-lang-dropdown .nova-lang-menu {
	min-width: 180px;
}

/* Ensure it overlays sticky header */
.nova-lang-dropdown .dropdown-menu {
	position: absolute !important;
	top: 100%;
	right: 0;
	z-index: 1060;
}

/* Flag size inside dropdown/button */
.nova-lang-flag-img {
	display: inline-block;
	width: 18px;
	flex: 0 0 auto;
}

.nova-lang-current-label,
.nova-lang-item-label {
	white-space: nowrap;
}

/* Remove border / button chrome only for this switcher */
.nova-lang-toggle,
.nova-lang-toggle:focus,
.nova-lang-toggle:active,
.nova-lang-toggle.show {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Optional: remove Bootstrap caret */
 /* .nova-lang-toggle::after { display: none; } */


 /* =========================================================
   Navbar language switcher (placement à côté de la loupe)
   ========================================================= */

/* On ne veut pas de caret Bootstrap sur nos toggles */
.nova-lang-toggle--nav::after,
.nova-lang-toggle--mobile::after{
  display: none !important;
}

/* Mobile : rendu exact "FR |" */
.nova-lang-toggle--mobile{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
}

.nova-lang-mobile-sep{
  opacity: .75;
  margin-left: 2px;
}

/* Le dropdown doit rester au-dessus du header sticky */
.nova-menu .nova-lang-dropdown{
  z-index: 1065;
}

/* =========================================================
   Section Langue dans le tiroir burger (mobile offcanvas)
   Ajout : le switcher est déplacé ici quand le logo est large
   ========================================================= */

/*
 * En-tête "Langue" : reprend le style de .nova-mobile-menu-section-title
 * mais c'est un <button> → on écrase les styles natifs navigateur
 */
.nova-mobile-lang-header {
  cursor: pointer;
  font-weight: 600;
  text-align: left;
  gap: 0;
}

/* Chevron : tourne 180° quand le collapse Bootstrap est ouvert (aria-expanded="true") */
.nova-mobile-lang-header[aria-expanded="true"] .nova-mobile-lang-chevron {
  transform: rotate(180deg);
}

.nova-mobile-lang-chevron {
  transition: transform 0.25s ease;
  flex-shrink: 0;
}

/*
 * Lien de langue dans le tiroir : drapeau + libellé alignés en flex
 * Padding identique aux autres items du menu mobile
 */
.nova-mobile-lang-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.5rem 0;
  text-decoration: none;
  color: inherit;
  transition: opacity 0.15s ease;
}

.nova-mobile-lang-item:hover {
  opacity: 0.75;
}

/* Langue active : police grasse + contour sur le drapeau */
.nova-mobile-lang-item.is-active {
  font-weight: 600;
}

.nova-mobile-lang-item.is-active .nova-lang-flag-img {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Langue active affichée directement dans l'en-tête (drapeau + code) */
.nova-mobile-lang-current {
  font-weight: 400;  /* plus léger que le titre "Langue" pour créer une hiérarchie */
  opacity: 0.85;
}

.nova-mobile-lang-current-code {
  font-size: 0.8em;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}