/* ===== Tarteaucitron / AZ Flag - custom external ===== */
#tarteaucitronRoot, #tarteaucitronRoot * { box-sizing: border-box !important; }
#tarteaucitronRoot, #tarteaucitronRoot * {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
#tarteaucitronRoot button, #tarteaucitronRoot a { font-family: inherit !important; }

/* Preserver display:none que tarteaucitron set en JS */
#tarteaucitronAlertBig[style*="display: none"],
#tarteaucitronAlertBig[style*="display:none"],
#tarteaucitronAlertSmall[style*="display: none"],
#tarteaucitronAlertSmall[style*="display:none"],
#tarteaucitronIcon[style*="display: none"],
#tarteaucitronIcon[style*="display:none"],
#tarteaucitronBack[style*="display: none"],
#tarteaucitronBack[style*="display:none"] {
  display: none !important;
}

@keyframes tacSlideUp { from {transform: translateY(110%); opacity:0} to {transform: translateY(0); opacity:1} }
@keyframes tacFadeIn { from {opacity:0} to {opacity:1} }
@keyframes tacPopupSlide { from {opacity:0; transform: translateX(-20px)} to {opacity:1; transform: translateX(0)} }

/* ============ Bandeau bottom ============ */
#tarteaucitronAlertBig {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px 18px !important;
  background: #ffffff !important;
  color: #1a1a1a !important;
  padding: 16px max(24px, calc((100vw - 1240px)/2)) !important;
  box-shadow: 0 -6px 24px rgba(0,0,0,0.10) !important;
  border-top: 3px solid var(--azflag-cookies-primary) !important;
  text-align: left !important;
  max-width: none !important;
  width: 100% !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  animation: tacSlideUp .4s cubic-bezier(.16,1,.3,1) both !important;
}
#tarteaucitronAlertBig::before {
  content: "\01F36A" !important;
  font-size: 26px !important; line-height: 1 !important;
  flex-shrink: 0 !important; display: inline-block !important;
  filter: drop-shadow(0 2px 4px rgba(255,120,3,0.35)) !important;
}
#tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig > span {
  flex: 1 1 360px !important;
  color: #374151 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  display: inline-block !important;
}
#tarteaucitronDisclaimerAlert strong,
#tarteaucitronAlertBig strong {
  color: #1a1a1a !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  display: block !important;
  margin-bottom: 2px !important;
}
#tarteaucitronDisclaimerAlert a,
#tarteaucitronAlertBig a {
  color: var(--azflag-cookies-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 500 !important;
}
#tarteaucitronAlertBig a:hover { color: #e56b00 !important; }

#tarteaucitronAlertBig button {
  font-size: 13px !important; font-weight: 600 !important;
  padding: 9px 18px !important; border-radius: 8px !important;
  margin: 0 !important; border: 1.5px solid transparent !important;
  cursor: pointer !important; text-transform: none !important;
  letter-spacing: 0 !important; line-height: 1.2 !important;
  transition: all .15s ease !important; flex-shrink: 0 !important;
  white-space: nowrap !important;
}
#tarteaucitronAlertBig button:focus-visible {
  outline: 2px solid var(--azflag-cookies-primary) !important; outline-offset: 2px !important;
}
#tarteaucitronPersonalize,
#tarteaucitronAlertBig button#tarteaucitronPersonalize,
#tarteaucitronAlertBig button.tarteaucitronCTAButton,
button.tarteaucitronAllow {
  background: var(--azflag-cookies-primary) !important;
  color: #ffffff !important;
  border-color: var(--azflag-cookies-primary) !important;
  box-shadow: 0 1px 2px rgba(255,120,3,0.25) !important;
}
#tarteaucitronPersonalize:hover,
#tarteaucitronAlertBig button.tarteaucitronCTAButton:hover,
button.tarteaucitronAllow:hover {
  background: #e56b00 !important;
  border-color: #e56b00 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(255,120,3,0.35) !important;
}
button#tarteaucitronAllDenied2,
button#tarteaucitronCloseAlert,
#tarteaucitronAlertBig button#tarteaucitronAllDenied2 {
  background: #ffffff !important;
  color: #1a1a1a !important;
  border: 1.5px solid #d1d5db !important;
}
button#tarteaucitronAllDenied2:hover,
button#tarteaucitronCloseAlert:hover {
  background: #f8fafc !important;
  border-color: #6b7280 !important;
  transform: translateY(-1px) !important;
}

/* ============ Icon FAB bas-gauche ============ */
#tarteaucitronAlertSmall { display: none !important; }
#tarteaucitronIcon {
  position: fixed !important;
  bottom: 18px !important; left: 18px !important;
  right: auto !important; top: auto !important;
  z-index: 9998 !important;
  background: transparent !important; border: none !important;
  width: auto !important; height: auto !important;
}
#tarteaucitronIcon img { display: none !important; }
#tarteaucitronIcon #tarteaucitronManager,
#tarteaucitronIcon button {
  background: var(--azflag-cookies-primary) !important;
  color: transparent !important;
  width: 52px !important; height: 52px !important;
  border-radius: 50% !important; border: none !important;
  cursor: pointer !important; padding: 0 !important;
  font-size: 0 !important;
  box-shadow: 0 6px 18px rgba(255,120,3,0.40), 0 2px 4px rgba(0,0,0,0.08) !important;
  transition: all .2s cubic-bezier(.16,1,.3,1) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
}
#tarteaucitronIcon #tarteaucitronManager::before,
#tarteaucitronIcon button::before {
  content: "\01F36A" !important;
  font-size: 26px !important; line-height: 1 !important;
  display: block !important; color: initial !important;
}
#tarteaucitronIcon #tarteaucitronManager:hover,
#tarteaucitronIcon button:hover {
  transform: scale(1.1) !important;
  box-shadow: 0 10px 24px rgba(255,120,3,0.50) !important;
  background: #e56b00 !important;
}

/* ============ Backdrop : retire (panel compact bas-gauche) ============ */
#tarteaucitronBack { display: none !important; }

/* ============ POPUP - panel compact bas-gauche ============ */
#tarteaucitron {
  width: 92vw !important;
  max-width: 420px !important;
  border-top: 3px solid var(--azflag-cookies-primary) !important;
  max-height: 95vh !important;
  left: 16px !important;
  bottom: 84px !important;
  top: auto !important;
  right: auto !important;
  margin: 0 !important;
  transform: none !important;
  background: #ffffff !important;
  border-radius: 16px !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.22), 0 4px 12px rgba(0,0,0,0.08) !important;
  overflow: auto !important;
  padding: 0 !important;
  font-family: inherit !important;
  display: none !important;
}
/* preserver display:none que tarteaucitron set */
#tarteaucitron[style*="display: none"],
#tarteaucitron[style*="display:none"] { display: none !important; }
#tarteaucitron[style*="display: block"],
#tarteaucitron[style*="display:block"] {
  display: block !important;
  animation: tacPopupSlide .3s cubic-bezier(.16,1,.3,1) !important;
}

/* Bouton fermer rond discret */
#tarteaucitron #tarteaucitronClosePanel {
  position: absolute !important;
  top: 14px !important; right: 14px !important;
  width: 36px !important; height: 36px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,0.05) !important;
  color: transparent !important;
  font-size: 0 !important;
  border: none !important;
  cursor: pointer !important;
  z-index: 10 !important;
  transition: all .2s ease !important;
}
#tarteaucitron #tarteaucitronClosePanel::before {
  content: "\2715" !important;
  font-size: 16px !important;
  color: #6b7280 !important;
  font-weight: 600 !important;
}
#tarteaucitron #tarteaucitronClosePanel:hover {
  background: rgba(0,0,0,0.10) !important;
  transform: rotate(90deg) !important;
}

/* Header centre (titre + texte + boutons) */
#tarteaucitron #tarteaucitronMainLineOffset {
  background: #ffffff !important;
  padding: 24px 22px 20px !important;
  border: none !important;
  border-radius: 0 !important;
  display: block !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  text-align: center !important;
}
#tarteaucitron #dialogTitle,
#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH1 {
  color: #1a1a1a !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  margin: 0 0 10px 0 !important;
  display: block !important;
  letter-spacing: -0.01em !important;
  padding: 0 30px !important;
  text-align: center !important;
}
#tarteaucitron #tarteaucitronInfo {
  color: #4b5563 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: 0 0 18px 0 !important;
  display: block !important;
  text-align: center !important;
}
#tarteaucitron #tarteaucitronPrivacyUrlDialog {
  background: transparent !important;
  color: var(--azflag-cookies-primary) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 500 !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  font-size: 13px !important;
  display: inline-block !important;
  margin-top: 2px !important;
}
#tarteaucitron #tarteaucitronPrivacyUrlDialog:hover { color: #e56b00 !important; }

/* Masque le label "Tout" redondant dans le header */
#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName { display: none !important; }

/* CTAs Tout accepter / Tout refuser - centres comme dans le bandeau */
#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin: 0 !important;
}
#tarteaucitron #tarteaucitronAllAllowed {
  background: var(--azflag-cookies-primary) !important;
  color: #ffffff !important;
  padding: 11px 24px !important;
  border-radius: 10px !important;
  letter-spacing: 0.01em !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  border: 1.5px solid var(--azflag-cookies-primary) !important;
  cursor: pointer !important;
  transition: all .15s ease !important;
  min-width: 130px !important;
}
#tarteaucitron #tarteaucitronAllAllowed:hover {
  background: #e56b00 !important;
  border-color: #e56b00 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 14px rgba(255,120,3,0.35) !important;
}
#tarteaucitron #tarteaucitronAllDenied {
  background: #ffffff !important;
  color: #4b5563 !important;
  padding: 11px 24px !important;
  border-radius: 10px !important;
  letter-spacing: 0.01em !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  border: 1.5px solid #d1d5db !important;
  cursor: pointer !important;
  transition: all .15s ease !important;
  min-width: 130px !important;
}
#tarteaucitron #tarteaucitronAllDenied:hover {
  background: #f8fafc !important;
  border-color: #6b7280 !important;
  transform: translateY(-1px) !important;
}

/* Body - liste services scrollable, sans marge grise */
#tarteaucitron .tarteaucitronBorder {
  background: #ffffff !important;
  border: none !important;
  border-top: 1px solid #f0f0f0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow-y: visible !important;
  flex: 0 0 auto !important;
}
#tarteaucitron .tarteaucitronBorder > .clear { display: none !important; }
#tarteaucitron .tarteaucitronBorder > ul,
#tarteaucitron .tarteaucitronBorder ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#tarteaucitron .tarteaucitronBorder > ul > li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  border: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
#tarteaucitron .tarteaucitronBorder > ul > li:last-child {
  border-bottom: none !important;
}
/* Hide "no services" placeholder */
#tarteaucitronNoServicesTitle { display: none !important; }
/* Justifier le texte des cookies obligatoires */
#tarteaucitron .tarteaucitronH3,
#tarteaucitron .tarteaucitronListCookies,
#tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronName {
  text-align: justify !important;
}

/* Titre de categorie */
#tarteaucitron .tarteaucitronTitle {
  background: #ffffff !important;
  padding: 12px 16px !important;
  border: none !important;
  border-bottom: 1px solid #f5f5f5 !important;
  margin: 0 !important;
}
#tarteaucitron .tarteaucitronTitle button,
#tarteaucitron .tarteaucitronTitle .asCatToggleBtn {
  background: transparent !important;
  border: none !important;
  color: #1a1a1a !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 0 !important;
  cursor: pointer !important;
  text-align: left !important;
  width: 100% !important;
  display: block !important;
  letter-spacing: -0.01em !important;
}

/* Ligne de service individuel */
#tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) {
  background: #ffffff !important;
  padding: 11px 16px !important;
  border: none !important;
  border-bottom: 1px solid #f8f8f8 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 !important;
}
#tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine):last-child {
  border-bottom: none !important;
}
#tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName {
  color: #1a1a1a !important;
  flex: 1 1 200px !important;
  display: block !important;
  font-weight: normal !important;
}
#tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronH3 {
  color: #1a1a1a !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  margin: 0 0 2px 0 !important;
  display: block !important;
}
#tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronListCookies {
  color: #6b7280 !important;
  font-size: 12px !important;
  margin: 4px 0 0 0 !important;
  display: block !important;
  font-weight: 400 !important;
}


/* === Toggle ULTRA-SPECIFIC (beats tarteaucitron defaults) === */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk {
  display: inline-block !important;
  width: 44px !important;
  height: 24px !important;
  background: #cbd5e1 !important;
  border-radius: 999px !important;
  padding: 0 !important;
  border: none !important;
  position: relative !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  transition: background 0.25s ease !important;
  margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk.tac-toggle-on {
  background: var(--azflag-cookies-primary) !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk::before {
  content: "" !important;
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: 20px !important;
  height: 20px !important;
  background: #ffffff !important;
  border-radius: 50% !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25) !important;
  transition: transform 0.25s ease !important;
  pointer-events: none !important;
  z-index: 2 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk.tac-toggle-on::before {
  transform: translateX(20px) !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronDeny {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* === ULTRA-SPECIFIC centrage header === */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
  text-align: center !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #dialogTitle,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH1 {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo p {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronPrivacyUrlDialog {
  display: inline-block !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk {
  display: flex !important;
  width: auto !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

/* === Hide unicode checkbox/cross icons in header buttons === */
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCheck,
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCross,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed .tarteaucitronCheck,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied .tarteaucitronCross,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed .tarteaucitronCheck::before,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied .tarteaucitronCross::before {
  display: none !important;
  content: "" !important;
  font-size: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

/* === Hide "no services" message === */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronNoServicesTitle {
  display: none !important;
}

/* === Bandeau bottom : reduire z-index pour eviter conflit avec popup === */
#tarteaucitronAlertBig {
  z-index: 9997 !important;
}
#tarteaucitron {
  z-index: 99999 !important;
}

/* === Centrage REAL : block width auto + margin auto === */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
  text-align: center !important;
  padding: 22px 0 18px 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #dialogTitle,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH1 {
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
  font-size: 17px !important;
  line-height: 1.3 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo {
  display: block !important;
  text-align: center !important;
  width: auto !important;
  max-width: 80% !important;
  margin: 0 auto 16px auto !important;
  padding: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo p,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo span {
  display: inline !important;
  text-align: center !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronPrivacyUrlDialog {
  display: inline-block !important;
  margin: 8px auto 0 auto !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk {
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  margin: 16px 0 0 0 !important;
  padding: 0 !important;
  gap: 10px !important;
}

/* === Disable blur backdrop on modal open === */
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before,
html body .tarteaucitronSize-middle.tarteaucitronBeforeVisible::before {
  content: none !important;
  display: none !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  opacity: 0 !important;
}

/* === Footer sticky avec CTAs (Compact-style) === */
html body #tarteaucitronRoot #tarteaucitron .tac-footer {
  display: flex !important;
  position: sticky !important;
  bottom: 0 !important;
  background: #ffffff !important;
  border-top: 1px solid #e5e7eb !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  z-index: 5 !important;
  flex-shrink: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllAllowed,
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllDenied {
  flex: 1 1 50% !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  background: transparent !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
  min-width: 0 !important;
  text-align: center !important;
  box-shadow: none !important;
  transform: none !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllAllowed {
  background: #de2666 !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  border-left: 1px solid #de2666 !important;
  border-right-color: #de2666 !important;
  white-space: nowrap !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllDenied {
  color: #6b7280 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllAllowed:hover {
  background: #c01f57 !important;
  color: #ffffff !important;
  border-color: #c01f57 !important;
  transform: none !important;
  box-shadow: none !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllDenied:hover {
  background: #f9fafb !important;
  color: #1a1a1a !important;
  transform: none !important;
}

/* === Politique de confidentialite : discret italic gris === */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronPrivacyUrlDialog {
  font-style: italic !important;
  color: #9ca3af !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-decoration: underline !important;
  text-decoration-color: #d1d5db !important;
  text-underline-offset: 2px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 8px auto 0 auto !important;
  cursor: pointer !important;
  display: inline-block !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronPrivacyUrlDialog:hover {
  color: #6b7280 !important;
  text-decoration-color: #9ca3af !important;
}


/* === Header : reduire espace top + virer trait noir sous Politique === */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
  padding: 14px 0 12px 0 !important;
  border: none !important;
  border-bottom: none !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #dialogTitle,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH1 {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo {
  margin: 0 auto 8px auto !important;
}
/* Reduire espace au-dessus du body services */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
  margin: 0 !important;
  padding-top: 0 !important;
  border-top: 1px solid #f0f0f0 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
}

/* Save button shown in footer (label = Terminer) */
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronSaveButton {
  flex: 1 1 50% !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  background: transparent !important;
  color: #6b7280 !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  text-align: center !important;
  box-shadow: none !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  visibility: visible !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronSaveButton:hover {
  background: #f9fafb !important;
  color: #1a1a1a !important;
}

/* === Cleanup espaces et separateurs supplementaires === */
/* Hide the <br><br> tarteaucitron met avant privacy url */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo br {
  display: none !important;
}
/* Hide the entire .tarteaucitronAsk in header (contient encore Tout refuser) */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk {
  display: none !important;
}
/* Hide tarteaucitronAllDenied if it appears anywhere in popup (we use SaveButton instead) */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied {
  display: none !important;
}
/* Strip ALL borders on header for definitive trait noir suppression */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset * {
  border-bottom-color: transparent !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
  border: none !important;
  box-shadow: none !important;
}
/* Reduce gap between privacy link and body */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
  border-top: 1px solid #f0f0f0 !important;
  margin-top: 4px !important;
}

/* === Hide google links per service (En savoir plus / Voir le site officiel) === */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine .tarteaucitronReadmoreInfo,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine .tarteaucitronReadmoreOfficial,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine .tarteaucitronReadmoreSeparator {
  display: none !important;
}

/* === FAB cookie en bas a gauche : cercle blanc avec ombre, plus orange === */
html body #tarteaucitronRoot #tarteaucitronIcon button#tarteaucitronManager,
html body #tarteaucitronRoot #tarteaucitronIcon button {
  background: #ffffff !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.06) !important;
}
html body #tarteaucitronRoot #tarteaucitronIcon button:hover {
  background: #fafafa !important;
  border-color: #d1d5db !important;
  box-shadow: 0 6px 16px rgba(0,0,0,0.16), 0 2px 6px rgba(0,0,0,0.10) !important;
}

/* Description style sous chaque service */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine .tac-service-desc {
  display: block !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #6b7280 !important;
  line-height: 1.4 !important;
  margin: 4px 0 0 0 !important;
  text-align: left !important;
}

/* === Hide + icons in category titles === */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronPlus,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button .tarteaucitronPlus {
  display: none !important;
}
/* Disable category title click (no expand needed) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button.catToggleBtn,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle .asCatToggleBtn {
  pointer-events: none !important;
  cursor: default !important;
}
/* Style merged title "Cookies facultatifs" */
html body #tarteaucitronRoot #tarteaucitron #tac-merged-title.tac-merged-title-li {
  display: block !important;
  list-style: none !important;
  background: #fafafa !important;
  padding: 14px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin: 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  text-align: left !important;
}

/* Override : pas de border-top orange sur le popup, plus discret */
html body #tarteaucitronRoot #tarteaucitron {
  border-top: none !important;
  border: none !important;
}

/* Cleanup top : retirer margin-top default + tout espace residuel */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  flex: 0 0 auto !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}
html body #tarteaucitronRoot #tarteaucitron {
  background: #ffffff !important;
  overflow: auto !important;
}
/* Force close button reste petit rond */
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel {
  width: 32px !important;
  height: 32px !important;
  top: 12px !important;
  right: 12px !important;
  border-radius: 50% !important;
  background: rgba(0,0,0,0.05) !important;
  color: transparent !important;
  font-size: 0 !important;
  border: none !important;
  padding: 0 !important;
  z-index: 10 !important;
}
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel::before {
  content: "\2715" !important;
  color: #6b7280 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  display: block !important;
}

/* Trait vertical entre Tout accepter (gauche) et Terminer (droite) */
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllAllowed {
  border-left: none !important;
  border-right: 1px solid #e5e7eb !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronSaveButton {
  border-left: none !important;
  border-right: none !important;
}

/* Uniformiser le titre Cookies obligatoires avec Cookies facultatifs */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle {
  display: block !important;
  background: #fafafa !important;
  padding: 14px 20px !important;
  margin: 0 !important;
  border: none !important;
  border-bottom: 1px solid #f0f0f0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  text-align: left !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle .asCatToggleBtn {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  text-align: left !important;
  width: auto !important;
  pointer-events: none !important;
}
/* Reduire espace au-dessus de Cookies obligatoires */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory {
  padding: 0 !important;
  margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder ul,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder ul li:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Reduire espace dans la ligne mandatory + supprimer span vide */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine {
  padding: 11px 16px !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronListCookies {
  display: none !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronName br {
  display: none !important;
}

/* Privacy link toujours sur sa propre ligne sous le disclaimer */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog {
  display: block !important;
  width: -moz-max-content !important;
  width: max-content !important;
  max-width: 90% !important;
  margin: 10px auto 0 auto !important;
  clear: both !important;
}


/* ============================================================
 * CUSTOMISATION TARTEAUCITRON — bloc unique consolidé
 * - Bandeau bottom : croix stylée, contenu centré, responsive 3 zones
 * - Popup mobile : bottom 0, max-height sous header, attachée en bas
 * - Toggle service : à droite du nom même sur mobile
 * - Chat Zopim : repoussé au-dessus de la bandeau via body.tac-banner-visible
 * ============================================================ */

/* === Bandeau bottom : contenu centré horizontalement === */
html body #tarteaucitronRoot #tarteaucitronAlertBig {
  justify-content: center !important;
}

/* === Croix de fermeture stylée (cercle avec ✕ Unicode propre) === */
html body #tarteaucitronRoot #tarteaucitronCloseCross {
  flex-shrink: 0 !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 1px solid #d1d5db !important;
  font-size: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all .15s ease !important;
  margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitronCloseCross::before {
  content: "\2715" !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  color: #6b7280 !important;
}
html body #tarteaucitronRoot #tarteaucitronCloseCross:hover {
  background: #f8fafc !important;
  border-color: #6b7280 !important;
  transform: translateY(-1px) !important;
}
html body #tarteaucitronRoot #tarteaucitronCloseCross:hover::before {
  color: #1a1a1a !important;
}
html body #tarteaucitronRoot #tarteaucitronCloseCross:focus-visible {
  outline: 2px solid var(--azflag-cookies-primary) !important;
  outline-offset: 2px !important;
}
html body #tarteaucitronRoot #tarteaucitronCloseCross > span,
html body #tarteaucitronRoot #tarteaucitronCloseCross span[aria-hidden="true"] {
  display: none !important;
}

/* === Bandeau responsive : 3 zones === */
@media (min-width: 1100px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    flex-wrap: nowrap !important;
    gap: 14px 16px !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig > span,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    flex: 1 1 0% !important;
    min-width: 200px !important;
  }
}

@media (min-width: 769px) and (max-width: 1099px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    flex-wrap: wrap !important;
    gap: 12px 12px !important;
    padding: 14px 24px !important;
    justify-content: center !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig > span,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    text-align: center !important;
    padding-left: 60px !important;
    padding-right: 60px !important;
    box-sizing: border-box !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig button {
    flex: 0 0 auto !important;
  }
}

@media (max-width: 768px) {
  /* Mobile: Row 1 [icon | texte centré] avec X absolute top-right; Row 2 boutons centrés; Row 3 privacy centré */
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    flex-wrap: wrap !important;
    gap: 8px 6px !important;
    padding: 14px 16px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* Icône cookie - inline flow */
  html body #tarteaucitronRoot #tarteaucitronAlertBig::before {
    flex: 0 0 auto !important;
    font-size: 24px !important;
  }
  /* Texte: reste de la ligne 1, centré */
  html body #tarteaucitronRoot #tarteaucitronAlertBig > span,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    flex: 0 0 100% !important;
    width: 100% !important;
    padding-left: 50px !important;
    padding-right: 50px !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    font-size: 13px !important;
    text-align: center !important;
    line-height: 1.35 !important;
  }
  /* Boutons principaux: row 2, content-width, font compact pour tenir sur 1 ligne */
  html body #tarteaucitronRoot #tarteaucitronAlertBig button:not(#tarteaucitronCloseCross):not(#tarteaucitronPrivacyUrl) {
    flex: 0 1 auto !important;
    padding: 7px 10px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }
  /* Privacy URL : row 3 centré (sa propre ligne) */
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    flex: 1 1 100% !important;
    text-align: center !important;
    background: transparent !important;
    border: none !important;
    font-size: 12px !important;
  }
  /* X close : top-right absolute */
  html body #tarteaucitronRoot #tarteaucitronCloseCross {
    position: absolute !important;
    top: 14px !important;
    right: 12px !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
  }
  html body #tarteaucitronRoot #tarteaucitronCloseCross::before {
    font-size: 14px !important;
  }

  /* Popup : attachée en bas, sans marge, max-height sous header, devant tout */
  html body #tarteaucitronRoot #tarteaucitron {
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: 95vh !important;
    border-radius: 16px 16px 0 0 !important;
    z-index: 2147483647 !important;
  }

  /* Service line : nom à gauche avec padding pour le toggle, toggle absolute à droite */
  /* Layout flex sur la ligne : name (flex 1) + toggle (auto) — pas d'overlap possible */
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk {
    flex: 0 0 auto !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
  }
}

/* === Popup en général : z-index au-dessus du chat Zopim === */
html body #tarteaucitronRoot #tarteaucitron {
  z-index: 2147483647 !important;
}

/* === Chat Zopim : repoussé au-dessus de la bandeau quand visible === */
body.tac-banner-visible iframe.zopim,
body.tac-banner-visible iframe[name*="zopim" i],
body.tac-banner-visible iframe[id*="zopim" i],
body.tac-banner-visible iframe[name*="livechat" i],
body.tac-banner-visible iframe[id*="livechat" i],
body.tac-banner-visible iframe[title*="zopim" i],
body.tac-banner-visible div.zopim,
body.tac-banner-visible [id*="zopim" i],
body.tac-banner-visible [class*="zopim" i] {
  bottom: 110px !important;
  transition: bottom .3s ease !important;
}
@media (max-width: 768px) {
  body.tac-banner-visible iframe.zopim,
  body.tac-banner-visible iframe[name*="zopim" i],
  body.tac-banner-visible iframe[id*="zopim" i],
  body.tac-banner-visible iframe[name*="livechat" i],
  body.tac-banner-visible iframe[id*="livechat" i],
  body.tac-banner-visible div.zopim,
  body.tac-banner-visible [id*="zopim" i],
  body.tac-banner-visible [class*="zopim" i] {
    bottom: 150px !important;
  }
}

/* Tablet + Mobile (<1100px) : icône inline dans le texte (centré avec lui) */
@media (max-width: 1099px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig::before {
    display: none !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert::before,
  html body #tarteaucitronRoot #tarteaucitronAlertBig > span::before {
    content: "\01F36A" !important;
    font-size: 18px !important;
    margin-right: 6px !important;
    vertical-align: middle !important;
    display: inline !important;
  }
}

/* X close en absolute top-right pour TOUTE largeur <1100px (mobile + tablet) */
@media (max-width: 1099px) {
  html body #tarteaucitronRoot #tarteaucitronCloseCross {
    position: absolute !important;
    top: 14px !important;
    right: 12px !important;
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
  }
  html body #tarteaucitronRoot #tarteaucitronCloseCross::before {
    font-size: 14px !important;
  }
}

/* Force la description et tous les enfants à respecter le padding-right 90px (toggle absolute à droite) */
@media (max-width: 768px) {
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) {
    overflow: hidden !important;
  }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName,
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName *,
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronReadmoreInfo,
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronReadmoreOfficial,
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronListCookies,
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) span,
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) a {
    max-width: 100% !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    box-sizing: border-box !important;
  }
}

/* Force vertical centering Name <-> Ask dans la ligne service */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk {
  align-self: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
/* Titre sans margin top/bottom qui décale la position verticale */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronH3 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1.3 !important;
}

/* First/Last child : reset padding/margin éventuel qui décale le centrage vertical */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine):first-child,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine):last-child {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul > li:first-child,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul > li:last-child {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) {
  min-height: 56px !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName {
  align-self: center !important;
  justify-content: center !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronH3 {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
/* Hide empty list cookies + readmore separators qui ajoutent des espaces */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronListCookies:empty,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronReadmoreSeparator:empty {
  display: none !important;
}

/* Hide descriptions/readmore pour uniformiser la hauteur des lignes service */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronReadmoreInfo,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronReadmoreOfficial,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronReadmoreSeparator,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronListCookies,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) br {
  display: none !important;
}

/* Hauteur fixe pour titre + max 2 lignes de description (uniforme partout) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) {
  height: 70px !important;
  overflow: hidden !important;
}


/* Hide les liens Read more / URL officiel des services (description courte garde, URL retirée) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreOfficial,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreSeparator,
html body #tarteaucitronRoot #tarteaucitron a.tarteaucitronReadmoreOfficial {
  display: none !important;
}

/* Hide TOUT element readmore (info, separator, official, button) */
html body #tarteaucitronRoot #tarteaucitron [class*="tarteaucitronReadmore" i],
html body #tarteaucitronRoot #tarteaucitron [class*="readmore" i] {
  display: none !important;
}

/* Centrage groupé titre + description dans la ligne (verticalement) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
  padding: 0 !important;
}

/* Hide FAB cookie icon sous 850px (lien dans footer suffit) */
@media (max-width: 849px) {
  html body #tarteaucitronRoot #tarteaucitronManager,
  html body #tarteaucitronRoot #tarteaucitronIcon,
  html body #tarteaucitronRoot .tac-fab {
    display: none !important;
  }
}

/* ===== AZB: hover ROSE pour tous les boutons du bandeau cookies ===== */
#tarteaucitronAlertBig button:hover {
  background: #de2666 !important;
  border-color: #de2666 !important;
  color: #ffffff !important;
}

/* ===== AZB: espacement normal texte<->boutons (le span ne s'etire plus) ===== */
#tarteaucitronAlertBig > span { flex: 0 1 auto !important; }

/* ===== AZB: couleurs boutons bandeau (rose, hover, SANS glow/lumiere) ===== */
/* Ok pour moi (accept) : rose -> rose plus fonce au survol */
#tarteaucitronAlertBig button#tarteaucitronPersonalize2 {
  background:#de2666 !important; border-color:#de2666 !important; color:#fff !important; box-shadow:none !important;
}
#tarteaucitronAlertBig button#tarteaucitronPersonalize2:hover {
  background:#c01f57 !important; border-color:#c01f57 !important; color:#fff !important;
  box-shadow:none !important; transform:none !important;
}
/* Personnaliser (CloseAlert) + Non merci (AllDenied2) : hover rose, sans lumiere */
#tarteaucitronAlertBig button#tarteaucitronCloseAlert,
#tarteaucitronAlertBig button#tarteaucitronAllDenied2 { box-shadow:none !important; }
#tarteaucitronAlertBig button#tarteaucitronCloseAlert:hover,
#tarteaucitronAlertBig button#tarteaucitronAllDenied2:hover {
  background:#de2666 !important; border-color:#de2666 !important; color:#fff !important;
  box-shadow:none !important; transform:none !important;
}

/* ===== AZB: lien "politique de confidentialite" — pas de blanc au survol (mobile), rose lisible ===== */
#tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:hover,
#tarteaucitronAlertBig a#tarteaucitronPrivacyUrl:hover,
#tarteaucitronAlertBig .tarteaucitronPrivacyUrl:hover {
  background: transparent !important;
  border-color: transparent !important;
  color: #de2666 !important;
  box-shadow: none !important;
  text-decoration: underline !important;
}

/* ===== AZB: espacement UNIFORME icone/texte/boutons (seul le gap regit, texte ne s'etire pas) ===== */
html body #tarteaucitronRoot #tarteaucitronAlertBig > span,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  flex: 0 1 auto !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig::before,
html body #tarteaucitronRoot #tarteaucitronAlertBig > span,
html body #tarteaucitronRoot #tarteaucitronAlertBig button {
  margin: 0 !important;
}

/* ===== AZB: icone cookie — rapprochee du texte + sans halo orange ===== */
#tarteaucitronAlertBig::before { margin-right: -6px !important; filter: none !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig::before { filter: none !important; }

/* AZB: mobile bottom floating UI must stay clear of viewport rounding/safe areas. */
@media (max-width: 849px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    bottom: -2px !important;
    padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  body:not(.tac-banner-visible) iframe#launcher,
  body:not(.tac-banner-visible) iframe[title*="launch messaging" i] {
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
  }

  #tac-mobile-underlay {
    background: #fff;
    bottom: 0;
    content: "";
    height: max(4px, env(safe-area-inset-bottom, 0px));
    left: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    z-index: 2147483646;
  }
}

@media (min-width: 850px) {
  #tac-mobile-underlay {
    display: none !important;
  }
}

/* ========================================================================== */
/* AZ Boutique compact consent card v5                                       */
/* Native TarteAuCitron buttons are retained; only their presentation moves. */
/* ========================================================================== */

/* Preferences are reopened from the footer link, never from a floating FAB. */
html body #tarteaucitronRoot #tarteaucitronIcon,
html body #tarteaucitronRoot #tarteaucitronManager,
html body #tarteaucitronRoot .tac-fab,
html body #tac-mobile-underlay {
  display: none !important;
}

html body #azb-cookie-launcher {
  display: none !important;
}

html.azb-cookie-launcher-ready body #azb-cookie-launcher {
  position: fixed !important;
  right: auto !important;
  bottom: var(--azb-cookie-launcher-bottom, calc(16px + env(safe-area-inset-bottom, 0px))) !important;
  left: 16px !important;
  z-index: 2147483646 !important;
  display: inline-flex !important;
  width: 60px !important;
  height: 60px !important;
  margin: 0 !important;
  padding: 3px !important;
  justify-content: center !important;
  align-items: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  border: 2px solid #de2666 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(32, 40, 78, .24) !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

html.azb-cookie-launcher-ready body #azb-cookie-launcher:hover {
  border-color: #b51f5a !important;
  box-shadow: 0 10px 28px rgba(181, 31, 90, .28) !important;
  transform: none !important;
}

html.azb-cookie-launcher-ready body #azb-cookie-launcher:focus-visible {
  outline: 3px solid #20284e !important;
  outline-offset: 3px !important;
}

html body #azb-cookie-launcher img {
  display: block !important;
  width: 48px !important;
  height: 44px !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: contain !important;
}

/* Hide TarteAuCitron's full-width prompt immediately. JavaScript decorates it
   first and reveals the compact card only after the requested three seconds. */
html:not(.azb-cookie-prompt-ready) body #tarteaucitronRoot #tarteaucitronAlertBig {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt {
  position: fixed !important;
  top: auto !important;
  right: auto !important;
  bottom: var(--azb-cookie-card-bottom, 92px) !important;
  left: 20px !important;
  z-index: 2147483647 !important;
  width: min(380px, calc(100vw - 40px)) !important;
  max-width: 380px !important;
  max-height: calc(100vh - 40px) !important;
  max-height: calc(100dvh - 40px) !important;
  margin: 0 !important;
  padding: 18px 24px 22px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
  border: 1px solid #ececf0 !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 18px 48px rgba(32, 40, 78, .22) !important;
  color: #20284e !important;
  text-align: center !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(14px) scale(.98) !important;
  transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s !important;
}

html.azb-cookie-prompt-ready body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 13px !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
  transition: opacity .22s ease, transform .22s ease !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt::before,
html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt #tarteaucitronDisclaimerAlert::before {
  display: none !important;
  content: none !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__visual {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 116px !important;
  height: 106px !important;
  margin: 0 auto -4px !important;
  justify-self: center !important;
  pointer-events: none !important;
  transform: none !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__image {
  display: block !important;
  width: 116px !important;
  height: 106px !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: contain !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__title {
  margin: 0 !important;
  padding: 0 !important;
  color: #20284e !important;
  font: 700 21px/1.2 Roboto, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt #tarteaucitronDisclaimerAlert {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #555b67 !important;
  font: 400 14px/1.55 Roboto, Arial, sans-serif !important;
  text-align: center !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt #tarteaucitronPrivacyUrl {
  display: none !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt .azb-cookie-privacy-link {
  display: inline-flex !important;
  justify-self: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 24px !important;
  margin: -2px 0 0 !important;
  padding: 2px 4px !important;
  border: 0 !important;
  border-radius: 3px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #6a6f7c !important;
  font: 500 12px/1.4 Roboto, Arial, sans-serif !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt .azb-cookie-privacy-link:hover,
html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt .azb-cookie-privacy-link:focus-visible {
  background: transparent !important;
  color: #b51f5a !important;
  outline: 2px solid #20284e !important;
  outline-offset: 2px !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__actions {
  display: grid !important;
  width: 100% !important;
  margin: 0 !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__actions > button {
  display: inline-flex !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 8px 7px !important;
  justify-content: center !important;
  align-items: center !important;
  border: 1px solid #d9dbe2 !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #394052 !important;
  font: 600 13px/1.25 Roboto, Arial, sans-serif !important;
  white-space: normal !important;
  text-align: center !important;
  transform: none !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__actions > button:hover {
  border-color: #b51f5a !important;
  background: #fff5f8 !important;
  color: #9d194b !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__actions > button:focus-visible {
  outline: 3px solid #20284e !important;
  outline-offset: 2px !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__actions > #tarteaucitronPersonalize2 {
  border-color: #de2666 !important;
  background: #de2666 !important;
  color: #fff !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__actions > #tarteaucitronPersonalize2:hover {
  border-color: #c01f57 !important;
  background: #c01f57 !important;
  color: #fff !important;
}

html body #tarteaucitronPercentage {
  display: none !important;
}

.footer-primary a.azb-cookie-settings-link {
  cursor: pointer !important;
}

@media (max-width: 480px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt {
    right: 12px !important;
    bottom: var(--azb-cookie-card-bottom, calc(84px + env(safe-area-inset-bottom, 0px))) !important;
    left: 12px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100vh - 24px - env(safe-area-inset-bottom, 0px)) !important;
    max-height: calc(100dvh - 24px - env(safe-area-inset-bottom, 0px)) !important;
    padding: 16px !important;
    border-radius: 17px !important;
    gap: 10px !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__visual {
    top: auto !important;
    width: 104px !important;
    height: 95px !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__image {
    width: 104px !important;
    height: 95px !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__title {
    font-size: 19px !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt #tarteaucitronDisclaimerAlert {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__actions {
    gap: 6px !important;
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig .azb-cookie-prompt__actions > button {
    min-height: 48px !important;
    padding: 7px 4px !important;
    font-size: 12px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig.azb-cookie-prompt {
    transition: none !important;
  }
}

/* The detailed chooser keeps the friendly illustration and uses the space
   released when the round launcher is retired. */
html body #tarteaucitronRoot #tarteaucitron::before {
  content: "" !important;
  display: block !important;
  width: 82px !important;
  height: 75px !important;
  margin: 10px auto 2px !important;
  background: transparent url("../images/azb-cookie-consent-v1.png") center / contain no-repeat !important;
  pointer-events: none !important;
}

@media (min-width: 769px) {
  html body #tarteaucitronRoot #tarteaucitron {
    top: auto !important;
    bottom: 16px !important;
    max-height: calc(100vh - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    transform: none !important;
  }
}

@media (max-width: 768px) {
  html body #tarteaucitronRoot #tarteaucitron {
    position: fixed !important;
    top: auto !important;
    right: auto !important;
    bottom: 16px !important;
    left: 12px !important;
    width: calc(100vw - 24px) !important;
    max-width: 420px !important;
    height: auto !important;
    max-height: calc(100vh - 48px) !important;
    max-height: calc(100dvh - 48px) !important;
    border-radius: 16px !important;
    transform: none !important;
  }

}
