/**
 * Bannière de consentement Ice Tag.
 *
 * S'applique à NOTRE balisage (consent_banner.tpl), pas à celui de
 * tarteaucitron : chaque sélecteur vise un élément qu'on a écrit. La version
 * précédente surchargeait le bandeau natif de la librairie et cassait sa mise
 * en page, faute de connaître sa structure interne.
 *
 * ⚠️ PARITÉ DES TROIS BOUTONS — exigence CNIL / APD
 * Même largeur, même hauteur, même graisse, même hauteur de frappe. Seul le
 * remplissage distingue « Ok pour moi ». La couleur n'entre pas dans le
 * critère de conformité ; la taille et le nombre de clics, si.
 *
 * @author  Iceprod
 * @license MIT (interne)
 */

:root {
    --icetag-accent: #e65021;
    --icetag-accent-dark: #c94015;
    --icetag-bg: #ffffff;
    --icetag-text: #1f2328;
    --icetag-muted: #6b7280;
    --icetag-border: #dfe3e8;
}

/* Le bandeau natif de tarteaucitron n'est jamais affiché : on garde son
   moteur et son panneau détaillé, pas son interface d'accueil. */
#tarteaucitronAlertBig,
#tarteaucitronAlertSmall {
    display: none !important;
}

/* ─────────────────────────────────────────────────────────────
   La carte
   ───────────────────────────────────────────────────────────── */

/* ── Voile d'arrière-plan ─────────────────────────────────────
   Bloque l'interaction avec le site jusqu'à ce qu'un choix soit fait.

   ⚠️ CE QUI REND CE BLOCAGE LICITE
   Forcer un CHOIX est permis ; forcer une ACCEPTATION ne l'est pas. Les trois
   boutons gardent donc strictement le même gabarit et restent accessibles en
   un clic depuis cet écran. Ne jamais déplacer « Non merci » derrière le
   panneau détaillé, et ne jamais conditionner l'accès au site à l'acceptation
   — ça, c'est un cookie wall, et c'est autre chose. */
.icetag-backdrop {
    position: fixed;
    inset: 0;
    z-index: 2147482999;        /* juste sous la carte */

    background: rgba(11, 14, 18, .45);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);

    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
}

html.icetag-consent-open .icetag-backdrop {
    opacity: 1;
    pointer-events: auto;       /* absorbe les clics destinés au site */
}

/* Sans backdrop-filter (Firefox ancien, navigateurs embarqués), le flou
   n'existe pas : on compense par un voile plus dense, sinon le texte du site
   reste lisible derrière et la carte ne se détache plus. */
@supports not ((backdrop-filter: blur(4px)) or (-webkit-backdrop-filter: blur(4px))) {
    .icetag-backdrop { background: rgba(11, 14, 18, .62); }
}

/* Empêche le défilement du site derrière la fenêtre. */
html.icetag-consent-open,
html.icetag-consent-open body {
    overflow: hidden !important;
}

/* ── La carte ─────────────────────────────────────────────────
   Centrée à l'écran. Le décalage vertical de l'animation passe par `scale`
   plutôt que par `translate`, qui est déjà occupé par le centrage. */
.icetag-banner {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 2147483000;

    width: 26rem;
    max-width: calc(100vw - 2.5rem);
    max-height: calc(100vh - 3rem);
    overflow-y: auto;
    box-sizing: border-box;

    background: var(--icetag-bg);
    color: var(--icetag-text);
    border: 1px solid var(--icetag-border);
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .32);

    padding: 1.5rem 1.5rem 1.35rem;
    font-size: .875rem;
    line-height: 1.5;
    text-align: left;

    /* Masquée jusqu'à ce que le JS décide de l'afficher : pas de clignotement
       sur les pages servies depuis le cache. */
    opacity: 0;
    transform: translate(-50%, -50%) scale(.97);
    transition: opacity .25s ease, transform .25s ease;
}

.icetag-banner[hidden] { display: none; }

.icetag-banner.is-visible {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.icetag-banner:focus { outline: none; }

@media (prefers-reduced-motion: reduce) {
    .icetag-banner,
    .icetag-backdrop { transition: none; }
    .icetag-banner { transform: translate(-50%, -50%); }
    .icetag-banner.is-visible { transform: translate(-50%, -50%); }
}

/* Liseré de marque */
.icetag-banner::before {
    content: '';
    display: block;
    width: 2.75rem;
    height: 4px;
    border-radius: 4px;
    background: var(--icetag-accent);
    margin-bottom: .9rem;
}

.icetag-banner__text {
    margin: 0 0 .75rem;
    font-size: .875rem;
    line-height: 1.5;
    color: var(--icetag-text);
}

.icetag-banner__link {
    display: inline-block;
    margin: 0 0 1rem;
    font-size: .8rem;
    color: var(--icetag-muted);
    text-decoration: underline;
}
.icetag-banner__link:hover { color: var(--icetag-text); }

/* ─────────────────────────────────────────────────────────────
   Les trois boutons
   ───────────────────────────────────────────────────────────── */

.icetag-banner__actions {
    display: flex;
    gap: .5rem;
    align-items: stretch;
}

.icetag-btn {
    /* Répartition strictement égale : aucun bouton plus atteignable qu'un autre */
    flex: 1 1 0;
    min-width: 0;
    min-height: 2.75rem;      /* 44 px, cible tactile recommandée */

    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin: 0;
    padding: .6rem .4rem;
    border: 1.5px solid transparent;
    border-radius: 9px;

    font-family: inherit;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    white-space: nowrap;
    cursor: pointer;

    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.icetag-btn--ghost {
    background: var(--icetag-bg);
    color: var(--icetag-text);
    border-color: var(--icetag-border);
}
.icetag-btn--ghost:hover { border-color: var(--icetag-text); }

.icetag-btn--accent {
    background: var(--icetag-accent);
    color: #fff;
    border-color: var(--icetag-accent);
}
.icetag-btn--accent:hover {
    background: var(--icetag-accent-dark);
    border-color: var(--icetag-accent-dark);
}

.icetag-btn:focus-visible {
    outline: 2px solid var(--icetag-accent);
    outline-offset: 2px;
}

/* ─────────────────────────────────────────────────────────────
   Mobile
   ───────────────────────────────────────────────────────────── */

@media (max-width: 36rem) {
    /* Toujours centrée : `left`/`top` et le transform du centrage sont
       conservés, on ne fait que réduire la largeur. */
    .icetag-banner {
        width: calc(100vw - 1.5rem);
        max-width: none;
        max-height: calc(100vh - 2rem);
        padding: 1.25rem 1.15rem 1.15rem;
        border-radius: 14px;
    }
    .icetag-btn {
        font-size: .78125rem;
        padding: .65rem .3rem;
    }
}

/* Écrans très étroits : trois boutons côte à côte deviennent illisibles.
   On empile — chacun pleine largeur, donc personne n'est désavantagé. */
@media (max-width: 22.5rem) {
    .icetag-banner__actions { flex-direction: column; }
    .icetag-btn { flex: 1 1 auto; width: 100%; }
}

/* ═════════════════════════════════════════════════════════════
   PANNEAU DÉTAILLÉ (tarteaucitron)
   ═════════════════════════════════════════════════════════════

   ⚠️⚠️ TROIS RÈGLES À NE JAMAIS ENFREINDRE ICI ⚠️⚠️

   1. NE PAS poser `display` sur #tarteaucitron ni #tarteaucitronBack.
      La librairie les ouvre en écrivant `style="display:block"` en ligne. Une
      déclaration `display: … !important` de notre côté l'emporterait sur le
      style en ligne ET sur le `display:none` de repos : le panneau resterait
      ouvert en permanence sur toutes les pages.

   2. NE PAS poser `display` sur .tarteaucitronDetails.
      Le repli des catégories passe par `style.display` (userInterface.toggle).

   3. NE PAS viser .tarteaucitronLine sans restriction.
      L'en-tête du panneau (#tarteaucitronMainLineOffset) porte AUSSI cette
      classe, alors qu'il contient le titre, le texte d'introduction, le lien
      de politique et les boutons globaux. Lui appliquer la mise en page des
      lignes de service met ces quatre blocs côte à côte — c'est ce qui a cassé
      le panneau le 29/07. Et #tarteaucitronNoServicesTitle la porte également,
      alors qu'il est masqué en JS.
      → On cible `ul[id^="tarteaucitronServices_"] > li.tarteaucitronLine`,
        qui ne contient que de vraies lignes de service.

   STRUCTURE RÉELLE (relevée dans tarteaucitron.js, pas devinée)
     button#tarteaucitronBack
     div#tarteaucitron[role=dialog]
       button#tarteaucitronClosePanel
       div#tarteaucitronServices
         div#tarteaucitronMainLineOffset.tarteaucitronLine.tarteaucitronMainLine
           span.tarteaucitronH1
           div#tarteaucitronInfo        (texte + <br><br> + bouton politique)
           div.tarteaucitronName        (« Préférences pour tous les services »)
           div.tarteaucitronAsk#tarteaucitronScrollbarAdjust  (2 boutons)
         div.tarteaucitronBorder
           div.clear
           ul
             li#tarteaucitronServicesTitle_<cat>
               div.tarteaucitronTitle > button.catToggleBtn
               div#tarteaucitronDetails<cat>.tarteaucitronDetails
               ul#tarteaucitronServices_<cat> > li.tarteaucitronLine
             li#tarteaucitronNoServicesTitle.tarteaucitronLine

   POURQUOI TANT DE `!important`
   tarteaucitron injecte sa feuille par JavaScript à l'initialisation : elle
   arrive dans le <head> APRÈS notre <link> et l'emporte à spécificité égale.
   Plusieurs de ses règles sont elles-mêmes en `!important`. L'alternative,
   `useExternalCss: true`, supprimerait leur feuille — mais ses 1 368 lignes
   portent aussi du comportement (.tarteaucitronHidden, chevrons de repli,
   états aria-pressed), qu'il faudrait alors réécrire entièrement.
   ───────────────────────────────────────────────────────────── */

/* Leur reset impose box-sizing: initial et une taille en pixels fixe, ce qui
   fait déborder tout ce qui est exprimé en rem. */
#tarteaucitronRoot * {
    box-sizing: border-box !important;
}

#tarteaucitronRoot,
#tarteaucitronRoot * {
    font-family: inherit !important;
}

/* ── Voile ────────────────────────────────────────────────────
   Le leur est blanc à 70 % : sur un site clair, le panneau ne se détache pas
   du fond. (Pas de `display` ici — voir règle 1.) */
#tarteaucitronRoot #tarteaucitronBack {
    background: #0b0e12 !important;
    opacity: .5 !important;
    border: 0 !important;
}

/* ── La fenêtre ───────────────────────────────────────────────
   860 px fixes centrés par marge négative : trop large pour être lisible, et
   cassé dès que la fenêtre est plus étroite. */
#tarteaucitronRoot #tarteaucitron {
    width: 34rem !important;
    max-width: calc(100vw - 2rem) !important;
    max-height: none !important;   /* la hauteur vient des deux blocs internes */

    left: 50% !important;
    top: 50% !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;

    padding: 0 !important;
    background: var(--icetag-bg) !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, .28) !important;
}

/* ── Bouton de fermeture ──────────────────────────────────────
   Le leur est un onglet blanc de 70 px portant le mot « Fermer », collé au
   bord supérieur hors du cadre. On en fait une croix ronde dans le coin. */
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    top: .75rem !important;
    right: .75rem !important;
    width: 2rem !important;
    height: 2rem !important;
    padding: 0 !important;

    background: transparent !important;
    color: var(--icetag-muted) !important;
    border: 1px solid var(--icetag-border) !important;
    border-radius: 999px !important;

    font-size: 0 !important;       /* masque le libellé « Fermer » */
    overflow: hidden !important;
    cursor: pointer !important;
    z-index: 2 !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel::before {
    content: '\2715';              /* ✕ */
    font-size: .875rem;
    line-height: 2rem;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:hover {
    background: var(--icetag-border) !important;
    color: var(--icetag-text) !important;
}

/* ── En-tête ──────────────────────────────────────────────────
   Colonnes qui se replient : titre et texte prennent toute la largeur, le
   libellé et les deux boutons partagent la dernière ligne. */
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .25rem .75rem !important;

    margin: 0 !important;
    padding: 1.5rem 1.5rem 1.25rem !important;
    background: var(--icetag-bg) !important;
    border: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    overflow: visible !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH1 {
    flex: 1 1 100% !important;
    display: block !important;
    margin: 0 0 .75rem !important;
    padding-right: 2.5rem !important;   /* place pour la croix */
    font-size: 1.0625rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--icetag-text) !important;
    text-align: left !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
    flex: 1 1 100% !important;
    display: block !important;
    width: auto !important;
    margin: 0 0 1.25rem !important;
    padding: 0 !important;

    background: none !important;
    border: 0 !important;
    font-size: .8125rem !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    color: var(--icetag-muted) !important;
    text-align: left !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p {
    margin: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
}
/* Deux <br> précèdent le lien de politique : deux lignes de vide. */
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br {
    display: none !important;
}

/* Leur mise en forme en fait un bouton pleine largeur qui concurrence
   visuellement les vrais choix. */
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
    display: inline-block !important;
    width: auto !important;
    margin: .625rem 0 0 !important;
    padding: 0 !important;

    background: none !important;
    border: 0 !important;
    font-size: .8125rem !important;
    font-weight: 500 !important;
    color: var(--icetag-muted) !important;
    text-decoration: underline !important;
    cursor: pointer !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog:hover {
    color: var(--icetag-text) !important;
}

/* Libellé « Préférences pour tous les services » + ses deux boutons */
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName {
    flex: 1 1 9rem !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk {
    flex: 0 0 auto !important;
    display: flex !important;
    gap: .5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* ── Corps défilant ───────────────────────────────────────────
   Seule cette zone défile : l'en-tête et la croix restent en place. */
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
    background: var(--icetag-bg) !important;
    border: 0 !important;
    border-top: 1px solid var(--icetag-border) !important;
    border-radius: 0 0 16px 16px !important;
    padding: 1rem 1.5rem 1.25rem !important;

    max-height: 50vh !important;
    overflow-y: auto !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#tarteaucitronRoot #tarteaucitron .clear {
    display: none !important;
}

/* ── En-têtes de catégorie ────────────────────────────────────── */

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle {
    margin: 1rem 0 .5rem !important;
    padding: 0 !important;
    background: none !important;
    text-align: left !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle:first-child {
    margin-top: 0 !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle .asCatToggleBtn {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;

    background: none !important;
    border: 0 !important;
    font-size: .6875rem !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color: var(--icetag-muted) !important;
    text-align: left !important;
    cursor: pointer !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button:hover {
    color: var(--icetag-text) !important;
}

/* Description de catégorie. Pas de `display` — voir règle 2. */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDetails {
    width: 100% !important;
    margin: 0 0 .625rem !important;
    padding: 0 !important;

    background: none !important;
    border: 0 !important;
    font-size: .8125rem !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: var(--icetag-muted) !important;
}

/* ── Lignes de service ────────────────────────────────────────
   Sélecteur volontairement restreint aux <li> placés dans une liste de
   services : voir règle 3. */
#tarteaucitronRoot #tarteaucitron ul[id^="tarteaucitronServices_"] > li.tarteaucitronLine {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .75rem !important;

    margin: 0 0 .5rem !important;
    padding: .875rem 1rem !important;
    background: var(--icetag-bg) !important;
    border: 1px solid var(--icetag-border) !important;
    border-left: 3px solid var(--icetag-border) !important;
    border-radius: 10px !important;
    overflow: visible !important;
}

/* État du choix, lisible sans dépendre des glyphes. */
#tarteaucitronRoot #tarteaucitron ul[id^="tarteaucitronServices_"] > li.tarteaucitronIsAllowed {
    border-left-color: #16a34a !important;
}
#tarteaucitronRoot #tarteaucitron ul[id^="tarteaucitronServices_"] > li.tarteaucitronIsDenied {
    border-left-color: #9ca3af !important;
}

#tarteaucitronRoot #tarteaucitron ul[id^="tarteaucitronServices_"] .tarteaucitronName {
    flex: 1 1 10rem !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    text-align: left !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronName .tarteaucitronH2,
#tarteaucitronRoot #tarteaucitron .tarteaucitronName .tarteaucitronH3 {
    display: block !important;
    margin: 0 !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: var(--icetag-text) !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronName a {
    font-size: .75rem !important;
    font-weight: 400 !important;
    color: var(--icetag-muted) !important;
    text-decoration: underline !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronName .tarteaucitronListCookies {
    font-size: .75rem !important;
    color: var(--icetag-muted) !important;
}

#tarteaucitronRoot #tarteaucitron ul[id^="tarteaucitronServices_"] .tarteaucitronAsk {
    flex: 0 0 auto !important;
    display: flex !important;
    gap: .5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

/* ── Boutons Autoriser / Interdire ────────────────────────────
   Jaune #fbd600 d'origine, puis vert et gris posés par nos premières
   surcharges. On aligne sur la bannière : contour neutre au repos, remplissage
   uniquement pour le choix retenu.
   (Pas de `display` : certains de ces boutons sont masqués en JS.) */
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny {
    min-height: 2.25rem !important;
    margin: 0 !important;
    padding: .5rem .9rem !important;

    background: var(--icetag-bg) !important;
    color: var(--icetag-text) !important;
    border: 1.5px solid var(--icetag-border) !important;
    border-radius: 8px !important;

    font-size: .8125rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    opacity: 1 !important;
}

#tarteaucitronRoot .tarteaucitronAllow:hover,
#tarteaucitronRoot .tarteaucitronDeny:hover {
    border-color: var(--icetag-text) !important;
}

/* Le choix actif est rempli : seul repère fiable une fois les glyphes ôtés. */
#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronAllAllowed.tarteaucitronIsSelected {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #fff !important;
}
#tarteaucitronRoot .tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronAllDenied2.tarteaucitronIsSelected {
    background: #4b5563 !important;
    border-color: #4b5563 !important;
    color: #fff !important;
}

/* Les ☑ / ☐ sont forcés en `content: '\2610' !important` par leur feuille.
   Ils n'apportent rien — l'état est porté par le remplissage — et brouillent
   la lecture des libellés. */
#tarteaucitronRoot .tarteaucitronCheck::before,
#tarteaucitronRoot .tarteaucitronCross::before {
    content: '' !important;
    display: none !important;
}

/* Cookies obligatoires : refuser n'a pas de sens, le bouton reste inerte. */
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronDeny {
    opacity: .4 !important;
    cursor: not-allowed !important;
}

/* ── Icône de réouverture ─────────────────────────────────────
   Discrète, mais le retrait du consentement doit rester accessible à tout
   moment, aussi simplement que l'accord initial. */
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager {
    background: var(--icetag-text) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: .4rem .7rem !important;
    font-size: .75rem !important;
    opacity: .45;
    transition: opacity .15s ease;
}
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:hover { opacity: 1; }

/* ── Mobile ──────────────────────────────────────────────────
   Feuille ancrée en bas plutôt que fenêtre centrée : les boutons restent sous
   le pouce et le contenu défile sans sortir de l'écran. */
@media (max-width: 36rem) {
    #tarteaucitronRoot #tarteaucitron {
        width: 100% !important;
        max-width: none !important;

        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        bottom: 0 !important;
        transform: none !important;

        border-radius: 16px 16px 0 0 !important;
    }
    #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
        padding: 1.25rem 1rem 1rem !important;
        border-radius: 16px 16px 0 0 !important;
    }
    #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
        max-height: 45vh !important;
        border-radius: 0 !important;
        padding: 1rem !important;
    }
    /* Nom au-dessus, boutons en dessous : côte à côte, il ne reste plus rien
       pour le libellé du service. */
    #tarteaucitronRoot #tarteaucitron ul[id^="tarteaucitronServices_"] > li.tarteaucitronLine {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk {
        width: 100% !important;
    }
    #tarteaucitronRoot .tarteaucitronAllow,
    #tarteaucitronRoot .tarteaucitronDeny {
        flex: 1 1 0 !important;
    }
}

/* ─────────────────────────────────────────────────────────────
   Thème sombre
   ───────────────────────────────────────────────────────────── */

@media (prefers-color-scheme: dark) {
    :root {
        --icetag-bg: #1c1f23;
        --icetag-text: #f3f4f6;
        --icetag-muted: #9ca3af;
        --icetag-border: #374151;
    }
}
