/* Tempus Belli Blocks : sélecteur de langue (bloc, shortcode, bouton flottant). Indépendant de style.css. */

/* ---------- Sélecteur ---------- */
/* Le sélecteur est compact : on annule la grande marge verticale commune aux blocs (.tbb) et le « stretch » dans les grilles du thème. */
.tbb-lg-wrap { display: flex; width: 100%; box-sizing: border-box; }
.tbb.tbb-lg-wrap { margin-block: 0; align-self: flex-start; height: auto; min-height: 0; padding: 0; }
.tbb-lg-wrap .tbb-lg { align-self: center; }
.tbb-lg-wrap--center { justify-content: center; }
.tbb-lg-wrap--right { justify-content: flex-end; }
.tbb-lg { --_c: var(--lg-c, currentColor); --_a: var(--lg-a, #c4161c); position: relative; display: inline-flex; align-items: center; gap: 10px; font-size: .9rem; line-height: 1.2; }
.tbb-lg__label { opacity: .75; }
.tbb-lg__list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: var(--lg-gap, 8px); }
.tbb-lg--column .tbb-lg__list { flex-direction: column; }
.tbb-lg__list li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.tbb-lg .tbb-lg__item, .tbb-lg .tbb-lg__cur { display: inline-flex; align-items: center; gap: 8px; padding: 3px; margin: 0; border: 2px solid transparent; border-radius: 6px; background: var(--lg-bg, transparent); color: var(--_c) !important; text-decoration: none !important; cursor: pointer; font: inherit; box-shadow: none; transition: transform .2s ease, border-color .2s ease, opacity .2s ease; }
.tbb-lg--names .tbb-lg__item, .tbb-lg--flags-names .tbb-lg__item, .tbb-lg--dropdown .tbb-lg__item { padding: 4px 10px 4px 6px; }
.tbb-lg--names .tbb-lg__item { padding: 4px 10px; }
.tbb-lg .tbb-lg__item { opacity: .78; }
/* Drapeaux seuls : collés les uns aux autres ; la langue active est marquée par un trait dessous. */
.tbb-lg--flags .tbb-lg__list { gap: var(--lg-gap, 3px); }
.tbb-lg--flags .tbb-lg__item { padding: 0 0 3px; border-width: 0 0 2px; border-radius: 0; gap: 0; }
.tbb-lg--flags .tbb-lg__item:hover, .tbb-lg--flags .tbb-lg__item:focus-visible { transform: none; }
.tbb-lg .tbb-lg__item:hover, .tbb-lg .tbb-lg__item:focus-visible { opacity: 1; transform: translateY(-2px); }
.tbb-lg .tbb-lg__item.is-active { opacity: 1; border-color: var(--_a); }
.tbb-lg__flag { display: block; width: var(--lg-size, 24px); height: auto; max-width: none; margin: 0; object-fit: cover; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); }
.tbb-lg--rect .tbb-lg__flag { border-radius: 2px; }
.tbb-lg--rounded .tbb-lg__flag { border-radius: 6px; }
.tbb-lg--round .tbb-lg__flag { border-radius: 50%; width: var(--lg-size, 24px); height: var(--lg-size, 24px); }
.tbb-lg--round .tbb-lg__item, .tbb-lg--round .tbb-lg__cur { border-radius: 999px; }
.tbb-lg .tbb-lg__name { white-space: nowrap; }

/* Menu déroulant */
.tbb-lg--dropdown { display: inline-block; }
.tbb-lg__cur i { font-style: normal; font-size: .75em; opacity: .7; margin-left: 2px; }
.tbb-lg--dropdown .tbb-lg__cur { border-color: rgba(127, 127, 127, .35); padding: 5px 10px 5px 6px; }
.tbb-lg--dropdown .tbb-lg__list { position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; min-width: 100%; max-height: min(60vh, 420px); overflow-y: auto; flex-direction: column; gap: 2px; padding: 6px !important; border-radius: 10px; background: var(--lg-bg, #fff); box-shadow: 0 14px 36px -10px rgba(10, 12, 20, .4), 0 0 0 1px rgba(127, 127, 127, .2); }
.tbb-lg--dropdown .tbb-lg__list[hidden] { display: none; }
.tbb-lg--dropdown .tbb-lg__item { width: 100%; box-sizing: border-box; opacity: 1; color: #16181d !important; }
.tbb-lg--dropdown .tbb-lg__item:hover { background: rgba(127, 127, 127, .14); transform: none; }

/* ---------- Bouton flottant discret ---------- */
.tbb-lgf { position: fixed; z-index: 9990; opacity: .92; }
.tbb-lgf:hover { opacity: 1; }
.tbb-lgf--bl { left: 14px; bottom: 14px; }
.tbb-lgf--br { right: 14px; bottom: 14px; }
.tbb-lgf--tl { left: 14px; top: 14px; }
.tbb-lgf--tr { right: 14px; top: 14px; }
.tbb-lgf .tbb-lg__cur { background: #fff; color: #16181d !important; box-shadow: 0 6px 18px -6px rgba(10, 12, 20, .45); border-color: rgba(127, 127, 127, .3); }
.tbb-lgf--bl .tbb-lg__list, .tbb-lgf--br .tbb-lg__list { top: auto; bottom: calc(100% + 6px); }
.tbb-lgf--br .tbb-lg__list, .tbb-lgf--tr .tbb-lg__list { left: auto; right: 0; }
.tbb-lgf .tbb-lg__list { background: #fff; }
.tbb-lg-empty { padding: 14px; border: 2px dashed rgba(127, 127, 127, .4); border-radius: 10px; font-size: .9rem; opacity: .8; }

/* ---------- Mode navigateur : on masque l'interface de Google ---------- */
#tbb-gt, .goog-te-banner-frame, .goog-te-balloon-frame, #goog-gt-tt, .goog-tooltip, .skiptranslate > iframe { display: none !important; }
html[data-tbb-translated] body { top: 0 !important; position: static !important; }
.goog-text-highlight { background: none !important; box-shadow: none !important; }
font[style] { vertical-align: inherit; }
