/* Habillage Sandbox pour tarteaucitron */
#tarteaucitronRoot {
  --csl-tac-primary: var(--bs-primary, #a5272d);
  --csl-tac-primary-hover: #8f2026;
  --csl-tac-dark: #343f52;
  --csl-tac-muted: #60697b;
  --csl-tac-border: rgba(30, 34, 40, 0.12);
  --csl-tac-soft: rgba(165, 39, 45, 0.08);
  font-family: inherit;
  z-index: 99999;
}

/* Bandeau principal */
#tarteaucitronRoot #tarteaucitronAlertBig {
  left: 50% !important;
  right: auto !important;
  bottom: 1.5rem !important;
  width: min(760px, calc(100% - 2rem)) !important;
  transform: translateX(-50%) !important;
  padding: 1.5rem !important;
  border: 1px solid var(--csl-tac-border) !important;
  border-radius: 0.4rem !important;
  background: #fff !important;
  box-shadow: 0 0.75rem 1.5rem rgba(30, 34, 40, 0.14) !important;
  color: var(--csl-tac-dark) !important;
}

/* Texte du bandeau */
#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
  display: block !important;
  margin: 0 0 1rem !important;
  color: var(--csl-tac-muted) !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
}

/* Boutons principaux uniquement */
#tarteaucitronRoot #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronClosePanel,
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 2.25rem !important;
  margin: 0.2rem !important;
  padding: 0.5rem 1rem !important;
  border-radius: 999px !important;
  border: 1px solid var(--csl-tac-primary) !important;
  font-family: inherit !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* Accepter / personnaliser */
#tarteaucitronRoot #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAllAllowed,
#tarteaucitronRoot .tarteaucitronAllow {
  background: var(--csl-tac-primary) !important;
  color: #fff !important;
}

/* Refuser / fermer */
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronClosePanel,
#tarteaucitronRoot .tarteaucitronDeny {
  background: #fff !important;
  color: var(--csl-tac-primary) !important;
}

/* Hover */
#tarteaucitronRoot #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitronAllAllowed:hover,
#tarteaucitronRoot .tarteaucitronAllow:hover {
  background: var(--csl-tac-primary-hover) !important;
  border-color: var(--csl-tac-primary-hover) !important;
  color: #fff !important;
}

#tarteaucitronRoot #tarteaucitronAllDenied:hover,
#tarteaucitronRoot #tarteaucitronCloseAlert:hover,
#tarteaucitronRoot #tarteaucitronClosePanel:hover,
#tarteaucitronRoot .tarteaucitronDeny:hover {
  background: var(--csl-tac-soft) !important;
  color: var(--csl-tac-primary) !important;
}

/* Fenêtre de personnalisation */
#tarteaucitronRoot #tarteaucitron {
  overflow: hidden !important;
  border: 1px solid var(--csl-tac-border) !important;
  border-radius: 0.4rem !important;
  background: #fff !important;
  box-shadow: 0 1rem 2.5rem rgba(30, 34, 40, 0.18) !important;
  color: var(--csl-tac-dark) !important;
}

#tarteaucitronRoot #tarteaucitronServices {
  background: #fff !important;
}

#tarteaucitronRoot .tarteaucitronTitle {
  background: #fff !important;
  color: var(--csl-tac-dark) !important;
  border-bottom: 1px solid var(--csl-tac-border) !important;
}

#tarteaucitronRoot .tarteaucitronLine {
  background: #fff !important;
  border-color: var(--csl-tac-border) !important;
}

#tarteaucitronRoot .tarteaucitronName b,
#tarteaucitronRoot .tarteaucitronName span {
  color: var(--csl-tac-dark) !important;
}

/* Boutons dans les lignes de services */
#tarteaucitronRoot .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronAsk .tarteaucitronDeny {
  min-height: 2rem !important;
  padding: 0.4rem 0.8rem !important;
  font-size: 0.7rem !important;
}

/* Sécurité : éléments techniques invisibles/non-boutons */
#tarteaucitronRoot #tarteaucitronBack,
#tarteaucitronRoot .tarteaucitronModalOpen,
#tarteaucitronRoot .tarteaucitronSelfLink {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Mobile */
@media (max-width: 575.98px) {
  #tarteaucitronRoot #tarteaucitronAlertBig {
    bottom: 1rem !important;
    width: calc(100% - 2rem) !important;
    padding: 1.25rem !important;
  }

  #tarteaucitronRoot #tarteaucitronPersonalize2,
  #tarteaucitronRoot #tarteaucitronAllAllowed,
  #tarteaucitronRoot #tarteaucitronAllDenied,
  #tarteaucitronRoot #tarteaucitronCloseAlert {
    width: 100% !important;
    margin: 0.25rem 0 !important;
  }
}