:root {
    --tac-bg: #0b1c36;
    --tac-text: #E5E7EB;
    --tac-text-muted: #9aa3b5;
    --tac-cyan: #00C2FF;
    --tac-success: #34d399;
    --tac-success-dim: rgba(16, 185, 129, 0.15);
    --tac-success-border: rgba(16, 185, 129, 0.4);
    --tac-danger: #ff4d6d;
    --tac-danger-dim: rgba(255, 77, 109, 0.12);
    --tac-danger-border: rgba(255, 77, 109, 0.4);
    --tac-border: rgba(255, 255, 255, 0.1);
}

/* Base : texte par défaut partout */
#tarteaucitronRoot * {
    color: var(--tac-text) !important;
}

#tarteaucitronRoot button {
    box-shadow: none !important;
}

/* Fonds : bandeau bas, modal de personnalisation, petite icône, back-drop */
#tarteaucitronBack,
#tarteaucitronRoot #tarteaucitronAlertBig,
#tarteaucitronAlertSmall,
#tarteaucitron .tarteaucitronBorder,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesTitle,
#tarteaucitron #tarteaucitronClosePanel,
#tarteaucitronCookiesList .tarteaucitronTitle,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronTitle,
#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronRoot .asCatToggleBtn,
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^=tarteaucitronDetails],
#tarteaucitron #tarteaucitronServices .tarteaucitronLine,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover,
html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList,
html body #tarteaucitronRoot div#tarteaucitronSave {
    background: var(--tac-bg) !important;
    color: var(--tac-text) !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    border-color: var(--tac-bg) !important;
}

/* Titres, libellés, texte secondaire */
#tarteaucitronRoot .tarteaucitronH1,
#tarteaucitronRoot .tarteaucitronH2,
#tarteaucitron #tarteaucitronDisclaimer,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName .tarteaucitronListCookies,
#tarteaucitronRoot #tarteaucitronAlertBig,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
#tarteaucitronCloseCross,
#tarteaucitronAlertSmall #tarteaucitronManager,
#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
    color: var(--tac-text) !important;
}

.tarteaucitronName .tacCurrentStatus,
.tarteaucitronName .tarteaucitronReadmoreSeparator {
    color: var(--tac-text-muted) !important;
}

/* Liens génériques */
#tarteaucitron a,
#tarteaucitronRoot a {
    color: var(--tac-cyan) !important;
}

/* Accepter / Autoriser / Enregistrer — fond+bordure sur le bouton uniquement */
#tarteaucitronRoot .tarteaucitronAllow {
    background: var(--tac-success-dim) !important;
    border: 1px solid var(--tac-success-border) !important;
    border-radius: 6px !important;
}

#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronAllow * {
    color: var(--tac-success) !important;
    font-weight: 700 !important;
}

/* Refuser / Interdire — fond+bordure sur le bouton uniquement */
#tarteaucitronRoot .tarteaucitronDeny {
    background: var(--tac-danger-dim) !important;
    border: 1px solid var(--tac-danger-border) !important;
    border-radius: 6px !important;
}

#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot .tarteaucitronDeny * {
    color: var(--tac-danger) !important;
    font-weight: 700 !important;
}

#tarteaucitronRoot .tarteaucitronAllow .tarteaucitronCheck::before {
    color: var(--tac-success) !important;
}

#tarteaucitronRoot .tarteaucitronDeny .tarteaucitronCross::before {
    color: var(--tac-danger) !important;
}

/* État sélectionné (ligne déjà autorisée/refusée) */
#tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected {
    background: var(--tac-success-dim) !important;
    color: var(--tac-success) !important;
}

#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied2.tarteaucitronIsSelected {
    background: var(--tac-danger-dim) !important;
    color: var(--tac-danger) !important;
}

/* Personnaliser (bandeau) — secondaire, discret, fond+bordure sur le bouton uniquement */
#tarteaucitronAlertBig #tarteaucitronCloseAlert {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 6px !important;
}

#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronAlertBig #tarteaucitronCloseAlert * {
    color: var(--tac-text-muted) !important;
    font-weight: 400 !important;
}

/* Politique de confidentialité — lien, jamais un bouton, dans les deux emplacements */
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl *,
#tarteaucitron #tarteaucitronPrivacyUrlDialog,
#tarteaucitron #tarteaucitronPrivacyUrlDialog * {
    background: transparent !important;
    color: var(--tac-cyan) !important;
    text-decoration: underline !important;
    font-weight: 400 !important;
    padding: 8px 4px !important;
}

/* Icône ✛ (plus, catégories) */
#tarteaucitronRoot .tarteaucitronPlus::before {
    color: var(--tac-text) !important;
}

/* Bordures */
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
#tarteaucitron .tarteaucitronBorder,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronHidden {
    border-color: var(--tac-border) !important;
}
