/* Surcharge visuelle tarteaucitron.js aux couleurs GE-ELEC.
   !important + chaînes de sélecteurs à 3 ID nécessaires : la lib a ses propres
   règles à 2 ID (ex. #tarteaucitronAlertBig #tarteaucitronPersonalize2) qui
   sinon gagnent sur nos surcharges à spécificité égale ou plus faible. */

#tarteaucitronRoot,
#tarteaucitronRoot * {
  font-family: 'Poppins', system-ui, sans-serif !important;
}

/* Bandeau bas (premier passage) — volontairement plus bas et plus sobre
   qu'un CTA marketing : couleurs neutres (bleu foncé, pas l'accent turquoise) */
#tarteaucitronRoot #tarteaucitronAlertBig {
  background: #ffffff !important;
  border-top: 1px solid #e2e8f0 !important;
  box-shadow: 0 -8px 24px rgba(13, 35, 41, 0.08) !important;
  padding: 20px 24px !important;
  box-sizing: border-box !important;
}

/* Le conteneur du bandeau est déjà en text-align: center, mais la lib passe ce
   texte en display: inline-flex. Son contenu devient donc un élément flex, aligné
   au départ de l'axe et non centré — visible surtout sur mobile, où le texte se
   retrouve décalé à gauche alors que les boutons en dessous sont centrés.
   On recentre sur les deux mécanismes : justify-content pour le flex, text-align
   pour les lignes de texte qui reviennent à la ligne. */
#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
  color: #0d2329 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-align: center !important;
  justify-content: center !important;
}

/* "Personnaliser" et "Politique de confidentialité" (bandeau) : même taille */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  background: transparent !important;
  color: #0d2329 !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  padding: 8px 10px !important;
  margin: 0 0 0 7px !important;
}

/* Lien "Politique de confidentialité" en tête du panneau détaillé : supprimé
   à la demande — déjà présent dans le bandeau et le footer du site, redondant
   ici et source d'espace vide une fois isolé. */
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
  display: none !important;
}

/* Bouton "Tout accepter" : même taille que "Tout refuser" */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed {
  background: #0d2329 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  padding: 10px 20px !important;
  border: none !important;
  opacity: 1 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed:hover {
  background: #1c3a44 !important;
}

/* Bouton "Tout refuser" */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied {
  background: transparent !important;
  color: #0d2329 !important;
  border: 1.5px solid #0d2329 !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  padding: 8px 20px !important;
  opacity: 1 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover,
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied:hover {
  background: #0d2329 !important;
  color: #ffffff !important;
}

/* Panneau détaillé des préférences */
/* Largeur par défaut de la lib : 860px fixe, centrée via margin-left négatif.
   On la réduit (desktop uniquement, en dessous de 992px la lib gère déjà
   sa propre largeur responsive à 90%/100%) pour resserrer l'écart entre
   le texte à gauche et les boutons Autoriser/Interdire à droite. */
@media screen and (min-width: 992px) {
  #tarteaucitronRoot #tarteaucitron {
    width: 680px !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
  }
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronDisclaimer,
#tarteaucitronRoot h2#tac_title {
  color: #0d2329 !important;
}

/* Structure en 3 zones : en-tête et bouton "Enregistrer" fixes, seule la
   liste des catégories défile. Corrige le besoin de scroller jusqu'en bas
   pour trouver "Enregistrer". #tarteaucitron lui-même reste sans overflow:
   hidden (sinon le bouton "Fermer", positionné en absolute au-dessus du
   contenu, se retrouve rogné). Les coins arrondis sont donc portés par les
   3 blocs internes plutôt que par le conteneur transparent.
   IMPORTANT : ouverture/fermeture du panneau se fait via un style inline
   display:block/none (non !important) posé par tarteaucitron.js lui-même.
   Un display:flex !important permanent ici l'empêcherait de se refermer
   (le panneau resterait affiché en permanence). On ne force donc le flex
   que lorsque le panneau est réellement ouvert, via la classe posée par
   la lib sur <body> à ce moment-là. */
body.tarteaucitron-modal-open #tarteaucitronRoot #tarteaucitron {
  display: flex !important;
  flex-direction: column !important;
  max-height: 80vh !important;
  border-radius: 0 !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  flex: 1 1 auto !important;
  margin-top: 0 !important;
  box-shadow: none !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
  flex: 0 0 auto !important;
  padding: 44px 32px 20px !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 8px 32px !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronSave {
  flex: 0 0 auto !important;
  padding: 16px 32px !important;
  border-top: 1px solid #e2e8f0 !important;
}

/* Bouton "Fermer" (croix/onglet) : position fixe et lisible en haut à
   droite, plutôt que la position par défaut ambiguë qui finissait
   masquée derrière l'en-tête. */
#tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel {
  top: 12px !important;
  right: 12px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 5 !important;
  width: auto !important;
  padding: 6px 12px !important;
  background: #f1f5f9 !important;
  color: #0d2329 !important;
  border-radius: 6px !important;
  font-size: 12px !important;
}
#tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel:hover {
  background: #e2e8f0 !important;
}

/* En-tête : titre + texte d'intro + ligne "Préférences pour tous les services".
   Espacement harmonisé, texte aligné à gauche (cohérent avec le reste du panneau). */
#tarteaucitronRoot #tarteaucitron span#dialogTitle.tarteaucitronH1 {
  display: block !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  font-size: 20px !important;
  text-align: left !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
  display: block !important;
  position: static !important;
  border: none !important;
  max-width: 100% !important;
  text-align: left !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  background: transparent !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p {
  margin: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br {
  display: none !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronName {
  margin: 0 !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronName .tarteaucitronH2 {
  font-size: 15px !important;
  margin: 0 !important;
  padding: 6px 0 !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronScrollbarAdjust.tarteaucitronAsk {
  margin: 0 !important;
}

/* Onglet "Fermer" */
#tarteaucitronRoot button#tarteaucitronBack {
  background: #0d2329 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* Titres de catégorie ("Mesure d'audience", "Régies publicitaires"...) */
#tarteaucitronRoot #tarteaucitron .tarteaucitronH2 {
  color: #0d2329 !important;
  font-weight: 700 !important;
}

/* Liens informatifs ("En savoir plus", "Voir le site officiel") */
#tarteaucitronRoot #tarteaucitron .tarteaucitronName a {
  color: #14abbd !important;
}

/* Boutons Autoriser / Interdire — par catégorie et par service.
   État neutre par défaut (rien n'est encore choisi) */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDeny {
  background: #ffffff !important;
  color: #0d2329 !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  padding: 6px 12px !important;
}

/* Choix actif : Autoriser sélectionné */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow {
  background: #0d2329 !important;
  color: #ffffff !important;
  border-color: #0d2329 !important;
}

/* Choix actif : Interdire sélectionné */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny {
  background: #64748b !important;
  color: #ffffff !important;
  border-color: #64748b !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices button#tarteaucitronSaveButton {
  background: #0d2329 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  font-weight: 600 !important;
  padding: 8px 20px !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices button#tarteaucitronSaveButton:hover {
  background: #1c3a44 !important;
}
