#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed,
#tarteaucitron #tarteaucitronSaveButton,
#tarteaucitronRoot .tarteaucitronAllow {
  background: #373753 !important;
  color: #ededf3 !important;
  border: 0 !important;
  border-radius: 9999px !important;
  padding: 0.75rem 1.5rem !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow:
    0 1px 6px 1px rgba(0, 0, 0, 0.1),
    0 -2px 4px 0 rgba(255, 255, 255, 0.25) inset,
    0 0 4px 0 rgba(0, 0, 0, 0.22) inset !important;
  transition-duration: 0.35s !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed:hover,
#tarteaucitronRoot .tarteaucitronAllow:hover {
  background: #232334 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot .tarteaucitronDeny {
  background: transparent !important;
  color: #454569 !important;
  border: 1px solid #e0e0eb !important;
  box-shadow: none !important;
  border-radius: 9999px !important;
  padding: 0.75rem 1.5rem !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition-duration: 0.35s !important;
}

#tarteaucitron .tarteaucitronCheck,
#tarteaucitron .tarteaucitronCross {
  display: none !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover,
#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied:hover,
#tarteaucitronRoot .tarteaucitronDeny:hover {
  background: #eaeaf1 !important;
}

/* the little unicode check/cross glyphs tarteaucitron prepends to Allow/Deny labels:
   keep them (accessible state indicator) but blend them into the pill instead of standing out */
#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross {
  opacity: 0.6;
}

/* ============================================================ */
/* Link-style button (text-brand-default)                        */
/* Privacy policy link inside the modal panel                    */
/* ============================================================ */
#tarteaucitron #tarteaucitronPrivacyUrlDialog {
  background: none !important;
  color: #006eff !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0.75rem 1rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition-duration: 0.35s !important;
}

#tarteaucitronRoot #tarteaucitron [aria-pressed="true"] {
  text-shadow: none !important;
}

#tarteaucitron #tarteaucitronPrivacyUrlDialog:hover {
  color: #0058cc !important;
}

/* ---------- Privacy policy link in the bottom banner: small, no padding, right-aligned, own row ---------- */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 0 0.825rem !important;
  color: #006eff !important;
  font-size: 0.825rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  text-align: left !important;
  order: 10;
  flex-basis: 100%;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover {
  color: #0058cc !important;
}

/* selected state pills inside the service list panel */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied {
  border-color: #006eff !important;
}

/* ---------- Bottom banner: detached card instead of edge-to-edge bar ---------- */
#tarteaucitronRoot #tarteaucitronAlertBig {
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  width: auto !important;
  padding: 1.5rem 16px 2rem !important;
  border-radius: 16px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  column-gap: 0.75rem !important;
  row-gap: 0.75rem !important;
  text-align: left !important;
  display: flex;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  margin-right: auto;
  text-align: left;
}

/* ============================================================ */
/* Modal panel ("Gestion des cookies")                            */
/* ============================================================ */

/* card: rounded corners + soft shadow instead of the default 2px black border.
   #tarteaucitron itself has no background by default (white only comes from its children),
   so without an explicit background here the close button (positioned inside #tarteaucitron,
   above where the children's white area starts) floats over the transparent page blur. */
#tarteaucitronRoot #tarteaucitron {
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25) !important;
}

#tarteaucitron .tarteaucitronBorder {
  border: 0 !important;
}

/* ---------- Allow/Deny toggle buttons inside the modal: outline when unselected, filled when selected ---------- */
/* #tarteaucitronSaveButton shares the .tarteaucitronAllow class but never receives an aria-pressed
   attribute (it's a one-shot "commit" action, not a toggle), so it never matches the [aria-pressed]
   rules below and keeps the neutral filled look from the base .tarteaucitronAllow rule. */
#tarteaucitron
  #tarteaucitronServices
  #tarteaucitronAllAllowed[aria-pressed="false"],
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow[aria-pressed="false"] {
  background: transparent !important;
  color: #454569 !important;
  border: 1px solid #e0e0eb !important;
  box-shadow: none !important;
}

#tarteaucitron
  #tarteaucitronServices
  #tarteaucitronAllAllowed[aria-pressed="false"]:hover,
#tarteaucitronRoot
  #tarteaucitron
  .tarteaucitronAllow[aria-pressed="false"]:hover {
  background: #eaeaf1 !important;
}

#tarteaucitron
  #tarteaucitronServices
  #tarteaucitronAllDenied[aria-pressed="true"],
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny[aria-pressed="true"] {
  background: #c20a22 !important;
  color: #ededf3 !important;
  border: 0 !important;
  box-shadow:
    0 1px 6px 1px rgba(0, 0, 0, 0.1),
    0 -2px 4px 0 rgba(255, 255, 255, 0.25) inset,
    0 0 4px 0 rgba(0, 0, 0, 0.22) inset !important;
}

#tarteaucitron
  #tarteaucitronServices
  #tarteaucitronAllDenied[aria-pressed="true"]:hover,
#tarteaucitronRoot
  #tarteaucitron
  .tarteaucitronDeny[aria-pressed="true"]:hover {
  background: #910819 !important;
}

#tarteaucitron #tarteaucitronClosePanel {
  top: 16px !important;
  right: 42px !important;
  z-index: 20000 !important;
  background: #fff !important;
  color: #454569 !important;
  border: 1px solid #e0e0eb !important;
  border-radius: 9999px !important;
  width: auto !important;
  padding: 0.5rem 1rem !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  transition-duration: 0.35s !important;
}

#tarteaucitron #tarteaucitronClosePanel:hover {
  background: #eaeaf1 !important;
}

/* header: title + intro text + privacy link */
#tarteaucitron #tarteaucitronMainLineOffset {
  padding: 2rem 2rem 1.5rem !important;
  margin: 0 !important;
}

#tarteaucitron #dialogTitle.tarteaucitronH1 {
  font-size: 1.375rem !important;
  font-weight: 600 !important;
  color: #232334 !important;
}

#tarteaucitron #tarteaucitronInfo {
  display: flex !important;
  max-width: none !important;
  padding: 0.75rem 0 !important;
  color: #454569 !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
}

#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName {
  margin-top: 1.25rem !important;
}

#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH2 {
  font-weight: 600 !important;
  color: #232334 !important;
  font-size: 1rem !important;
}

#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronAsk {
  margin-top: 1rem !important;
}

/* category accordion titles ("+ Mandatory cookies", "+ Videos"): flat text instead of boxed */
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronRoot .asCatToggleBtn {
  background: transparent !important;
  color: #232334 !important;
  font-size: 0.9375rem !important;
  font-weight: 600 !important;
  padding: 0.5rem !important;
  margin: 0.5rem 0 0 1.5rem !important;
  border-radius: 8px !important;
  width: 100%;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button:hover {
  background: #f5f5f9 !important;
}

/* service rows */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine {
  padding: 1rem 2rem !important;
  border-left: 0 !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronName .tarteaucitronH3 {
  color: #232334 !important;
}
