/* ===== 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;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px 5px !important;
  background: #ffffff !important;
  color: #1a1a1a !important;
  padding: 16px 24px !important;
  box-shadow: 0 -6px 24px rgba(0,0,0,0.10) !important;
  border-top: 3px solid #ff7803 !important;
  text-align: center !important;
  max-width: 100vw !important;
  width: 100vw !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  position: fixed !important;
  box-sizing: border-box !important;
  overflow-x: hidden !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: 0 1 auto !important;
  max-width: 600px !important;
  text-align: left !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: #ff7803 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  font-weight: 500 !important;
}
#tarteaucitronAlertBig a:hover { color: #e56b00 !important; }

/* Button group wrapper: keeps Personalize/Deny/X always together as a single flex item */
#tarteaucitronAlertBig .bvd-cta-group {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  order: 2 !important;
}
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig > span { order: 1 !important; }
#tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronAlertBig #tarteaucitronCloseAlert { order: 2 !important; }
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  flex: 0 0 auto !important;
  order: 3 !important;
}
#tarteaucitronAlertBig #tarteaucitronCloseCross {
  flex: 0 0 auto !important;
  order: 4 !important;
}

/* Layout: 3-line break points
   - >=1100px (desktop): everything on 1 line
   - 768-1099px (tablet): text on line 1, [buttons + privacy] on line 2
   - <768px  (mobile): text on line 1, [buttons] on line 2, privacy on line 3 */
@media (max-width: 1099px) {
  #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
  #tarteaucitronAlertBig > span {
    flex: 1 0 100% !important;
    max-width: 100% !important;
    text-align: center !important;
  }
}
@media (max-width: 767px) {
  #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    flex: 1 0 100% !important;
    text-align: center !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 #ff7803 !important; outline-offset: 2px !important;
}
#tarteaucitronPersonalize,
#tarteaucitronAlertBig button#tarteaucitronPersonalize,
#tarteaucitronAlertBig button.tarteaucitronCTAButton,
button.tarteaucitronAllow {
  background: #ff7803 !important;
  color: #ffffff !important;
  border-color: #ff7803 !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: #ff7803 !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; }

/* FAB cookie icon shown ONLY on very wide screens (>=1860px). Below that, footer link is enough. */
@media (max-width: 1859px) {
  #tarteaucitronIcon { display: none !important; }
}

/* ============ POPUP - panel compact bas-gauche ============ */
#tarteaucitron {
  width: 92vw !important;
  max-width: 420px !important;
  border-top: 3px solid #ff7803 !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: #ff7803 !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: #ff7803 !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 #ff7803 !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: #ff7803 !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 {
  color: #ff7803 !important;
  font-weight: 700 !important;
  border-left: 1px solid #e5e7eb !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllDenied {
  color: #6b7280 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tac-footer #tarteaucitronAllAllowed:hover {
  background: #fff5eb !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 #ff7803 !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;
  }
}
