/*
 * Habillage Scribe Local pour tarteaucitron.js (fond jaune par défaut trop daté),
 * adapté au thème sombre du site (contrairement aux 3 autres sites Kortilabs,
 * tous clairs). Mêmes correctifs structurels que kortilabs-hub, couleurs différentes.
 */

/* ---------- Backdrop derrière la modale ---------- */
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before,
html body .tarteaucitronSize-middle.tarteaucitronBeforeVisible::before {
  background: rgba(0, 0, 0, 0.6) !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* ---------- Bandeau bas de page ---------- */
#tarteaucitronRoot #tarteaucitronAlertBig {
  left: 50% !important;
  right: auto !important;
  bottom: 16px !important;
  transform: translateX(-50%);
  width: calc(100% - 32px);
  max-width: 720px;
  padding: 22px 24px !important;
  background: #181b25 !important;
  border: 1px solid hsl(224, 14%, 20%) !important;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  flex: 1 1 260px;
  text-align: left;
  font-size: 0.88rem;
  line-height: 1.5;
  color: hsl(224, 6%, 77%) !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
  color: #ffffff;
}

#tarteaucitronAlertBig .tarteaucitronCTAButton,
#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  font-family: inherit;
  font-size: 0.86rem !important;
  font-weight: 600;
  line-height: 1;
  border-radius: 100px;
  padding: 10px 16px;
  margin: 0;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

/* Tout accepter — bouton primaire (accent du site) */
#tarteaucitronAlertBig #tarteaucitronPersonalize2.tarteaucitronAllow {
  background: #4f7ef8;
  color: #ffffff;
}
#tarteaucitronAlertBig #tarteaucitronPersonalize2.tarteaucitronAllow:hover {
  background: #3b66e5;
  color: #ffffff;
  transform: translateY(-1px);
}
#tarteaucitronAlertBig #tarteaucitronPersonalize2 .tarteaucitronCheck {
  display: none;
}

/* Tout refuser — contour */
#tarteaucitronAlertBig #tarteaucitronAllDenied2.tarteaucitronDeny {
  background: transparent;
  color: #ffffff;
  border-color: hsl(224, 14%, 20%);
}
#tarteaucitronAlertBig #tarteaucitronAllDenied2.tarteaucitronDeny:hover {
  border-color: #ffffff;
}
#tarteaucitronAlertBig #tarteaucitronAllDenied2 .tarteaucitronCross {
  display: none;
}

/* Personnaliser — lien discret */
#tarteaucitronAlertBig #tarteaucitronCloseAlert {
  background: transparent !important;
  color: hsl(224, 6%, 56%) !important;
  text-decoration: underline;
  padding: 10px 6px;
}
#tarteaucitronAlertBig #tarteaucitronCloseAlert:hover {
  color: #ffffff !important;
}

/* Politique de confidentialité — lien texte */
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  background: transparent !important;
  color: hsl(224, 6%, 56%) !important;
  font-weight: 500;
  text-decoration: underline;
  padding: 10px 6px;
  font-size: 0.8rem !important;
}

@media (max-width: 640px) {
  #tarteaucitronRoot #tarteaucitronAlertBig {
    flex-direction: column;
    align-items: stretch;
    bottom: 0 !important;
    width: 100%;
    max-width: 100%;
    border-radius: 16px 16px 0 0;
  }
  #tarteaucitronAlertBig .tarteaucitronCTAButton,
  #tarteaucitronAlertBig #tarteaucitronCloseAlert,
  #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    width: 100% !important;
    text-align: center;
  }
}

/* ---------- Icône de réouverture ---------- */
#tarteaucitronIcon #tarteaucitronManager {
  background: #181b25 !important;
  border: 1px solid hsl(224, 14%, 20%) !important;
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
  padding: 6px;
}
#tarteaucitronIcon #tarteaucitronManager img {
  width: 38px;
  height: 38px;
}

/* ---------- Panneau de personnalisation ---------- */
#tarteaucitronRoot #tarteaucitron {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  border-radius: 20px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  border: 1px solid hsl(224, 14%, 20%);
  background: #0f1117 !important;
}

/* Filet de sécurité : le vendor pose "#tarteaucitronRoot * { color: #333 }" en
   universel — texte gris quasi illisible sur notre fond sombre. On bat cette
   règle pour tout ce qui est à l'intérieur du panneau ; les règles plus
   spécifiques ci-dessous (titres, noms de service...) restent prioritaires. */
#tarteaucitronRoot #tarteaucitron * {
  color: hsl(224, 6%, 77%);
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronDisclaimer,
#tarteaucitronRoot #tarteaucitron .tarteaucitronH1,
#tarteaucitronRoot #tarteaucitron #tac_title {
  color: #ffffff;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronH1 {
  font-family: 'Space Grotesk', 'Inter', sans-serif;
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: -0.01em;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronH2 {
  font-size: 0.98rem;
  font-weight: 700;
  color: #ffffff;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronH3 {
  font-size: 0.95rem !important;
  font-weight: 600;
  color: #ffffff;
}

#tarteaucitron #tarteaucitronInfo {
  background: #0f1117 !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p {
  color: hsl(224, 6%, 56%);
  font-size: 0.9rem;
  line-height: 1.6;
}

div#tarteaucitronServices {
  background: #0f1117 !important;
  border: none;
  margin-top: 0 !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
  background: #0f1117 !important;
  border: none !important;
  border-bottom: 1px solid hsl(224, 14%, 20%) !important;
}

/* Le vendor donne à chaque ligne de service (obligatoire, catégorie...) un fond
   blanc — sur un thème clair c'est invisible par coïncidence, ça ne l'est pas
   ici. ".tarteaucitronMainLine" a en plus des bordures blanches épaisses (3/9/5px). */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover {
  background: #0f1117 !important;
  border-color: #0f1117 !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronName {
  color: #ffffff;
  font-weight: 600;
}

/* Fermer (haut du panneau) : icône × ronde */
button#tarteaucitronClosePanel {
  top: 16px !important;
  right: 16px !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  font-size: 0 !important;
  background: #181b25 !important;
  border: 1px solid hsl(224, 14%, 20%);
  border-radius: 50% !important;
  z-index: 5 !important;
  transition: border-color 0.2s ease, background 0.2s ease;
}
button#tarteaucitronClosePanel::before,
button#tarteaucitronClosePanel::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 13px;
  height: 2px;
  background: #ffffff;
  border-radius: 2px;
}
button#tarteaucitronClosePanel::before { transform: translate(-50%, -50%) rotate(45deg); }
button#tarteaucitronClosePanel::after { transform: translate(-50%, -50%) rotate(-45deg); }
button#tarteaucitronClosePanel:hover { border-color: #ffffff; background: #21242f !important; }

/* Politique de confidentialité (lien dans le panneau) */
#tarteaucitron #tarteaucitronPrivacyUrlDialog {
  font-family: inherit;
  background: transparent !important;
  color: hsl(224, 6%, 56%) !important;
  text-decoration: underline;
  padding: 0;
  font-size: 0.86rem !important;
}

/* Tout accepter / Tout refuser (panneau), Autoriser / Interdire (catégorie), Enregistrer */
#tarteaucitronRoot #tarteaucitron button.tarteaucitron-toggle-group,
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny,
html body #tarteaucitronRoot button#tarteaucitronSaveButton {
  font-family: inherit;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  border-radius: 100px !important;
  padding: 9px 16px !important;
  margin: 4px 6px 4px 0 !important;
  border: 1px solid hsl(224, 14%, 20%) !important;
  background: #181b25 !important;
  color: #ffffff !important;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:hover {
  border-color: #ffffff;
}

/* État actif (aria-pressed) */
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow[aria-pressed="true"] {
  background: #16653f !important;
  border-color: #16653f !important;
  color: #ffffff !important;
}
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny[aria-pressed="true"] {
  background: #374151 !important;
  border-color: #374151 !important;
  color: #ffffff !important;
}

/* Catégorie active (bandeau global) */
#tarteaucitronRoot #tarteaucitron .tarteaucitronIsSelected {
  background-color: #4f7ef8 !important;
  border-color: #4f7ef8 !important;
  color: #ffffff !important;
}

/* Bouton "Enregistrer" — le vendor lui donne AUSSI la classe .tarteaucitronAllow,
   donc la règle générique grise (qui a une classe dans son sélecteur) le battait
   en spécificité malgré le !important ; on ajoute .tarteaucitronAllow ici pour
   au moins égaler ce tarteaucitronAllow tier puis gagner sur le nombre de types. */
html body #tarteaucitronRoot button#tarteaucitronSaveButton.tarteaucitronAllow {
  background: #4f7ef8 !important;
  color: #ffffff !important;
  border-color: #4f7ef8 !important;
}
html body #tarteaucitronRoot button#tarteaucitronSaveButton.tarteaucitronAllow:hover {
  background: #3b66e5 !important;
  color: #ffffff !important;
  border-color: #3b66e5 !important;
}

/* Conteneur du bouton Enregistrer : fond blanc vendor jamais couvert jusqu'ici */
html body #tarteaucitronRoot div#tarteaucitronSave {
  background: #0f1117 !important;
}

/* Lien "Gestion des services (n)" */
#tarteaucitronRoot .tarteaucitron-toggle-group {
  color: #a8c1fc;
  font-size: 0.85rem;
  font-weight: 600;
}

/* Titres de catégorie */
#tarteaucitronRoot .tarteaucitronTitle button {
  font-family: inherit;
  font-weight: 700;
  font-size: 0.92rem;
  color: #ffffff;
  background: transparent;
}

/* Icônes cassées (glyphes Unicode absents d'Inter) */
#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross {
  display: none;
}
#tarteaucitronRoot .tarteaucitronPlus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
}
#tarteaucitronRoot .tarteaucitronPlus::before {
  content: '+' !important;
  color: hsl(224, 6%, 56%);
  font-weight: 700;
}
#tarteaucitronRoot button[aria-expanded="true"] .tarteaucitronPlus::before {
  content: '–' !important;
}
