/* Sélecteur de langue et réglages par langue — généré avec tools/i18n/build.py */

/* Barre du haut : « FR ▾ » */
.tv-lang { position: relative; color: var(--color-scheme-1--green); font-family: var(--_typography---font-styles--body); }
.tv-lang > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; gap: .4em;
  letter-spacing: .5px; text-transform: uppercase; padding: .35em .2em; border-radius: 2px;
  transition: opacity .2s;
}
.tv-lang > summary::-webkit-details-marker { display: none; }
.tv-lang > summary:hover { opacity: .6; }
.tv-lang > summary:focus-visible { outline: 2px solid var(--color-scheme-1--green); outline-offset: 2px; }
.tv-lang > summary::after {
  content: ""; width: .38em; height: .38em; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-.15em) rotate(45deg); transition: transform .2s;
}
.tv-lang[open] > summary::after { transform: translateY(.1em) rotate(-135deg); }
.tv-lang ul {
  position: absolute; top: calc(100% + .7rem); left: 50%; transform: translateX(-50%); z-index: 1000;
  margin: 0; padding: .35rem; list-style: none; min-width: 9.5rem;
  background: var(--color-scheme-1--light); border: 1px solid rgba(40, 62, 47, .18);
  box-shadow: 0 10px 30px rgba(40, 62, 47, .18); border-radius: 4px;
}
.tv-lang li a {
  display: flex; justify-content: space-between; gap: 1rem; padding: .5rem .7rem; border-radius: 3px;
  color: var(--color-scheme-1--green); text-decoration: none; font-size: .9rem; white-space: nowrap;
}
.tv-lang li a span { opacity: .5; font-size: .75rem; letter-spacing: .5px; }
.tv-lang li a:hover, .tv-lang li a:focus-visible { background: rgba(40, 62, 47, .08); outline: none; }
.tv-lang li a[aria-current="true"] { background: var(--color-scheme-1--green); color: var(--color-scheme-1--light); }

/* Menu plein écran : rangée FR · EN · ES · IT · 한국어 */
.tv-lang-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1.1rem;
  margin: 1.5rem 0 .5rem; font-family: var(--_typography---font-styles--body);
  font-size: .95rem; letter-spacing: .08em; text-transform: uppercase;
}
.tv-lang-row a { color: inherit; text-decoration: none; opacity: .55; padding: .2rem 0; border-bottom: 1px solid transparent; transition: opacity .2s; }
.tv-lang-row a:hover { opacity: 1; }
.tv-lang-row a[aria-current="true"] { opacity: 1; border-bottom-color: currentColor; }
.tv-lang-row a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* Coréen : Montserrat et Forum n'ont pas de hangeul, le navigateur bascule tout seul sur
   la police coréenne du système. On évite seulement de couper les mots en plein milieu. */
html[lang="ko"] body { word-break: keep-all; overflow-wrap: anywhere; }
