/* Surcouche CR Systèmes : SDK intact. Les !important restent confinés au
   gestionnaire, dont la CSS est chargée dynamiquement après les styles du site. */
#tarteaucitronRoot {
  --crs-consent-navy: var(--cr-navy, #0b2d4d);
  --crs-consent-blue: var(--cr-blue, #133e6d);
  --crs-consent-cyan: var(--cr-cyan, #00a3b4);
  --crs-consent-soft: var(--cr-cyan-soft, #dff7f9);
}

#tarteaucitronRoot,
#tarteaucitronRoot * {
  font-family: var(--pico-font-family-display, "Inter", sans-serif) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig {
  background: var(--cr-surface, #ffffff) !important;
  color: var(--crs-consent-navy) !important;
  border-top: 3px solid var(--crs-consent-cyan);
  box-shadow: 0 -8px 32px rgba(11, 45, 77, 0.12);
  padding: 20px !important;
  box-sizing: border-box !important;
  max-width: 100%;
}

#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
  color: var(--crs-consent-navy) !important;
  line-height: 1.5 !important;
  margin-bottom: 12px !important;
}

/* Même poids visuel pour l'accord et le refus, sur le bandeau ET le panneau. */
#tarteaucitronRoot button:is(.tarteaucitronAllow, .tarteaucitronDeny),
#tarteaucitronRoot button#tarteaucitronSaveButton {
  background: var(--crs-consent-navy) !important;
  color: #ffffff !important;
  border: 2px solid var(--crs-consent-cyan) !important;
  border-radius: 12px !important;
  min-height: 48px;
  min-width: 144px;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
}

#tarteaucitronRoot button:is(#tarteaucitronCloseAlert, #tarteaucitronPrivacyUrl, #tarteaucitronClosePanel) {
  background: var(--crs-consent-soft) !important;
  color: var(--crs-consent-navy) !important;
  border: 2px solid var(--crs-consent-cyan) !important;
  border-radius: 12px !important;
  min-height: 48px;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

/* Les icônes d’état doivent hériter du texte blanc, pas du gris du SDK. */
#tarteaucitronRoot button:is(.tarteaucitronAllow, .tarteaucitronDeny) span,
#tarteaucitronRoot button:is(.tarteaucitronAllow, .tarteaucitronDeny) :is(.tarteaucitronCheck, .tarteaucitronCross)::before {
  color: inherit !important;
}

/* Le bouton de fermeture du SDK était dimensionné pour une cible de 20 px.
   Le garder dans le panneau évite son rognage avec une cible tactile de 48 px. */
#tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel {
  top: 8px !important;
  right: 16px !important;
  width: auto !important;
  min-width: 96px;
  z-index: 2;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
  padding-top: 64px !important;
}

#tarteaucitronRoot button:is(.tarteaucitronAllow, .tarteaucitronDeny, #tarteaucitronSaveButton):hover {
  background: var(--crs-consent-blue) !important;
}

#tarteaucitronRoot button:is(#tarteaucitronCloseAlert, #tarteaucitronPrivacyUrl, #tarteaucitronClosePanel):hover {
  background: var(--cr-wash, #f5f9fc) !important;
}

#tarteaucitronRoot :is(button, a):focus-visible {
  outline: 3px solid var(--crs-consent-navy) !important;
  outline-offset: 3px !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
  border: 2px solid var(--crs-consent-cyan) !important;
  border-radius: 12px;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronH1,
#tarteaucitronRoot #tarteaucitron .tarteaucitronH2,
#tarteaucitronRoot #tarteaucitron .tarteaucitronH3 {
  color: var(--crs-consent-navy) !important;
}

@media (max-width: 767px) {
  #tarteaucitronRoot #tarteaucitronAlertBig button {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 !important;
    box-sizing: border-box !important;
  }
}
