/* ================================================================
   Tarteaucitron — surcharge graphique Compania
   À charger APRÈS tarteaucitron.min.css
   ================================================================ */

#tarteaucitronRoot {
  --tac-bg: #F6F5EF;            /* beige */
  --tac-bg-alt: #FFFFFF;
  --tac-text: #111215;
  --tac-text-soft: #2F323A;
  --tac-primary: #024555;       /* vert canard */
  --tac-primary-hover: #033847;
  --tac-primary-fg: #FFFFFF;
  --tac-border: #E9EEF6;
  --tac-muted: #A0ACC3;
  --tac-radius: 0.625rem;
  --tac-radius-sm: 0.375rem;
  --tac-font: var(--font-onest), system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ─── Police globale ─────────────────────────────────────────── */
#tarteaucitronRoot,
#tarteaucitronRoot * {
  font-family: var(--tac-font) !important;
}

/* ─── Grand bandeau d'alerte ─────────────────────────────────── */
/* NB : on ne touche PAS à `position` — l'original est `fixed` avec un centrage
   par margin:auto + top/left/right/bottom:0 qu'il faut préserver. Le `fixed`
   sert déjà de containing block pour le X absolu en top-right. */
#tarteaucitronRoot #tarteaucitronAlertBig {
  background: var(--tac-bg) !important;
  color: var(--tac-text) !important;
  border-radius: var(--tac-radius);
  border: 1px solid var(--tac-border) !important;
  box-shadow: 0 20px 60px rgba(2, 69, 85, 0.15) !important;
}
/* Aucun padding vertical (35px → 0) en mode middle/popup */
#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig,
#tarteaucitronRoot.tarteaucitronSize-popup div#tarteaucitronAlertBig {
  padding: 0 25px !important;
}
/* Resserre la marge du texte d'intro (par défaut 10px 0 30px) */
#tarteaucitronRoot.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert,
#tarteaucitronRoot.tarteaucitronSize-popup span#tarteaucitronDisclaimerAlert {
  margin: 4px 0 12px !important;
}

/* ─── Logo Compania à la place du titre (☝️ 🍪) en haut du bandeau ─── */
/* Surcharge le ::before qui affiche par défaut var(--tacTitleBanner) */
#tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig::before,
#tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig::before {
  content: '' !important;
  display: block !important;
  width: 180px !important;
  height: 180px !important;
  margin: 0 auto 4px !important;
  background-image: url('/logo_compania_noir.svg') !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  font-size: 0 !important; /* neutralise le font-size: 35px de l'original */
}

/* ─── X + "Continuer en refusant" — coin haut-droit (pattern Yojoo) ─── */
#tarteaucitronRoot #tarteaucitronCloseCross {
  position: absolute !important;
  top: 12px !important;
  right: 14px !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--tac-text-soft) !important;
  padding: 4px 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1 !important;
}
#tarteaucitronRoot #tarteaucitronCloseCross::before {
  content: "Continuer en refusant";
  text-decoration: none;
}
#tarteaucitronRoot #tarteaucitronCloseCross:hover {
  color: var(--tac-text) !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .tarteaucitronPartnersList * {
  color: var(--tac-text) !important;
}

/* ─── Bouton primaire (Tout accepter — id #tarteaucitronPersonalize2 / Sauvegarder) ─── */
#tarteaucitronRoot button#tarteaucitronSaveButton,
#tarteaucitronRoot .tarteaucitronCTAButton.tarteaucitronAllow {
  background: var(--tac-primary) !important;
  color: var(--tac-primary-fg) !important;
  border: 1px solid var(--tac-primary) !important;
  border-radius: var(--tac-radius-sm) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  padding: 14px 32px !important;
  margin: 6px 6px !important;
}
#tarteaucitronRoot button#tarteaucitronSaveButton:hover,
#tarteaucitronRoot .tarteaucitronCTAButton.tarteaucitronAllow:hover {
  background: var(--tac-primary-hover) !important;
}

/* ─── Bouton secondaire (Tout refuser — id #tarteaucitronAllDenied2) ─── */
#tarteaucitronRoot .tarteaucitronCTAButton.tarteaucitronDeny {
  background: transparent !important;
  color: var(--tac-primary) !important;
  border: 1px solid var(--tac-primary) !important;
  border-radius: var(--tac-radius-sm) !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  padding: 10px 18px !important;
}
#tarteaucitronRoot .tarteaucitronCTAButton.tarteaucitronDeny:hover {
  background: rgba(2, 69, 85, 0.08) !important;
}

/* ─── Bouton secondaire — Personnaliser (id #tarteaucitronCloseAlert, malgré le nom) ─── */
/* GROS bouton outline pour faire le pendant visuel à "Tout accepter" */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize {
  background: transparent !important;
  color: var(--tac-primary) !important;
  border: 1px solid var(--tac-primary) !important;
  border-radius: var(--tac-radius-sm) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  padding: 14px 32px !important;
  margin: 6px 6px !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize:hover {
  background: rgba(2, 69, 85, 0.06) !important;
}

/* ─── Lien Politique de confidentialité — petit, pas souligné ─── */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
  background: transparent !important;
  color: var(--tac-primary) !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  padding: 6px 10px !important;
}

/* ─── Panneau détaillé ───────────────────────────────────────── */
#tarteaucitron .tarteaucitronBorder {
  background: var(--tac-bg) !important;
  border: 1px solid var(--tac-border) !important;
  border-top: 0 !important;
}
#tarteaucitronRoot div#tarteaucitronServices {
  border-radius: var(--tac-radius) !important;
  box-shadow: 0 20px 60px rgba(2, 69, 85, 0.15) !important;
}
#tarteaucitronRoot .tarteaucitronH1,
#tarteaucitronRoot .tarteaucitronH2,
#tarteaucitronRoot .tarteaucitronH3 {
  color: var(--tac-text) !important;
}

/* ─── Lignes de service ──────────────────────────────────────── */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover {
  background: var(--tac-bg-alt) !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed {
  border-left: 5px solid var(--tac-primary) !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied {
  border-left: 5px solid var(--tac-muted) !important;
}

/* Boutons Allow / Deny au sein de chaque ligne service */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
.tac_activate .tarteaucitronAllow {
  background: var(--tac-bg-alt) !important;
  color: var(--tac-text) !important;
  border: 1px solid var(--tac-border) !important;
  border-radius: var(--tac-radius-sm) !important;
  padding: 8px 12px !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow {
  background: var(--tac-primary) !important;
  color: var(--tac-primary-fg) !important;
  border-color: var(--tac-primary) !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny {
  background: var(--tac-muted) !important;
  color: #FFFFFF !important;
  border-color: var(--tac-muted) !important;
}

/* Boutons "Tout autoriser / Tout refuser" en haut du panneau */
#tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected {
  background-color: var(--tac-primary) !important;
  color: var(--tac-primary-fg) !important;
  opacity: 1 !important;
}
#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied2.tarteaucitronIsSelected {
  background-color: var(--tac-muted) !important;
  color: #FFFFFF !important;
  opacity: 1 !important;
}

/* Bandeau bas du panneau (zone du bouton Sauvegarder) */
html body #tarteaucitronRoot div#tarteaucitronSave {
  background: var(--tac-bg) !important;
}

/* ─── Liens internes ─────────────────────────────────────────── */
#tarteaucitron a,
#tarteaucitronRoot #tarteaucitronInfo a {
  color: var(--tac-primary) !important;
}

/* ─── Focus visible (a11y) ───────────────────────────────────── */
#tarteaucitronRoot a:focus-visible,
#tarteaucitronRoot button:focus-visible {
  outline: 3px dashed var(--tac-primary) !important;
  outline-offset: 2px;
}

/* ─── Petite bannière flottante (icône cookie réouverte) ─────── */
#tarteaucitronAlertSmall {
  background: var(--tac-bg) !important;
  border-radius: var(--tac-radius) 0 0 0 !important;
  border: 1px solid var(--tac-border) !important;
}
#tarteaucitronAlertSmall #tarteaucitronManager {
  color: var(--tac-text) !important;
}
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotGreen {
  background-color: var(--tac-primary) !important;
}
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotYellow {
  background-color: #FFC945 !important; /* jaune impérial */
}
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotRed {
  background-color: var(--tac-muted) !important;
}

/* ─── Barre de progression (chargement initial) ──────────────── */
#tarteaucitronPercentage {
  background: var(--tac-primary) !important;
}

/* ─── Cacher la petite bannière flottante (icône cookie) sur mobile ─── */
/* Sur mobile, le petit bouton sticky en bas à gauche gêne. L'utilisateur
   peut toujours rouvrir le panneau via le footer (lien "Cookies"). */
@media (max-width: 767px) {
  #tarteaucitronAlertSmall {
    display: none !important;
  }
}

/* ─── Anti-CLS mobile : ancrage HAUT de la modale ────────────────────── */
/* L'original centre verticalement (top/bottom: 0 + margin: auto +
   height: fit-content) : toute croissance du contenu APRÈS affichage
   (polices qui arrivent, liste des partenaires peuplée au fil des tags GTM
   sous CPU lent) recentre la boîte et déplace son bord haut → gros layout
   shift (0,12 mesuré sur mobile). Ancrée par le haut à sa position actuelle
   (~38px sur un viewport de 823), elle grandit vers le bas : un élément dont
   le point de départ ne bouge pas ne compte pas dans le CLS. */
@media (max-width: 767px) {
  body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig,
  body #tarteaucitronRoot.tarteaucitronSize-popup div#tarteaucitronAlertBig {
    top: 4.5vh !important;
    top: 4.5dvh !important;
    bottom: auto !important;
    max-height: 90vh;
    max-height: 90dvh;
    overflow-y: auto;
  }
}
