/* ==========================================================================
   Cookie-Script — override de marque DevisSalles (dual-mode clair / sombre)
   --------------------------------------------------------------------------
   STRUCTURE DOM (établie d'après le DOM réel + le CSS natif Cookie-Script) :

   1. BANNER COMPACT — popup en bas à gauche
        #cookiescript_injected
          ├ .cookiescript_pre_header → #cookiescript_close
          ├ #cookiescript_header (titre)
          ├ #cookiescript_description + #cookiescript_readmore
          ├ #cookiescript_checkboxs
          │   └ .cookiescript_checkbox × N
          │       ├ .mdc-checkbox (case MDC)
          │       └ .cookiescript_checkbox_label > .cookiescript_checkbox_text
          ├ #cookiescript_buttons
          │   ├ #cookiescript_save / #cookiescript_accept / #cookiescript_reject
          ├ #cookiescript_manage_wrap > #cookiescript_manage > svg
          └ #cookiescript_cookietablewrap

   2. FULLSCREEN DIALOG — overlay + panneau
        #cookiescript_injected_fsd        ← OVERLAY plein écran (voile sombre)
          └ #cookiescript_fsd_wrapper     ← PANNEAU centré (radius 25px)
              ├ .cookiescript_fsd_header
              │   └ #cookiescript_close
              ├ .cookiescript_fsd_main
              │   └ .cookiescript_fsd_main_info
              │       ├ .cookiescript_fsd_title
              │       └ .cookiescript_fsd_description
              ├ .cookiescript_fsd_tabs
              │   ├ #cookiescript_declaration (.cookiescript_active)
              │   └ #cookiescript_aboutcookies
              ├ .cookiescript_fsd_tabs_content
              │   ├ #cookiescript_declarationwrap
              │   │   └ .cookiescript_fsd_category × N
              │   │       ├ .cookiescript_fsd_category_main
              │   │       │   ├ .cookiescript_fsd_category_info
              │   │       │   │   ├ .cookiescript_fsd__category_name
              │   │       │   │   └ .cookiescript_category_description
              │   │       │   └ .cookiescript_fsd_category_control
              │   │       │       └ .mdc-switch (toggle MDC)
              │   │       ├ .cookiescript_fsd_cookies (table déroulante)
              │   │       └ .cookiescript_fsd_cookies_control
              │   └ #cookiescript_aboutwrap
              └ .cookiescript_fsd_footer
                  ├ #cookiescript_buttons (mêmes IDs accept/reject/save)
                  └ .cookiescript_fsd_reportby

   Les vars (--bg, --surface, --text, --line, --violet-*, --pink-*) viennent
   de theme.css (mode clair :root, mode sombre .dark).
   ========================================================================== */


/* ============================================================================
   1. BANNER COMPACT (#cookiescript_injected)
   ============================================================================ */

#cookiescript_injected {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 14px !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 60px -16px rgba(80, 7, 36, 0.25),
              0 0 0 1px var(--line) !important;
  letter-spacing: -0.005em !important;
  width: 360px !important;
  max-width: calc(100vw - 32px) !important;
  padding: 12px 18px 16px !important;
}
.dark #cookiescript_injected {
  border-color: var(--line-strong) !important;
  box-shadow: 0 24px 60px -16px rgba(0, 0, 0, 0.6),
              0 0 0 1px var(--line-strong) !important;
}

/* Pre-header (croix) */
#cookiescript_injected .cookiescript_pre_header {
  top: 17px !important;
  right: 14px !important;
}
#cookiescript_injected #cookiescript_close {
  position: relative !important;
  top: 0 !important;
  right: auto !important;
  width: 22px !important;
  height: 22px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  color: transparent !important;
  background: transparent !important;
  border-radius: 999px !important;
  overflow: visible !important;
  cursor: pointer !important;
  opacity: 0.75 !important;
  transform-origin: 50% 50% !important;
  transition: background-color .2s ease, opacity .2s ease, transform .25s ease;
}
#cookiescript_injected #cookiescript_close::before,
#cookiescript_injected #cookiescript_close::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 11px !important;
  height: 1.5px !important;
  background-color: var(--text-soft) !important;
  border-radius: 1px !important;
  pointer-events: none !important;
  transition: background-color .2s ease !important;
}
#cookiescript_injected #cookiescript_close::before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}
#cookiescript_injected #cookiescript_close::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}
#cookiescript_injected #cookiescript_close:hover {
  background: var(--bg-soft) !important;
  opacity: 1 !important;
  transform: rotate(90deg);
}
#cookiescript_injected #cookiescript_close:hover::before,
#cookiescript_injected #cookiescript_close:hover::after {
  background-color: var(--violet-600) !important;
}
.dark #cookiescript_injected #cookiescript_close:hover {
  background: var(--surface-2) !important;
}
.dark #cookiescript_injected #cookiescript_close:hover::before,
.dark #cookiescript_injected #cookiescript_close:hover::after {
  background-color: var(--violet-300) !important;
}

/* Titre + description */
#cookiescript_injected #cookiescript_header {
  font-family: 'Bricolage Grotesque', 'Plus Jakarta Sans', system-ui, sans-serif !important;
  color: var(--text) !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  padding: 4px 22px 8px 0 !important;
  margin: 0 0 6px !important;
}

#cookiescript_injected #cookiescript_description {
  color: var(--text-soft) !important;
  font-size: 0.86rem !important;
  line-height: 1.55 !important;
  margin: 0 0 10px !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}
#cookiescript_injected #cookiescript_description span {
  color: var(--text-soft) !important;
}

/* Liens */
#cookiescript_injected #cookiescript_readmore,
#cookiescript_injected #cookiescript_description a {
  color: var(--violet-600) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  font-size: 0.86rem !important;
  transition: color .2s ease;
}
.dark #cookiescript_injected #cookiescript_readmore,
.dark #cookiescript_injected #cookiescript_description a {
  color: var(--violet-300) !important;
}
#cookiescript_injected #cookiescript_readmore:hover,
#cookiescript_injected #cookiescript_description a:hover {
  color: var(--pink-500) !important;
  text-decoration: underline !important;
}

/* Conteneur des cases à cocher */
#cookiescript_injected #cookiescript_checkboxs {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 8px 0 12px !important;
  padding: 6px 4px !important;
  background: var(--bg-soft) !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
}
.dark #cookiescript_injected #cookiescript_checkboxs {
  background: var(--surface-2) !important;
  border-color: var(--line-strong) !important;
}

/* Chip catégorie */
#cookiescript_injected .cookiescript_checkbox {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 8px !important;
  transition: background-color .2s ease;
}
#cookiescript_injected .cookiescript_checkbox:hover {
  background: var(--surface) !important;
}

/* Label : juste du texte, pas de fond ! */
#cookiescript_injected .cookiescript_checkbox_label {
  background: transparent !important;
  color: var(--text) !important;
  display: inline-flex !important;
  align-items: center !important;
  flex: 1 1 auto !important;
  margin: 0 0 0 4px !important;
  padding: 0 !important;
  cursor: pointer !important;
}
#cookiescript_injected .cookiescript_checkbox_text {
  background: transparent !important;
  color: var(--text) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  display: inline-block !important;
}

/* Bouton "Afficher les détails" */
#cookiescript_injected #cookiescript_manage_wrap {
  margin: 18px 0 6px !important;
  text-align: center !important;
}
#cookiescript_injected #cookiescript_manage {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 12px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--violet-600) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.74rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  opacity: 1 !important;
  cursor: pointer !important;
  transition: background-color .2s ease, color .2s ease;
}
#cookiescript_injected #cookiescript_manage:hover {
  background: var(--bg-soft) !important;
  color: var(--violet-700) !important;
  opacity: 1 !important;
}
.dark #cookiescript_injected #cookiescript_manage {
  color: var(--violet-300) !important;
}
.dark #cookiescript_injected #cookiescript_manage:hover {
  background: var(--surface-2) !important;
  color: var(--violet-200) !important;
}
#cookiescript_injected svg#cookiescript_manageicon {
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
  position: static !important;
  top: auto !important;
}
#cookiescript_injected #cookiescript_manage #cookiescript_manageicon .cookiescript_gear,
#cookiescript_injected #cookiescript_manage:hover #cookiescript_manageicon .cookiescript_gear {
  fill: currentColor !important;
}

/* Boutons banner (Save / Accept / Reject) */
#cookiescript_injected #cookiescript_buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#cookiescript_injected #cookiescript_accept,
#cookiescript_injected #cookiescript_save {
  background: linear-gradient(135deg, var(--violet-600), var(--pink-500)) !important;
  background-color: var(--violet-600) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  padding: 0.7rem 1.05rem !important;
  margin: 0 !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: 0 8px 22px -10px rgba(219, 39, 119, 0.7) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, background-color .2s ease !important;
}
#cookiescript_injected #cookiescript_accept:hover,
#cookiescript_injected #cookiescript_save:hover {
  background-color: var(--violet-700) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px -10px rgba(219, 39, 119, 0.85) !important;
  filter: brightness(1.06);
}

#cookiescript_injected #cookiescript_reject {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--text) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 999px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  text-transform: uppercase !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  padding: calc(0.7rem - 1px) 1.05rem !important;
  margin: 0 !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}
#cookiescript_injected #cookiescript_reject:hover {
  background: var(--bg-soft) !important;
  background-color: var(--bg-soft) !important;
  border-color: var(--violet-600) !important;
  color: var(--violet-700) !important;
}
.dark #cookiescript_injected #cookiescript_reject:hover {
  background: var(--surface-2) !important;
  background-color: var(--surface-2) !important;
  border-color: var(--violet-400) !important;
  color: var(--violet-200) !important;
}


/* ============================================================================
   2. MDC CHECKBOXES (banner) — bordures + couleurs cochées
   ============================================================================ */

/* Bordure désactivée (Cookie-Script natif : #FFFFFF → invisible en clair) */
#cookiescript_injected .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate) ~ .mdc-checkbox__background {
  border-color: var(--line-strong) !important;
  background-color: transparent !important;
}
.dark #cookiescript_injected .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate) ~ .mdc-checkbox__background {
  border-color: rgba(249, 168, 212, 0.30) !important;
}

/* Cochée : violet plein */
#cookiescript_injected .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
#cookiescript_injected .mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background {
  border-color: var(--violet-600) !important;
  background-color: var(--violet-600) !important;
}
.dark #cookiescript_injected .mdc-checkbox__native-control:enabled:checked ~ .mdc-checkbox__background,
.dark #cookiescript_injected .mdc-checkbox__native-control:enabled:indeterminate ~ .mdc-checkbox__background {
  border-color: var(--violet-500) !important;
  background-color: var(--violet-500) !important;
}

/* Coche (V) */
#cookiescript_injected .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark {
  color: #FFFFFF !important;
}
#cookiescript_injected .mdc-checkbox__native-control:enabled ~ .mdc-checkbox__background .mdc-checkbox__checkmark-path {
  stroke: #FFFFFF !important;
}

/* Halo focus */
#cookiescript_injected .mdc-checkbox .mdc-checkbox__native-control:focus ~ .mdc-checkbox__background::before,
#cookiescript_injected .mdc-checkbox .mdc-checkbox__native-control:indeterminate ~ .mdc-checkbox__background::before {
  background-color: var(--violet-300) !important;
}


/* ============================================================================
   3. FULLSCREEN DIALOG — overlay (#cookiescript_injected_fsd)
   ============================================================================
   Voile assombri, on garde le natif en clair, on fonce en sombre.        */

.dark #cookiescript_injected_fsd {
  background-color: rgba(13, 7, 10, 0.7) !important;
}


/* ============================================================================
   4. FULLSCREEN DIALOG — panneau (#cookiescript_fsd_wrapper)
   ============================================================================ */

#cookiescript_fsd_wrapper {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  border-radius: 24px !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 30px 70px -20px rgba(80, 7, 36, 0.35),
              0 0 0 1px var(--line) !important;
  letter-spacing: -0.005em !important;
}
.dark #cookiescript_fsd_wrapper {
  border-color: var(--line-strong) !important;
  box-shadow: 0 30px 70px -20px rgba(0, 0, 0, 0.7),
              0 0 0 1px var(--line-strong) !important;
}

/* Header du panneau */
#cookiescript_fsd_wrapper .cookiescript_fsd_header {
  background-color: var(--surface) !important;
  border-bottom: 1px solid var(--line) !important;
  border-radius: 24px 24px 0 0 !important;
  min-height: 52px !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_header {
  border-bottom-color: var(--line-strong) !important;
}

/* Croix de fermeture FSD */
#cookiescript_injected_fsd #cookiescript_close {
  position: absolute !important;
  top: 10px !important;
  right: 16px !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  color: transparent !important;
  background: transparent !important;
  border-radius: 999px !important;
  overflow: visible !important;
  cursor: pointer !important;
  opacity: 0.85 !important;
  transform-origin: 50% 50% !important;
  transition: background-color .2s ease, opacity .2s ease, transform .25s ease;
}
#cookiescript_injected_fsd #cookiescript_close::before,
#cookiescript_injected_fsd #cookiescript_close::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 14px !important;
  height: 1.5px !important;
  background-color: var(--text-soft) !important;
  border-radius: 1px !important;
  pointer-events: none !important;
  transition: background-color .2s ease !important;
}
#cookiescript_injected_fsd #cookiescript_close::before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}
#cookiescript_injected_fsd #cookiescript_close::after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}
#cookiescript_injected_fsd #cookiescript_close:hover {
  background: var(--bg-soft) !important;
  opacity: 1 !important;
  transform: rotate(90deg);
}
#cookiescript_injected_fsd #cookiescript_close:hover::before,
#cookiescript_injected_fsd #cookiescript_close:hover::after {
  background-color: var(--violet-600) !important;
}
.dark #cookiescript_injected_fsd #cookiescript_close:hover {
  background: var(--surface-2) !important;
}
.dark #cookiescript_injected_fsd #cookiescript_close:hover::before,
.dark #cookiescript_injected_fsd #cookiescript_close:hover::after {
  background-color: var(--violet-300) !important;
}

/* Main : titre + description */
#cookiescript_fsd_wrapper .cookiescript_fsd_main {
  background-color: var(--surface) !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_main_info {
  padding: 18px 40px 24px !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_title {
  font-family: 'Bricolage Grotesque', 'Plus Jakarta Sans', system-ui, sans-serif !important;
  color: var(--text) !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_description {
  color: var(--text-soft) !important;
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  margin-top: 8px !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_description > span {
  opacity: 1 !important;
  color: var(--text-soft) !important;
}
#cookiescript_fsd_wrapper #cookiescript_readmore {
  color: var(--violet-600) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  text-decoration: none !important;
}
.dark #cookiescript_fsd_wrapper #cookiescript_readmore {
  color: var(--violet-300) !important;
}
#cookiescript_fsd_wrapper #cookiescript_readmore:hover {
  color: var(--pink-500) !important;
  text-decoration: underline !important;
}

/* Onglets */
#cookiescript_fsd_wrapper .cookiescript_fsd_tabs > div {
  background-color: var(--surface) !important;
  color: var(--text-soft) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-top: 2px solid transparent !important;
  padding: 12px 16px !important;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_tabs > div:hover:not(.cookiescript_active) {
  color: var(--text) !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_tabs > .cookiescript_active {
  background-color: var(--bg-soft) !important;
  color: var(--violet-600) !important;
  border-top-color: var(--violet-600) !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_tabs > .cookiescript_active {
  background-color: var(--surface-2) !important;
  color: var(--violet-300) !important;
  border-top-color: var(--violet-400) !important;
}

/* Contenu des onglets */
#cookiescript_fsd_wrapper .cookiescript_fsd_tabs_content {
  background-color: var(--bg-soft) !important;
  padding: 8px 40px 12px !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_tabs_content {
  background-color: var(--surface-2) !important;
}
#cookiescript_fsd_wrapper #cookiescript_aboutwrap {
  font-size: 0.86rem !important;
  line-height: 1.6 !important;
  color: var(--text) !important;
  font-weight: 400 !important;
}
#cookiescript_fsd_wrapper #cookiescript_aboutwrap a,
#cookiescript_fsd_wrapper #cookiescript_aboutwrap a:hover {
  color: var(--violet-600) !important;
  text-decoration: underline !important;
}
.dark #cookiescript_fsd_wrapper #cookiescript_aboutwrap a,
.dark #cookiescript_fsd_wrapper #cookiescript_aboutwrap a:hover {
  color: var(--violet-300) !important;
}

/* Catégorie (Performance / Ciblage / Fonctionnalité / …) */
#cookiescript_fsd_wrapper .cookiescript_fsd_category {
  border-bottom: 1px solid var(--line) !important;
  padding-top: 18px !important;
  padding-bottom: 14px !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_category {
  border-bottom-color: var(--line-strong) !important;
}

#cookiescript_fsd_wrapper .cookiescript_fsd__category_name {
  font-family: 'Bricolage Grotesque', 'Plus Jakarta Sans', system-ui, sans-serif !important;
  color: var(--text) !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 6px !important;
}
#cookiescript_fsd_wrapper .cookiescript_category_description {
  color: var(--text-soft) !important;
  font-size: 0.86rem !important;
  line-height: 1.55 !important;
}

/* Bouton "Afficher / Masquer les cookies" */
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_control {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 8px 0 0 !important;
  padding: 6px 12px !important;
  background: transparent !important;
  border-radius: 999px !important;
  color: var(--violet-600) !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  transition: background-color .2s ease, color .2s ease;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_control:hover {
  background: var(--surface) !important;
  color: var(--violet-700) !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_cookies_control {
  color: var(--violet-300) !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_cookies_control:hover {
  background: var(--surface) !important;
  color: var(--violet-200) !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_control svg {
  width: 9px !important;
  height: 9px !important;
}

/* Tableau des cookies */
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies {
  background-color: var(--surface) !important;
  border: 1px solid var(--line) !important;
  border-radius: 12px !important;
  margin-top: 12px !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_cookies {
  border-color: var(--line-strong) !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table,
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table tbody,
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table thead,
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table tr,
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table th,
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table td {
  background-color: transparent !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table th {
  color: var(--text-soft) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table td {
  color: var(--text) !important;
  border-top: 1px solid var(--line) !important;
  font-size: 0.8rem !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table td {
  border-top-color: var(--line-strong) !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table td:nth-child(2) {
  color: var(--violet-600) !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_cookies_table td:nth-child(2) {
  color: var(--violet-300) !important;
}
#cookiescript_fsd_wrapper .cookiescript_vendor_name a {
  color: var(--violet-600) !important;
  font-size: 0.8rem !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_vendor_name a {
  color: var(--violet-300) !important;
}

/* Footer du panneau */
#cookiescript_fsd_wrapper .cookiescript_fsd_footer {
  background-color: var(--surface) !important;
  border-top: 1px solid var(--line) !important;
  border-radius: 0 0 24px 24px !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_footer {
  border-top-color: var(--line-strong) !important;
}

/* Boutons FSD (mêmes IDs que banner mais override des règles natives spécifiques) */
#cookiescript_injected_fsd #cookiescript_buttons {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 12px 18px !important;
  margin: 0 !important;
  justify-content: flex-start !important;
}
#cookiescript_injected_fsd #cookiescript_buttons #cookiescript_reject {
  margin-right: auto !important;
}

#cookiescript_injected_fsd #cookiescript_accept,
#cookiescript_injected_fsd #cookiescript_save {
  background: linear-gradient(135deg, var(--violet-600), var(--pink-500)) !important;
  background-color: var(--violet-600) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  padding: 0.75rem 1.4rem !important;
  margin: 6px 0 !important;
  flex-grow: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: 0 8px 22px -10px rgba(219, 39, 119, 0.7) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease, background-color .2s ease !important;
}
#cookiescript_injected_fsd #cookiescript_accept:hover,
#cookiescript_injected_fsd #cookiescript_save:hover {
  background-color: var(--violet-700) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px -10px rgba(219, 39, 119, 0.85) !important;
  filter: brightness(1.06);
}
/* Save reste primaire mais distinct (passé en bouton "primary plain" pour différencier) */
#cookiescript_injected_fsd #cookiescript_save {
  order: 3 !important;
}
#cookiescript_injected_fsd #cookiescript_accept {
  order: 1 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--text) !important;
  border: 1px solid var(--line-strong) !important;
  box-shadow: none !important;
}
#cookiescript_injected_fsd #cookiescript_accept:hover {
  background: var(--bg-soft) !important;
  background-color: var(--bg-soft) !important;
  color: var(--violet-700) !important;
  border-color: var(--violet-600) !important;
  box-shadow: none !important;
  filter: none !important;
}
.dark #cookiescript_injected_fsd #cookiescript_accept {
  color: var(--text) !important;
  border-color: var(--line-strong) !important;
}
.dark #cookiescript_injected_fsd #cookiescript_accept:hover {
  background-color: var(--surface-2) !important;
  border-color: var(--violet-400) !important;
  color: var(--violet-200) !important;
}

#cookiescript_injected_fsd #cookiescript_reject {
  order: 2 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--text) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: 999px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  padding: calc(0.75rem - 1px) 1.4rem !important;
  margin: 6px 0 !important;
  flex-grow: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}
#cookiescript_injected_fsd #cookiescript_reject:hover {
  background: var(--bg-soft) !important;
  background-color: var(--bg-soft) !important;
  border-color: var(--violet-600) !important;
  color: var(--violet-700) !important;
}
.dark #cookiescript_injected_fsd #cookiescript_reject:hover {
  background-color: var(--surface-2) !important;
  border-color: var(--violet-400) !important;
  color: var(--violet-200) !important;
}

/* "Cookie report by CookieScript" */
#cookiescript_fsd_wrapper .cookiescript_fsd_reportby {
  color: var(--text-soft) !important;
  font-size: 0.74rem !important;
  bottom: -20px !important;
  right: 24px !important;
  opacity: 0.85 !important;
}
#cookiescript_fsd_wrapper #cookiescript_fsd_reportlink,
#cookiescript_fsd_wrapper #cookiescript_fsd_cookiescriptlink {
  color: var(--text-soft) !important;
  font-size: 0.74rem !important;
  text-decoration: underline !important;
}
#cookiescript_fsd_wrapper #cookiescript_fsd_reportlink:hover,
#cookiescript_fsd_wrapper #cookiescript_fsd_cookiescriptlink:hover {
  color: var(--violet-300) !important;
}


/* ============================================================================
   5. MDC SWITCHES (FSD) — track + handle pseudo-elements
   ============================================================================ */

/* Track désactivé (la barre derrière le thumb) */
#cookiescript_injected_fsd .mdc-switch:enabled .mdc-switch__track::before,
#cookiescript_injected_fsd .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before,
#cookiescript_injected_fsd .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before,
#cookiescript_injected_fsd .mdc-switch:enabled:active .mdc-switch__track::before {
  background: var(--line-strong) !important;
}
.dark #cookiescript_injected_fsd .mdc-switch:enabled .mdc-switch__track::before,
.dark #cookiescript_injected_fsd .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::before,
.dark #cookiescript_injected_fsd .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::before,
.dark #cookiescript_injected_fsd .mdc-switch:enabled:active .mdc-switch__track::before {
  background: rgba(249, 168, 212, 0.18) !important;
}

/* Track activé (la barre violette derrière le thumb sélectionné) */
#cookiescript_injected_fsd .mdc-switch:enabled .mdc-switch__track::after,
#cookiescript_injected_fsd .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after,
#cookiescript_injected_fsd .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after,
#cookiescript_injected_fsd .mdc-switch:enabled:active .mdc-switch__track::after {
  background: var(--violet-300) !important;
  opacity: 1 !important;
}
.dark #cookiescript_injected_fsd .mdc-switch:enabled .mdc-switch__track::after,
.dark #cookiescript_injected_fsd .mdc-switch:enabled:hover:not(:focus):not(:active) .mdc-switch__track::after,
.dark #cookiescript_injected_fsd .mdc-switch:enabled:focus:not(:active) .mdc-switch__track::after,
.dark #cookiescript_injected_fsd .mdc-switch:enabled:active .mdc-switch__track::after {
  background: var(--violet-700) !important;
  opacity: 1 !important;
}

/* Handle (thumb) désactivé : Cookie-Script natif #616161 → on l'éclaircit */
#cookiescript_injected_fsd .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after {
  background: var(--text-soft) !important;
}
.dark #cookiescript_injected_fsd .mdc-switch.mdc-switch--unselected:enabled .mdc-switch__handle::after,
.dark #cookiescript_injected_fsd .mdc-switch.mdc-switch--unselected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after,
.dark #cookiescript_injected_fsd .mdc-switch.mdc-switch--unselected:enabled:focus:not(:active) .mdc-switch__handle::after,
.dark #cookiescript_injected_fsd .mdc-switch.mdc-switch--unselected:enabled:active .mdc-switch__handle::after {
  background: #F9A8D4 !important;
}

/* Handle (thumb) activé : Cookie-Script natif #61358c → notre violet */
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after {
  background: var(--violet-600) !important;
}
.dark #cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled .mdc-switch__handle::after,
.dark #cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus):not(:active) .mdc-switch__handle::after,
.dark #cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:focus:not(:active) .mdc-switch__handle::after,
.dark #cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__handle::after {
  background: var(--violet-400) !important;
}

/* Ripple sélectionné */
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::before,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:hover:not(:focus) .mdc-switch__ripple::after,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::before,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:focus .mdc-switch__ripple::after,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::before,
#cookiescript_injected_fsd .mdc-switch.mdc-switch--selected:enabled:active .mdc-switch__ripple::after {
  background: var(--violet-600) !important;
}

/* Scrollbars FSD */
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies::-webkit-scrollbar-thumb,
#cookiescript_fsd_wrapper .cookiescript_fsd_tabs_content::-webkit-scrollbar-thumb {
  background-color: var(--violet-600) !important;
}
#cookiescript_fsd_wrapper .cookiescript_fsd_cookies::-webkit-scrollbar-track,
#cookiescript_fsd_wrapper .cookiescript_fsd_tabs_content::-webkit-scrollbar-track {
  background-color: var(--line) !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_cookies::-webkit-scrollbar-thumb,
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_tabs_content::-webkit-scrollbar-thumb {
  background-color: var(--violet-400) !important;
}
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_cookies::-webkit-scrollbar-track,
.dark #cookiescript_fsd_wrapper .cookiescript_fsd_tabs_content::-webkit-scrollbar-track {
  background-color: var(--line-strong) !important;
}


/* ============================================================================
   6. BADGE (post-acceptation)
   ============================================================================ */

#cookiescript_badge {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--line-strong) !important;
  box-shadow: 0 12px 30px -12px rgba(80, 7, 36, 0.35) !important;
  border-radius: 999px !important;
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif !important;
  font-weight: 600 !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
#cookiescript_badge:hover {
  transform: translateY(-1px);
  box-shadow: 0 16px 36px -12px rgba(80, 7, 36, 0.45) !important;
}
.dark #cookiescript_badge {
  border-color: var(--line-strong) !important;
  box-shadow: 0 12px 30px -12px rgba(0, 0, 0, 0.6) !important;
}


/* ============================================================================
   7. MOBILE
   ============================================================================ */

@media (max-width: 414px) {
  #cookiescript_injected {
    width: 100% !important;
    max-width: 100% !important;
    bottom: 0 !important;
    left: 0 !important;
    border-radius: 16px 16px 0 0 !important;
    padding: 14px !important;
  }
  #cookiescript_fsd_wrapper {
    border-radius: 0 !important;
  }
  #cookiescript_fsd_wrapper .cookiescript_fsd_header,
  #cookiescript_fsd_wrapper .cookiescript_fsd_footer {
    border-radius: 0 !important;
  }
  #cookiescript_fsd_wrapper .cookiescript_fsd_main_info {
    padding: 14px 18px !important;
  }
  #cookiescript_fsd_wrapper .cookiescript_fsd_tabs_content {
    padding: 6px 18px 10px !important;
  }
  #cookiescript_injected_fsd #cookiescript_buttons {
    padding: 10px 14px !important;
  }
}
