/* tarteaucitron-custom.css — habillage PREV INDUSTRIES
   A charger APRES tarteaucitron.min.js dans le <head>, une seule fois par page. */

/* Voile derriere le bandeau initial : la librairie utilise du blanc par
   defaut (rgba(255,255,255,.25) + flou), ce qui jure violemment avec le
   theme sombre du site et donne l'impression de quitter le site. On
   remplace par un voile sombre coherent avec la charte. */
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before,
html body .tarteaucitronSize-middle.tarteaucitronBeforeVisible::before {
    background: rgba(15, 15, 35, 0.55) !important;
    backdrop-filter: blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig {
    background: rgba(15, 15, 35, 0.97) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5) !important;
    color: #d1d5db !important;
    font-family: 'Inter', sans-serif !important;
    width: min(88vw, 460px) !important;
    max-width: 460px !important;
    padding: 1.75rem !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert * {
    color: #d1d5db !important;
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig strong {
    color: #ffffff !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig a,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog {
    color: #7a8ac8 !important;
    text-decoration: underline !important;
}

/* Boutons "Tout accepter" */
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronCTAButton.tarteaucitronAllow {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    padding: 0.7rem 1.6rem !important;
    font-family: 'Inter', sans-serif !important;
    transition: transform 0.15s, box-shadow 0.15s !important;
}
#tarteaucitronRoot .tarteaucitronAllow:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(34, 197, 94, 0.35) !important;
}

/* Boutons "Tout refuser" */
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot .tarteaucitronCTAButton.tarteaucitronDeny {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #d1d5db !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 999px !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
    padding: 0.7rem 1.6rem !important;
    font-family: 'Inter', sans-serif !important;
    transition: transform 0.15s, border-color 0.15s !important;
}
#tarteaucitronRoot .tarteaucitronDeny:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}
#tarteaucitronRoot [aria-pressed="true"].tarteaucitronAllow {
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.5) !important;
}
#tarteaucitronRoot [aria-pressed="true"].tarteaucitronDeny {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(239, 68, 68, 0.5) !important;
    color: #fca5a5 !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.5) !important;
}

/* Lien "Personnaliser" */
#tarteaucitronRoot #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronPersonalize2 {
    background: transparent !important;
    color: #9ca3af !important;
    text-decoration: underline !important;
    font-size: 0.85rem !important;
    border: none !important;
    font-family: 'Inter', sans-serif !important;
}
#tarteaucitronRoot #tarteaucitronPersonalize:hover,
#tarteaucitronRoot #tarteaucitronPersonalize2:hover {
    color: #ffffff !important;
}

/* Croix de fermeture */
#tarteaucitronRoot #tarteaucitronCloseAlert {
    color: #9ca3af !important;
}

/* Fond assombri derriere le panneau */
body.tarteaucitron-modal-open #tarteaucitronRoot::before,
#tarteaucitronRoot #tarteaucitronBack {
    background: rgba(0, 0, 0, 0.65) !important;
}

/* ===== Panneau detaille "Personnaliser" ===== */

/* Filet de securite : la librairie force du gris fonce (#333) sur TOUT
   texte a l'interieur par defaut (#tarteaucitronRoot * { color:#333 }).
   On force un gris clair lisible partout, puis on affine par-dessus
   (titres en blanc, liens en bleu, etc. plus bas dans ce fichier). */
html body #tarteaucitron,
html body #tarteaucitron * {
    color: #d1d5db !important;
}

html body #tarteaucitron {
    width: min(92vw, 480px) !important;
    max-width: 480px !important;
    max-height: 82vh !important;
    left: 50% !important;
    margin: 0 auto 0 -240px !important;
    top: 9% !important;
    overflow-y: auto !important;
    background: #0f0f23 !important;
    color: #d1d5db !important;
    font-family: 'Inter', sans-serif !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6) !important;
}
@media (max-width: 600px) {
    html body #tarteaucitron {
        margin-left: -46vw !important;
        top: 5% !important;
        max-height: 88vh !important;
    }
}

/* Bandeau d'intro ("En autorisant ces services tiers...") */
#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronDisclaimer,
#tarteaucitron .tarteaucitronBorder {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: #d1d5db !important;
    font-weight: 400 !important;
    padding: 0.6rem 1.25rem 1rem !important;
    font-size: 0.78rem !important;
    text-align: center !important;
}
#tarteaucitron #tarteaucitronInfo p,
#tarteaucitron .tarteaucitronBorder p,
#tarteaucitron .tarteaucitronBorder span {
    color: #d1d5db !important;
}
#tarteaucitron a,
#tarteaucitron #tarteaucitronInfo a,
#tarteaucitron #tarteaucitronDisclaimer a {
    color: #7a8ac8 !important;
    font-weight: 500 !important;
}

/* Titre "Panneau de gestion des cookies" (la librairie le force en noir
   explicitement, d'ou le besoin d'un !important cible ici) */
html body #tarteaucitron .tarteaucitronH1,
html body #tarteaucitron #dialogTitle {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    text-align: left !important;
    margin: 0.5rem 1.25rem 0.6rem !important;
}

/* Titre "Panneau de gestion des cookies" */
#tarteaucitron #tarteaucitronClosePanel {
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 999px !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
    padding: 0.4rem 0.9rem !important;
}

/* Ligne "Preferences pour tous les services" + boutons globaux */
#tarteaucitron .tarteaucitronMainLine {
    background: #0f0f23 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 0.75rem 1.5rem !important;
}
#tarteaucitron .tarteaucitronMainLine .tarteaucitronH2 {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 0.78rem !important;
}

/* Lignes de categories (Régies publicitaires, etc.) */
#tarteaucitron .tarteaucitronLine,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover {
    background: #0f0f23 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 0.85rem 1.25rem !important;
}
#tarteaucitron .tarteaucitronName {
    text-align: center !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronName,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName,
#tarteaucitron .tarteaucitronBorder .tarteaucitronName {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
}
#tarteaucitron .tarteaucitronName span,
li.tarteaucitronLine .tarteaucitronName span,
#tarteaucitronServices_mandatory li.tarteaucitronLine .tarteaucitronName span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
}
#tarteaucitron .tarteaucitronName .tarteaucitronH2,
#tarteaucitron .tarteaucitronName .tarteaucitronH3 {
    color: #ffffff !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    text-align: center !important;
}
#tarteaucitron .tarteaucitronTitle,
#tarteaucitron .tarteaucitronTitle * {
    color: #9ca3af !important;
    font-size: 0.72rem !important;
    line-height: 1.45 !important;
    text-align: center !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
#tarteaucitron .catToggleBtn {
    color: #7a8ac8 !important;
    background: transparent !important;
    font-size: 0.7rem !important;
    text-align: center !important;
    display: block !important;
    margin: 0 auto !important;
}

/* Icones ☐/☑ par defaut (noir sur fond sombre = illisibles) : on les retire,
   les boutons se suffisent avec leur seul libelle, plus sobre et lisible. */
html body .tarteaucitronCheck::before,
html body .tarteaucitronCross::before,
html body .tarteaucitronAllow .tarteaucitronCheck::before,
html body .tarteaucitronDeny .tarteaucitronCross::before,
html body .tarteaucitronIsAllowed .tarteaucitronAllow .tarteaucitronCheck::before,
html body .tarteaucitronIsDenied .tarteaucitronAllow .tarteaucitronCheck::before,
html body .tarteaucitronIsAllowed .tarteaucitronDeny .tarteaucitronCross::before,
html body .tarteaucitronIsDenied .tarteaucitronDeny .tarteaucitronCross::before,
html body #tarteaucitronServices_mandatory .tarteaucitronCheck::before {
    content: '' !important;
    display: none !important;
}

/* Boutons Autoriser / Interdire (par service ou categorie) — forme pilule, plus moderne */
#tarteaucitron .tarteaucitronAllow {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.01em !important;
    padding: 0.4rem 1rem !important;
    transition: transform 0.15s, box-shadow 0.15s !important;
}
#tarteaucitron .tarteaucitronAllow:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(34, 197, 94, 0.35) !important;
}
#tarteaucitron .tarteaucitronDeny {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #d1d5db !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 999px !important;
    font-weight: 500 !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.01em !important;
    padding: 0.4rem 1rem !important;
    transition: transform 0.15s, border-color 0.15s !important;
}
#tarteaucitron .tarteaucitronDeny:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}
#tarteaucitron [aria-pressed="true"].tarteaucitronAllow {
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.5) !important;
}
#tarteaucitron [aria-pressed="true"].tarteaucitronDeny {
    background: rgba(239, 68, 68, 0.12) !important;
    border-color: rgba(239, 68, 68, 0.5) !important;
    color: #fca5a5 !important;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.5) !important;
}

/* Detail deroulant d'un service (texte "cookies utilises", liens, etc.) */
#tarteaucitron .tarteaucitronInfoBox,
#tarteaucitron .tarteaucitronDetails {
    background: #15152e !important;
    color: #9ca3af !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
    font-size: 0.82rem !important;
    padding: 1rem 2rem !important;
}

/* Selecteur "Gestion des services (2)" */
#tarteaucitron select,
#tarteaucitron .tarteaucitronAsk select {
    background: #1a1a2e !important;
    color: #d1d5db !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 6px !important;
}

/* Bouton "Enregistrer" en bas */
#tarteaucitron #tarteaucitronSave,
#tarteaucitron #tarteaucitronPanelFooter {
    background: #15152e !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 1.25rem 2rem !important;
}
#tarteaucitron #tarteaucitronSaveButton {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    padding: 0.7rem 1.75rem !important;
}

/* Icone flottante (remplace la tarte jaune par defaut) */
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager {
    background: transparent !important;
    border: none !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    padding: 0 !important;
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.2s !important;
}
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:hover {
    transform: scale(1.06) !important;
}
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager img {
    width: 44px !important;
    height: 44px !important;
}
.tarteaucitronIconBottomRight {
    bottom: 20px !important;
    right: 20px !important;
}
