/* ════════════════════════════════════════════════════════════════
   LÉON XIV · FRANCE 2026
   TARTEAUCITRON · tarteaucitron-v4.css
   ────────────────────────────────────────────────────────────────
   tarteaucitron.min.css est un asset tiers qui ne déclare aucune
   variable de couleur (--tacTitleBanner porte un texte, pas une
   couleur) et code en dur #fff / #000 / #333 / #fbd600. Il est donc
   insensible à html.pf-dark, et le retoucher dans son propre fichier
   serait perdu à la première mise à jour de la bibliothèque.

   Cette feuille ne le retouche pas : elle pose une COUCHE
   D'ADAPTATION. Le jeu --tac-* ci-dessous est alimenté par les
   tokens de la charte, et les règles qui suivent ne consomment plus
   que lui. Le mode sombre n'a alors que QUATRE valeurs à redéfinir
   (charte-v4-dark.css §17), au lieu d'une liste de composants qu'il
   faut rallonger à chaque écran découvert.

   DEUX RACINES, PAS UNE. #tarteaucitronRoot porte le bandeau, le
   panneau et l'onglet ; mais la façade .tac_activate et le bouton
   .tarteaucitron-magic-block sont rendus DANS le contenu de la page,
   hors de Root. Les trois doivent porter les variables.

   !important : tarteaucitron s'enqueue hors du thème, donc son ordre
   relatif n'est pas maîtrisé, et une bonne moitié de ses règles
   portent déjà !important. Là où le tiers met !important sur la même
   propriété, la spécificité tranche seule : d'où le préfixe
   "html body" sur ces cinq blocs, et sur eux seuls.

   POIDS ÉGAL ACCEPTER / REFUSER. La CNIL demande que refuser soit
   aussi simple et visible qu'accepter. Les deux boutons du bandeau
   prennent donc le même CTA jaune. La couleur ne distingue que les
   ÉTATS par service dans le panneau (vert autorisé, rouge refusé),
   où elle informe au lieu d'inciter. Ne pas rebasculer « Refuser »
   en bouton secondaire gris.
   ════════════════════════════════════════════════════════════════ */


/* ═══ 1. COUCHE D'ADAPTATION ═════════════════════════════════════ */

#tarteaucitronRoot,
.tac_activate,
.tarteaucitron-magic-block {
  /* Surfaces */
  --tac-fond:        var(--paper);        /* panneau, bandeau, lignes */
  --tac-fond-2:      var(--primary-tint); /* en-tête de groupe, survol */
  --tac-fond-3:      var(--primary-wash); /* partenaires, infobulles */
  --tac-voile:       rgba(15,45,133,.28); /* écran derrière la modale */
  --tac-ombre:       0 20px 60px rgba(9,29,90,.28);

  /* Texte */
  --tac-encre:       var(--ink);
  --tac-encre-douce: var(--ink-soft);
  --tac-encre-mate:  var(--ink-mute-AAA);
  --tac-filet:       var(--rule);
  --tac-lien:        var(--primary-deep);
  --tac-focus:       var(--primary-soft);

  /* Action principale : le CTA de la charte, identique pour les deux
     boutons du bandeau. --navy-AAA est la variante prévue pour du
     texte sur fond jaune (6,8:1). */
  --tac-cta-fond:    var(--yellow);
  --tac-cta-encre:   var(--navy-AAA);
  --tac-cta-survol:  var(--yellow-hover);

  /* États par service. Encres figées : elles doivent tenir sur un
     aplat vert ou rouge, pas sur la surface de page, donc --paper ne
     convient pas (il s'inverse). */
  --tac-oui-fond:    var(--green);
  --tac-oui-encre:   #05231F;             /* 6,4:1 clair · 8,7:1 sombre */
  --tac-non-fond:    var(--red-AA);
  --tac-non-encre:   #ffffff;             /* redéfini en sombre */
}


/* ═══ 2. SURFACES ════════════════════════════════════════════════ */

#tarteaucitronRoot #tarteaucitronAlertBig,
#tarteaucitronRoot #tarteaucitronAlertSmall,
#tarteaucitronRoot div#tarteaucitronSave,
#tarteaucitron .tarteaucitronBorder,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesTitle {
  background: var(--tac-fond) !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover {
  background: var(--tac-fond-2) !important;
}

/* En-tête de groupe : le tiers le peint en blanc AVEC des bordures
   blanches en !important (une bordure gauche de 9px), d'où le
   préfixe html body. Sans lui, le bloc disparaît dans le panneau. */
html body #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
html body #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover {
  background: var(--tac-fond-2) !important;
  border-color: var(--tac-fond-2) !important;
}

html body #tarteaucitron .tarteaucitronBorder,
html body #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList,
html body #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain,
html body #tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronHidden {
  border-color: var(--tac-filet) !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList,
#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"],
#tarteaucitronRoot .asCatToggleBtn,
#tarteaucitronRoot button#tarteaucitronBack,
#tarteaucitron #tarteaucitronClosePanel,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie {
  background: var(--tac-fond-3) !important;
  color: var(--tac-encre) !important;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain {
  background: var(--tac-fond-3) !important;
}
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain:hover {
  background: var(--tac-fond-2) !important;
}

/* Voile de fond. Le tiers en pose deux : un ::before blanc à 25 %
   avec flou, et #tarteaucitronBack en blanc opacity .7. Les deux
   éclaircissaient la page en mode nuit au lieu de l'assombrir. */
html body .tarteaucitronSize-middle.tarteaucitronBeforeVisible::before,
html body div#tarteaucitronRoot.tarteaucitronSize-middle.tarteaucitronBeforeVisible::before,
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before {
  background: var(--tac-voile) !important;
  opacity: 1 !important;
}
#tarteaucitronRoot #tarteaucitronBack {
  background: var(--tac-voile) !important;
  /*opacity: 1 !important;*/
}

/* Ombres : #545454 et un halo noir de 9000px. */
div#tarteaucitronServices,
body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig,
.tarteaucitronAlertBigBottom,
.tarteaucitronAlertBigTop {
  box-shadow: var(--tac-ombre) !important;
}
html body #tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig,
html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig,
.tarteaucitronAlertBigBottom,
.tarteaucitronAlertBigTop {
  border-color: var(--tac-filet) !important;
}


/* ═══ 3. TEXTE ═══════════════════════════════════════════════════ */

/* Massue assumée : le tiers pose "#tarteaucitronRoot * { color:#333 }"
   sur le sélecteur universel. On ne peut le neutraliser qu'au même
   endroit ; les boutons reprennent la main plus bas, où la
   spécificité (id + classe) l'emporte sur (id + *). */
#tarteaucitronRoot * {
  color: var(--tac-encre) !important;
}

#tarteaucitronRoot .tarteaucitronH1,
#tarteaucitronRoot .tarteaucitronH2,
#tarteaucitronRoot .tarteaucitronH3,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .tarteaucitronPartnersList *,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronTitle,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesTitle strong,
#tarteaucitronCloseCross {
  color: var(--tac-encre) !important;
}

#tarteaucitron #tarteaucitronDisclaimer,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName .tarteaucitronListCookies,
.tarteaucitronName .tacCurrentStatus,
.tarteaucitronName .tarteaucitronReadmoreSeparator {
  color: var(--tac-encre-mate) !important;
}

/* Liens : le tiers les met en #fff (il suppose un bandeau coloré) ou
   en #424242. Blanc sur blanc = invisible dans les deux thèmes. */
#tarteaucitron a,
#tarteaucitron #tarteaucitronInfo a,
#tarteaucitronAlertBig a,
#tarteaucitronAlertBig strong,
#tarteaucitronAlertSmall a,
#tarteaucitronAlertSmall strong,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName button,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle a,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog {
  color: var(--tac-lien) !important;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain a strong {
  color: var(--tac-non-fond) !important;
}

div#tarteaucitronInfo {
  border-color: var(--tac-filet) !important;
}

#tarteaucitronRoot a:focus-visible,
#tarteaucitronRoot button:focus-visible {
  outline: 3px solid var(--tac-focus) !important;
  outline-offset: 2px;
}


/* ═══ 4. BOUTONS DU BANDEAU ══════════════════════════════════════ */

/* Accepter et Refuser : strictement le même traitement (cf. en-tête
   de fichier). Personnaliser reste en retrait, c'est un accès aux
   réglages, pas un troisième choix. */
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronAlertBig #tarteaucitronPersonalize2.tarteaucitronCTAButton.tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitron #tarteaucitronPrivacyUrl,
#tarteaucitron #tarteaucitronPrivacyUrlDialog,
.tarteaucitronCTAButton,
.tarteaucitron-magic-block button {
  background: var(--tac-cta-fond) !important;
  background-color: var(--tac-cta-fond) !important;
  color: var(--tac-cta-encre) !important;
  border: 0 !important;
  border-radius: 4px;
}

#tarteaucitronRoot .tarteaucitronAllow:hover,
#tarteaucitronAlertBig #tarteaucitronPersonalize2.tarteaucitronCTAButton.tarteaucitronAllow:hover,
#tarteaucitronRoot .tarteaucitronDeny:hover,
#tarteaucitronAlertBig #tarteaucitronCloseAlert:hover,
.tarteaucitronCTAButton:hover,
.tarteaucitron-magic-block button:hover {
  background: var(--tac-cta-survol) !important;
  background-color: var(--tac-cta-survol) !important;
}

#tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  background: transparent !important;
  color: var(--tac-encre) !important;
  box-shadow: inset 0 0 0 2px var(--tac-filet);
  border-radius: 4px;
}


/* ═══ 5. ÉTATS PAR SERVICE ═══════════════════════════════════════ */

/* Au repos, les deux boutons de ligne sont neutres et de poids égal ;
   seul l'état retenu s'aplatit en couleur. L'opacité du tiers est
   remise à 1 : elle sert de signal d'état, or ici c'est le fond qui
   le porte, et une opacité < 1 dégraderait les contrastes calculés. */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--tac-encre-douce) !important;
  box-shadow: inset 0 0 0 1px var(--tac-filet);
  opacity: 1 !important;
}

#tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected {
  background: var(--tac-oui-fond) !important;
  background-color: var(--tac-oui-fond) !important;
  color: var(--tac-oui-encre) !important;
  box-shadow: none;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied2.tarteaucitronIsSelected {
  background: var(--tac-non-fond) !important;
  background-color: var(--tac-non-fond) !important;
  color: var(--tac-non-encre) !important;
  box-shadow: none;
}

/* Rail de gauche : le tiers met le même jaune pour autorisé et
   refusé, donc l'état n'était pas lisible au survol de la liste. */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed {
  border-color: var(--tac-oui-fond) !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied {
  border-color: var(--tac-non-fond) !important;
}

#tarteaucitronRoot .tarteaucitronCheck::before { color: var(--tac-oui-fond) !important; }
#tarteaucitronRoot .tarteaucitronCross::before { color: var(--tac-non-fond) !important; }
#tarteaucitronRoot .tarteaucitronPlus::before  { color: var(--tac-encre) !important; }


/* ═══ 6. ONGLET, PASTILLES, JAUGE ════════════════════════════════ */

#tarteaucitronAlertSmall #tarteaucitronManager { color: var(--tac-encre) !important; }
#tarteaucitronAlertSmall #tarteaucitronManager:hover { background: var(--tac-fond-2) !important; }

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotGreen  { background-color: var(--green) !important; }
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotYellow { background-color: var(--yellow) !important; }
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotRed    { background-color: var(--red) !important; }

#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
  background: var(--tac-fond-2) !important;
  color: var(--tac-encre) !important;
}
#tarteaucitronAlertSmall #tarteaucitronCookiesNumber:hover { background: var(--tac-fond-3) !important; }

html body #tarteaucitronPercentage {
  background: var(--tac-oui-fond) !important;
  box-shadow: none !important;
}


/* ═══ 7. FAÇADE D'EMBARQUEMENT ═══════════════════════════════════ */

/* .tac_activate est rendue dans le contenu, hors de #tarteaucitronRoot :
   la massue de la section 3 ne l'atteint pas, et son fond #333 restait
   une tache sombre sur une page claire. Même principe que
   .pf-map-facade : rien n'est appelé chez le tiers avant le clic. */
.tac_activate {
  background: var(--tac-fond-3) !important;
  color: var(--tac-encre) !important;
  border: 1px solid var(--tac-filet);
  border-radius: 8px;
}
.tac_activate .tac_float strong { color: var(--tac-encre) !important; }
.tac_activate .tarteaucitronAllow {
  background: var(--tac-cta-fond) !important;
  background-color: var(--tac-cta-fond) !important;
  color: var(--tac-cta-encre) !important;
}
.tac_activate .tarteaucitronAllow:hover {
  background-color: var(--tac-cta-survol) !important;
}
