/* REPUCE — habillage de la bannière de consentement */
#rp-pc__banner,
#rp-pc__banner.rp-pc__banner__dialog,
.rp-pc__banner__dialog,
.rp-pc__prefs__dialog {
  color: #fff !important;
  border: 1px solid rgba(50,230,18, .72) !important;
  border-radius: 14px !important;
  background:
    linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.012) 52%),
    rgba(3, 3, 5, .84) !important;
  box-shadow:
    0 22px 65px rgba(0,0,0,.72),
    0 0 0 1px rgba(0,0,0,.5),
    0 0 28px rgba(50,230,18,.22) !important;
  -webkit-backdrop-filter: blur(20px) saturate(125%) !important;
  backdrop-filter: blur(20px) saturate(125%) !important;
  font-family: var(--sans, Arial, sans-serif) !important;
}

#rp-pc__banner,
#rp-pc__banner.rp-pc__banner__dialog,
.rp-pc__banner__dialog {
  left: 0 !important;
  right: 0 !important;
  bottom: 22px !important;
  width: min(1320px, calc(100vw - 44px)) !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 25px 30px 24px !important;
  overflow: hidden !important;
}

#rp-pc__banner::before,
.rp-pc__banner__dialog::before,
.rp-pc__prefs__dialog::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: linear-gradient(180deg, #32e612, #32e612 55%, #32e612) !important;
  box-shadow: 0 0 18px rgba(50,230,18,.85) !important;
  pointer-events: none !important;
}

#rp-pc__banner h2,
#rp-pc__banner h3,
.rp-pc__banner__dialog h2,
.rp-pc__banner__dialog h3,
#rp-pc__prefs h2,
#rp-pc__prefs h3,
.rp-pc__prefs__dialog h2,
.rp-pc__prefs__dialog h3 {
  margin-top: 0 !important;
  color: #32e612 !important;
  font-family: var(--cond, Arial, sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  text-shadow: 0 0 16px rgba(50,230,18,.32) !important;
}

#rp-pc__banner p,
#rp-pc__banner span,
#rp-pc__banner label,
.rp-pc__banner__dialog p,
.rp-pc__banner__dialog span,
.rp-pc__banner__dialog label,
#rp-pc__prefs p,
#rp-pc__prefs span,
#rp-pc__prefs label,
.rp-pc__prefs__dialog p,
.rp-pc__prefs__dialog span,
.rp-pc__prefs__dialog label {
  color: rgba(255,255,255,.88) !important;
}

#rp-pc__banner a,
.rp-pc__banner__dialog a,
#rp-pc__prefs a,
.rp-pc__prefs__dialog a {
  color: #32e612 !important;
  text-decoration-color: rgba(50,230,18,.65) !important;
  text-underline-offset: 3px !important;
}

#rp-pc__banner button,
.rp-pc__banner__dialog button,
#rp-pc__prefs button,
.rp-pc__prefs__dialog button {
  min-height: 48px !important;
  border: 1px solid rgba(50,230,18,.86) !important;
  border-radius: 7px !important;
  background: rgba(8,8,10,.68) !important;
  color: #fff !important;
  font-family: var(--cond, Arial, sans-serif) !important;
  font-weight: 700 !important;
  letter-spacing: .035em !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 0 15px rgba(50,230,18,.10) !important;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease !important;
}

#rp-pc__banner button:hover,
.rp-pc__banner__dialog button:hover,
#rp-pc__prefs button:hover,
.rp-pc__prefs__dialog button:hover,
#rp-pc__banner button:focus-visible,
.rp-pc__banner__dialog button:focus-visible,
#rp-pc__prefs button:focus-visible,
.rp-pc__prefs__dialog button:focus-visible {
  border-color: #32e612 !important;
  background: rgba(50,230,18,.18) !important;
  box-shadow: 0 0 20px rgba(50,230,18,.30) !important;
  outline: 2px solid rgba(50,230,18,.45) !important;
  outline-offset: 2px !important;
}

#rp-pc__banner .rp-pc__banner__btn-accept,
.rp-pc__banner__dialog .rp-pc__banner__btn-accept,
#rp-pc__prefs .rp-pc__prefs__header-actions button:last-child,
.rp-pc__prefs__dialog .rp-pc__prefs__header-actions button:last-child {
  background: linear-gradient(135deg, #32e612, #32e612) !important;
  border-color: #32e612 !important;
  color: #080808 !important;
  box-shadow: 0 0 22px rgba(50,230,18,.32) !important;
}

#rp-pc__banner .rp-pc__banner__btn-manage-prefs,
.rp-pc__banner__dialog .rp-pc__banner__btn-manage-prefs {
  border: 0 !important;
  background: transparent !important;
  color: #32e612 !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

.rp-pc__prefs__dialog {
  max-height: min(760px, calc(100vh - 36px)) !important;
  overflow: auto !important;
}

#rp-pc__prefs input[type='checkbox'],
.rp-pc__prefs__dialog input[type='checkbox'] {
  accent-color: #32e612 !important;
}

@media (max-width: 749px) {
  #rp-pc__banner,
  #rp-pc__banner.rp-pc__banner__dialog,
  .rp-pc__banner__dialog {
    bottom: 10px !important;
    width: calc(100vw - 20px) !important;
    padding: 19px 17px 17px !important;
    border-radius: 12px !important;
    max-height: calc(100dvh - 20px) !important;
    overflow-y: auto !important;
  }

  #rp-pc__banner h2,
  .rp-pc__banner__dialog h2 {
    font-size: 20px !important;
    line-height: 1.15 !important;
    margin-bottom: 10px !important;
  }

  #rp-pc__banner p,
  .rp-pc__banner__dialog p {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  #rp-pc__banner button,
  .rp-pc__banner__dialog button {
    width: 100% !important;
    min-height: 44px !important;
    margin-top: 8px !important;
  }

  .rp-pc__prefs__dialog {
    left: 10px !important;
    right: 10px !important;
    width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    border-radius: 12px !important;
  }
}

/*
  Le texte natif reste géré par le module de consentement, mais son libellé
  visible est remplacé sans modifier son DOM ni ses gestionnaires de clic.
  Cela préserve notamment l’ouverture de « Gérer vos préférences ».
*/
#rp-pc__banner .rp-pc__banner__body > p {
  font-size: 0 !important;
  line-height: 0 !important;
}

#rp-pc__banner .rp-pc__banner__body > p::before {
  content: "Nous utilisons des cookies nécessaires au fonctionnement du site et, avec votre accord, des technologies optionnelles pour personnaliser votre expérience. Vous pouvez accepter, refuser ou gérer vos préférences à tout moment. En savoir plus dans notre ";
  display: inline !important;
  color: rgba(255,255,255,.88) !important;
  font-family: var(--sans, Arial, sans-serif) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

#rp-pc__banner .rp-pc__banner__body > p > a {
  display: inline !important;
  color: #32e612 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
}

@media (max-width: 749px) {
  #rp-pc__banner .rp-pc__banner__body > p::before,
  #rp-pc__banner .rp-pc__banner__body > p > a {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #rp-pc__banner *,
  #rp-pc__prefs * {
    transition: none !important;
    animation: none !important;
  }
}
