/*
 * tarteaucitron dark theme
 * Style glossy/glassmorphism inspiré des PrizeCards du site
 * Palette : slate-900 / slate-800 / indigo-500
 * Contraste RGAA AA : texte #e2e8f0 sur fond #0f172a = ratio 13.5:1
 */

/* ===== GLOBAL COLOR RESET ===== */
/* La lib force color:#333 sur #tarteaucitronRoot * — on surcharge */
#tarteaucitronRoot *,
#tarteaucitronRoot .tarteaucitronH1,
#tarteaucitronRoot .tarteaucitronH2,
#tarteaucitronRoot .tarteaucitronH3,
#tarteaucitronRoot strong,
#tarteaucitronRoot span,
#tarteaucitronRoot div,
#tarteaucitronRoot li,
#tarteaucitronRoot b {
    color: #e2e8f0 !important; /* slate-200 — ratio 13.5:1 sur slate-900 */
}

/* ===== OVERLAY ===== */
button#tarteaucitronBack {
    background: rgba(0, 0, 0, 0.7) !important;
    backdrop-filter: blur(4px) !important;
}

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(4px) !important;
}

/* ===== MAIN PANEL (fond principal) ===== */
#tarteaucitronRoot #tarteaucitronAlertBig {
    background: rgba(15, 23, 42, 0.95) !important; /* slate-900 glassmorphism */
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(99, 102, 241, 0.15) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    color: #e2e8f0 !important;
}

/* Middle popup arrondi */
html body #tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig {
    border-radius: 24px !important;
    border: 1px solid rgba(99, 102, 241, 0.2) !important;
}

/* ===== TITRE PRINCIPAL "Panneau de gestion des cookies" ===== */
#tarteaucitronRoot .tarteaucitronH1 {
    color: #f8fafc !important; /* slate-50 — blanc pur lisible */
    font-weight: 800 !important;
    font-size: 1.5em !important;
}

/* ===== DISCLAIMER (encadré texte central) ===== */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    color: #cbd5e1 !important; /* slate-300 */
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
    color: #f1f5f9 !important; /* slate-100 */
}

/* Encadré disclaimer dans le mode "middle" */
html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList {
    background: rgba(30, 41, 59, 0.6) !important; /* slate-800 */
    border: 1px solid rgba(71, 85, 105, 0.4) !important;
    border-radius: 16px !important;
    color: #cbd5e1 !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList b {
    color: #f1f5f9 !important;
}

/* Lien "Politique de confidentialite" */
html #tarteaucitronRoot #tarteaucitronPrivacyUrl,
html #tarteaucitronRoot #tarteaucitronPrivacyUrlDialog,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a {
    color: #a5b4fc !important; /* indigo-300 — ratio 5.7:1 sur slate-900 */
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

/* ===== BOUTONS ACCEPT (indigo gradient glossy) ===== */
#tarteaucitronRoot button#tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitron #tarteaucitronCloseAlert,
#tarteaucitronRoot .tarteaucitronAllow,
html body #tarteaucitronRoot button#tarteaucitronSaveButton {
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%) !important; /* indigo-500 → 600 */
    color: #fff !important;
    border: 1px solid rgba(129, 140, 248, 0.3) !important; /* highlight subtil */
    border-radius: 12px !important;
    font-weight: 700 !important;
    box-shadow: 0 2px 10px rgba(99, 102, 241, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
    transition: all 0.2s ease !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

#tarteaucitronRoot button#tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitron #tarteaucitronCloseAlert:hover,
#tarteaucitronRoot .tarteaucitronAllow:hover,
html body #tarteaucitronRoot button#tarteaucitronSaveButton:hover {
    background: linear-gradient(135deg, #818cf8 0%, #6366f1 100%) !important; /* indigo-400 → 500 */
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
    transform: translateY(-1px) !important;
}

#tarteaucitronRoot button#tarteaucitronPersonalize2 *,
#tarteaucitronRoot .tarteaucitronAllow *,
html body #tarteaucitronRoot button#tarteaucitronSaveButton * {
    color: #fff !important;
}

/* ===== BOUTONS DENY (outline slate) ===== */
#tarteaucitronRoot button.tarteaucitronDeny,
#tarteaucitronRoot button#tarteaucitronAllDenied2 {
    background: rgba(30, 41, 59, 0.5) !important; /* slate-800 semi */
    color: #e2e8f0 !important;
    border: 1px solid #475569 !important; /* slate-600 */
    border-radius: 12px !important;
    font-weight: 700 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    transition: all 0.2s ease !important;
}

#tarteaucitronRoot button.tarteaucitronDeny:hover,
#tarteaucitronRoot button#tarteaucitronAllDenied2:hover {
    background: rgba(51, 65, 85, 0.6) !important; /* slate-700 */
    border-color: #64748b !important; /* slate-500 */
    color: #f8fafc !important;
}

#tarteaucitronRoot button.tarteaucitronDeny *,
#tarteaucitronRoot button#tarteaucitronAllDenied2 * {
    color: #e2e8f0 !important;
}

/* ===== BOUTON PERSONNALISER / MORE INFO ===== */
#tarteaucitronRoot button#tarteaucitronPersonalize,
#tarteaucitronRoot button.tarteaucitronCTAButton {
    background: transparent !important;
    color: #94a3b8 !important; /* slate-400 */
    border: 1px solid #334155 !important; /* slate-700 */
    border-radius: 12px !important;
    transition: all 0.2s ease !important;
}

#tarteaucitronRoot button#tarteaucitronPersonalize:hover,
#tarteaucitronRoot button.tarteaucitronCTAButton:hover {
    background: rgba(30, 41, 59, 0.5) !important;
    color: #e2e8f0 !important;
    border-color: #475569 !important;
}

/* ===== PANNEAU SERVICES (mode middle) ===== */
#tarteaucitronRoot div#tarteaucitron {
    background: rgba(15, 23, 42, 0.97) !important;
    backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(99, 102, 241, 0.15) !important;
    border-radius: 24px !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

#tarteaucitron .tarteaucitronBorder {
    background: transparent !important;
    border-color: transparent !important;
}

/* ===== EN-TETE "Panneau de gestion des cookies" dans panel ===== */
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle {
    background: transparent !important;
    color: #f8fafc !important;
    border-color: transparent !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button {
    color: #f8fafc !important;
    background: transparent !important;
}

/* ===== CLOSE "Fermer" ===== */
#tarteaucitron #tarteaucitronClosePanel {
    background: rgba(15, 23, 42, 0.9) !important;
    color: #94a3b8 !important;
    border: 1px solid #334155 !important;
    border-radius: 8px !important;
}

#tarteaucitron #tarteaucitronClosePanel:hover {
    color: #f1f5f9 !important;
    border-color: #475569 !important;
}

/* ===== CATEGORIES (Cookies obligatoires, Mesure d'audience) ===== */
#tarteaucitron .tarteaucitronH3,
span.tarteaucitronH3,
span.tarteaucitronTitle.tarteaucitronH3,
#tarteaucitronRoot .tarteaucitronH3,
#tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3 {
    background: rgba(30, 41, 59, 0.7) !important; /* glassmorphism slate-800 */
    color: #f1f5f9 !important; /* slate-100 — haut contraste */
    border: 1px solid rgba(71, 85, 105, 0.4) !important;
    border-radius: 12px !important;
    border-left: 3px solid #6366f1 !important; /* accent indigo */
    padding: 8px 16px !important;
    backdrop-filter: blur(8px) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
}

#tarteaucitron .tarteaucitronH3 b,
#tarteaucitron .tarteaucitronH3 span,
#tarteaucitron .tarteaucitronH3 button,
span.tarteaucitronH3 b,
#tarteaucitronRoot .tarteaucitronH3 * {
    color: #f1f5f9 !important;
    font-weight: 700 !important;
}

/* Contenu sous les categories */
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"] {
    background: rgba(15, 23, 42, 0.8) !important;
    color: #94a3b8 !important;
    border: none !important;
    border-radius: 0 0 12px 12px !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"] * {
    color: #94a3b8 !important;
}

/* ===== LIGNES DE SERVICES (Google Analytics, etc.) ===== */
#tarteaucitron .tarteaucitronLine {
    background: rgba(15, 23, 42, 0.6) !important;
    border-color: rgba(51, 65, 85, 0.4) !important;
    border-left: 0 !important;
}

#tarteaucitron .tarteaucitronLine:hover {
    background: rgba(30, 41, 59, 0.6) !important;
}

#tarteaucitron .tarteaucitronLine .tarteaucitronName span,
#tarteaucitron .tarteaucitronLine .tarteaucitronName b {
    color: #f1f5f9 !important; /* slate-100 */
    font-weight: 700 !important;
}

#tarteaucitron .tarteaucitronLine .tarteaucitronName a {
    color: #a5b4fc !important; /* indigo-300 */
    font-weight: 500 !important;
}

#tarteaucitron .tarteaucitronLine .tarteaucitronName a:hover {
    color: #c7d2fe !important; /* indigo-200 */
}

/* Description du service */
#tarteaucitron .tarteaucitronLine .tarteaucitronName .tarteaucitronListCookies,
.tarteaucitronName .tacCurrentStatus,
.tarteaucitronName .tarteaucitronReadmoreSeparator {
    color: #94a3b8 !important; /* slate-400 — ratio 4.6:1 sur slate-900 */
    font-size: 12px !important;
}

/* ===== MAIN LINE (Preferences pour tous les services) ===== */
div#tarteaucitronMainLineOffset {
    background: transparent !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    background: rgba(30, 41, 59, 0.5) !important;
    border-color: rgba(71, 85, 105, 0.3) !important;
    border-radius: 12px !important;
}

#tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName {
    color: #cbd5e1 !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a {
    color: #e2e8f0 !important;
}

/* ===== SAVE AREA (Enregistrer) ===== */
html body #tarteaucitronRoot div#tarteaucitronSave {
    background: transparent !important;
    border: none !important;
}

/* ===== INFO TOOLTIP ===== */
#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails:not(.tarteaucitronDetailsInline) {
    background: rgba(30, 41, 59, 0.95) !important;
    color: #cbd5e1 !important;
    border: 1px solid #475569 !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(12px) !important;
}

#tarteaucitron #tarteaucitronInfo *,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails * {
    color: #cbd5e1 !important;
}

#tarteaucitron #tarteaucitronInfo a,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails a {
    color: #a5b4fc !important;
}

/* ===== SMALL ICON (bottom-left) ===== */
#tarteaucitronAlertSmall {
    background: rgba(15, 23, 42, 0.9) !important;
    border: 1px solid #334155 !important;
    border-radius: 12px !important;
    backdrop-filter: blur(12px) !important;
}

#tarteaucitronAlertSmall #tarteaucitronManager {
    background: transparent !important;
    color: #94a3b8 !important;
}

#tarteaucitronAlertSmall #tarteaucitronManager:hover {
    color: #f1f5f9 !important;
}

#tarteaucitronIcon {
    background: rgba(15, 23, 42, 0.9) !important;
    border: 1px solid #334155 !important;
    border-radius: 12px !important;
}

/* ===== BRANDING "TARTE AU CITRON" ===== */
#tarteaucitronRoot .tarteaucitronSelfLink,
#tarteaucitronRoot .tarteaucitronSelfLink a {
    color: #475569 !important; /* discret */
    font-size: 0.75em !important;
}

#tarteaucitronRoot .tarteaucitronSelfLink a:hover {
    color: #64748b !important;
}

/* ===== GLOBAL BOUTONS POLISH ===== */
#tarteaucitronRoot button {
    border-radius: 12px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

/* ===== SCROLLBAR ===== */
#tarteaucitron #tarteaucitronServices::-webkit-scrollbar {
    width: 6px;
}

#tarteaucitron #tarteaucitronServices::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, 0.5);
}

#tarteaucitron #tarteaucitronServices::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 3px;
}

#tarteaucitron #tarteaucitronServices::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* ===== TOGGLE GROUP BUTTON ===== */
button.tarteaucitron-toggle-group {
    color: #a5b4fc !important;
}

/* ===== MOBILE : icone cookie plus petite ===== */
@media screen and (max-width: 767px) {
    #tarteaucitronIcon {
        margin: 6px !important;
    }

    #tarteaucitronIcon #tarteaucitronManager {
        padding: 4px 6px !important;
    }

    #tarteaucitronIcon #tarteaucitronManager img {
        width: 28px !important;
        height: auto !important;
    }
}
