/* MP Cookie Consent — overrides CNIL stricts (MP-53)
   Critere CNIL : "Tout accepter" et "Tout refuser" meme taille, meme contraste,
   meme typo, meme couleur de fond. "Personnaliser" en tertiaire discret. */

#tarteaucitronAlertBig {
    background: #1a1a1a !important;
    color: #fff !important;
    padding: 24px 28px !important;
    box-shadow: 0 -4px 24px rgba(0,0,0,.35) !important;
    border-top: 2px solid #c8a951 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    line-height: 1.55 !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    font-size: 14px !important;
    color: #fff !important;
    max-width: 880px !important;
    margin: 0 auto 14px !important;
    display: block !important;
}

/* Lien Politique de confidentialité dans le texte du bandeau */
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a {
    color: #c8a951 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a:hover {
    color: #dbbf6a !important;
}

/* Container des boutons : centré, gap propre */
#tarteaucitronAlertBig .tarteaucitronAllow,
#tarteaucitronAlertBig .tarteaucitronDeny,
#tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronAlertBig #tarteaucitronAllDenied2 {
    box-sizing: border-box !important;
}

/* CNIL : boutons "Tout accepter" + "Tout refuser" strictement identiques.
   Override INCLUS le style inline injecté par tarteaucitron.js */
#tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronAlertBig #tarteaucitronAllDenied2 {
    display: inline-block !important;
    width: 200px !important;
    min-width: 200px !important;
    height: 46px !important;
    margin: 6px 8px !important;
    padding: 0 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 46px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    border: 2px solid #c8a951 !important;
    border-radius: 6px !important;
    background: #c8a951 !important;
    color: #1a1a1a !important;
    cursor: pointer !important;
    transition: background .15s, transform .1s !important;
    font-family: inherit !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(200,169,81,0.25) !important;
}

#tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitronAlertBig #tarteaucitronAllDenied2:hover {
    background: #dbbf6a !important;
    border-color: #dbbf6a !important;
    transform: translateY(-1px) !important;
}

/* Lien "Personnaliser" : ghost, plus discret */
#tarteaucitronAlertBig #tarteaucitronCloseAlert {
    display: inline-block !important;
    width: 200px !important;
    min-width: 200px !important;
    height: 46px !important;
    margin: 6px 8px !important;
    padding: 0 !important;
    line-height: 42px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #fff !important;
    background: transparent !important;
    border: 2px solid rgba(255,255,255,.25) !important;
    border-radius: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: border-color .15s, background .15s !important;
    box-sizing: border-box !important;
}

#tarteaucitronAlertBig #tarteaucitronCloseAlert:hover {
    border-color: #c8a951 !important;
    background: rgba(200,169,81,.08) !important;
}

/* Lien natif "Politique de confidentialité" injecté par tarteaucitron quand privacyUrl est set */
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog {
    display: inline-block !important;
    margin: 6px 8px !important;
    color: #c8a951 !important;
    text-decoration: underline !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 8px 0 !important;
    line-height: 28px !important;
    background: transparent !important;
    border: none !important;
}
#tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog:hover {
    color: #dbbf6a !important;
}

/* Panneau de personnalisation — fond blanc + texte noir lisible.
   CRITIQUE : le vendor tarteaucitron.css applique un ::before plein ecran
   `backdrop-filter: blur(8px)` a z-index 100000 sur #tarteaucitronRoot.
   Le panneau DOIT rester au-dessus (z-index vendor = 2147483647) sinon il
   passe SOUS le voile de flou et tout le contenu apparait floute. */
#tarteaucitron {
    z-index: 2147483647 !important;
}

/* ════════════════════════════════════════════════════════════════
   PANNEAU DE PERSONNALISATION — DESIGN PREMIUM MONDIAL PARTS
   Or #c8a951 / sombre #1a1a1a. Assets injectes en <link> (autonomes).
   ════════════════════════════════════════════════════════════════ */

/* --- Conteneur : carte centree, arrondie, ombre profonde --- */
#tarteaucitron {
    width: min(640px, 94vw) !important;
    left: 50% !important;
    top: 50% !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) !important;
    max-height: 90vh !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    box-shadow: 0 30px 80px rgba(0,0,0,.45), 0 8px 24px rgba(0,0,0,.25) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

#tarteaucitron .tarteaucitronBorder {
    border: 0 !important;
    border-radius: 18px !important;
    background: #ffffff !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
}
#tarteaucitron .tarteaucitronBorder::-webkit-scrollbar { width: 10px; }
#tarteaucitron .tarteaucitronBorder::-webkit-scrollbar-thumb {
    background: #d4d4d4 !important; border-radius: 8px !important; border: 3px solid #fff !important;
}

/* Corps clair par defaut + colonne flex (header fixe / liste scroll / footer fixe) */
html body #tarteaucitron,
html body #tarteaucitron .tarteaucitronBorder {
    background: #f6f7f9 !important;
}
#tarteaucitron #tarteaucitronServices {
    background: #f6f7f9 !important;
    display: flex !important;
    flex-direction: column !important;
    max-height: 90vh !important;
    margin: 0 !important;          /* retire le margin-top:21px vendor (bande claire en haut) */
    padding: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
}
#tarteaucitron, #tarteaucitron p, #tarteaucitron span, #tarteaucitron li,
#tarteaucitron h1, #tarteaucitron h2, #tarteaucitron h3, #tarteaucitron h4,
#tarteaucitron .tarteaucitronH3,
#tarteaucitron .tarteaucitronMainLineLabel {
    color: #1a1a1a !important;
}

/* Masquer les glyphes casses (☐ ☑ ✗ ✓) injectes par le vendor */
#tarteaucitron .tarteaucitronCheck,
#tarteaucitron .tarteaucitronCross,
#tarteaucitronRoot #tarteaucitron .tarteaucitronCheck::before,
#tarteaucitronRoot #tarteaucitron .tarteaucitronCross::before {
    display: none !important;
}

/* ─── EN-TETE SOMBRE PREMIUM ───────────────────────────────────────
   #tarteaucitronMainLineOffset porte AUSSI .tarteaucitronLine.tarteaucitronMainLine
   et contient : titre + disclaimer + lien + label "Preferences" + boutons. */
#tarteaucitron #tarteaucitronServices #tarteaucitronMainLineOffset.tarteaucitronMainLine {
    background: linear-gradient(135deg, #1f1f1f 0%, #2c2c2c 100%) !important;
    color: #ffffff !important;
    padding: 30px 34px 26px !important;
    margin: 0 !important;
    border: 0 !important;
    position: relative !important;
    text-align: center !important;
    box-shadow: none !important;
    flex-shrink: 0 !important;
    display: block !important;
}
#tarteaucitron #tarteaucitronMainLineOffset::after {
    content: "" !important;
    position: absolute !important;
    left: 0; right: 0; bottom: 0;
    height: 3px !important;
    background: linear-gradient(90deg, #c8a951, #dbbf6a) !important;
}
/* Titre */
#tarteaucitron #dialogTitle,
#tarteaucitron .tarteaucitronH1 {
    display: block !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: .3px !important;
    margin: 0 0 12px !important;
    border: 0 !important;
    text-align: center !important;
    width: auto !important;
    background: transparent !important;
}
/* Disclaimer + lien politique */
#tarteaucitron #tarteaucitronInfo {
    display: block !important;
    position: static !important;
    background: transparent !important;
    color: #c9ccd2 !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    max-width: 480px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
#tarteaucitron #tarteaucitronInfo p { color: #c9ccd2 !important; margin: 0 !important; }
#tarteaucitron #tarteaucitronPrivacyUrlDialog {
    display: inline-block !important;
    background: transparent !important;
    color: #dbbf6a !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 0 !important;
    margin: 12px 0 0 !important;
    border: 0 !important;
    cursor: pointer !important;
}
#tarteaucitron #tarteaucitronPrivacyUrlDialog:hover { color: #ffffff !important; }
/* Label "Preferences pour tous les services" (3 IDs pour battre le float vendor) */
#tarteaucitron #tarteaucitronServices #tarteaucitronMainLineOffset .tarteaucitronName,
#tarteaucitron #tarteaucitronServices #tarteaucitronMainLineOffset .tarteaucitronH2 {
    display: block !important;
    float: none !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    margin: 22px auto 12px !important;
    width: 100% !important;
    text-align: center !important;
}
/* Conteneur des 2 boutons globaux : centre (3 IDs pour battre float:right vendor) */
#tarteaucitron #tarteaucitronServices #tarteaucitronMainLineOffset .tarteaucitronAsk {
    display: flex !important;
    justify-content: center !important;
    gap: 12px !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
    flex-wrap: wrap !important;
}

/* --- Bouton fermer : pastille ronde ghost en haut a droite --- */
#tarteaucitron #tarteaucitronClosePanel {
    top: 16px !important;
    right: 18px !important;
    width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    font-size: 0 !important;
    background: rgba(255,255,255,.12) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.3) !important;
    border-radius: 50% !important;
    line-height: 34px !important;
    outline: none !important;
    box-shadow: none !important;
    z-index: 5 !important;
    transition: background .15s, border-color .15s !important;
}
#tarteaucitron #tarteaucitronClosePanel::before {
    content: "\00d7" !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    line-height: 34px !important;
    color: #ffffff !important;
}
#tarteaucitron #tarteaucitronClosePanel:hover {
    background: #c8a951 !important;
    border-color: #c8a951 !important;
}
#tarteaucitron #tarteaucitronClosePanel:hover::before { color: #1a1a1a !important; }

/* Boutons globaux Tout accepter / Tout refuser (egaux, CNIL) — sur fond sombre */
#tarteaucitron #tarteaucitronAllAllowed,
#tarteaucitron #tarteaucitronAllDenied {
    min-width: 160px !important;
    padding: 12px 20px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    margin: 0 !important;
    transition: transform .1s, background .15s, color .15s !important;
}
#tarteaucitron #tarteaucitronAllAllowed {
    background: #c8a951 !important;
    color: #1a1a1a !important;
    border: 2px solid #c8a951 !important;
    box-shadow: 0 2px 10px rgba(200,169,81,.35) !important;
}
#tarteaucitron #tarteaucitronAllDenied {
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid rgba(255,255,255,.5) !important;
}
#tarteaucitron #tarteaucitronAllAllowed:hover { background:#dbbf6a !important; border-color:#dbbf6a !important; transform:translateY(-1px) !important; }
#tarteaucitron #tarteaucitronAllDenied:hover { background:#ffffff !important; color:#1a1a1a !important; border-color:#ffffff !important; transform:translateY(-1px) !important; }
#tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected { background:#c8a951 !important; }
#tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected { background:#ffffff !important; color:#1a1a1a !important; }

/* --- Zone scrollable (liste services) --- */
#tarteaucitron .tarteaucitronBorder {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding: 8px 0 !important;
}

/* --- Titres de section (+ Cookies obligatoires / + Mesure d'audience) --- */
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button {
    background: transparent !important;
    color: #1a1a1a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .4px !important;
    padding: 16px 24px 6px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
#tarteaucitron .tarteaucitronPlus::before {
    color: #c8a951 !important;
    font-weight: 700 !important;
}

/* --- Lignes de service (cartes) — scope <li> pour exclure le header --- */
#tarteaucitron #tarteaucitronServices li.tarteaucitronLine {
    background: #ffffff !important;
    border: 1px solid #e8eaed !important;
    border-radius: 12px !important;
    margin: 8px 20px !important;
    padding: 16px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed { border-color:#cdebd6 !important; }
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied { border-color:#f3d4d4 !important; }
#tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronName {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}
#tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronAsk {
    float: none !important;
    margin: 0 !important;
    display: flex !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

/* Pills Autoriser / Interdire par service (scope <li>) */
#tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronDeny {
    background: #ffffff !important;
    border: 1.5px solid #d4d7dd !important;
    border-radius: 8px !important;
    color: #6b7280 !important;
    padding: 8px 16px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .3px !important;
    cursor: pointer !important;
    transition: all .15s !important;
}
#tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronAllow:hover { border-color:#16a34a !important; color:#16a34a !important; }
#tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronDeny:hover { border-color:#dc2626 !important; color:#dc2626 !important; }
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow,
#tarteaucitron .tarteaucitronAllow.tarteaucitronIsAllowed {
    background: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
}
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitron .tarteaucitronDeny.tarteaucitronIsDenied {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #ffffff !important;
}

/* --- Pied : bouton Enregistrer --- */
#tarteaucitron #tarteaucitronSave,
html body #tarteaucitronRoot div#tarteaucitronSave {
    background: #ffffff !important;
    border-top: 1px solid #e8eaed !important;
    padding: 18px 24px !important;
    text-align: center !important;
}
#tarteaucitron #tarteaucitronSaveButton,
html body #tarteaucitronRoot button#tarteaucitronSaveButton {
    background: #c8a951 !important;
    color: #1a1a1a !important;
    border: 2px solid #c8a951 !important;
    border-radius: 8px !important;
    padding: 13px 32px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(200,169,81,.3) !important;
    transition: background .15s, transform .1s !important;
}
#tarteaucitron #tarteaucitronSaveButton:hover,
html body #tarteaucitronRoot button#tarteaucitronSaveButton:hover {
    background: #dbbf6a !important;
    border-color: #dbbf6a !important;
    transform: translateY(-1px) !important;
}

/* Liens generiques du panneau */
#tarteaucitron a { color:#c8a951 !important; text-decoration:underline !important; }
#tarteaucitron a:hover { color:#a8893b !important; }

/* Lien permanent footer "Gerer mes cookies" */
.mp-cookie-footer-link {
    text-align: center;
    padding: 12px 0;
    border-top: 1px solid #eee;
    font-size: 13px;
}

.mp-cookie-footer-link a {
    color: #666;
    text-decoration: underline;
}

.mp-cookie-footer-link a:hover {
    color: #1a1a1a;
}

/* Icone flottante : on la cache, on prefere le lien footer */
#tarteaucitronIcon {
    display: none !important;
}

/* Mobile : boutons full-width pour conserver la meme taille */
@media (max-width: 600px) {
    #tarteaucitronPersonalize2,
    #tarteaucitronAllDenied2 {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 6px 0 !important;
    }
    #tarteaucitronCloseAlert {
        display: block !important;
        width: 100% !important;
        margin: 6px 0 !important;
    }

    /* Panneau de personnalisation mobile */
    #tarteaucitron #tarteaucitronServices #tarteaucitronMainLineOffset {
        padding: 26px 20px 22px !important;
    }
    /* Boutons globaux : pleine largeur empiles */
    #tarteaucitron #tarteaucitronAllAllowed,
    #tarteaucitron #tarteaucitronAllDenied {
        width: 100% !important;
        min-width: 0 !important;
    }
    /* Lignes service : nom au-dessus, pills en dessous */
    #tarteaucitron #tarteaucitronServices li.tarteaucitronLine {
        flex-wrap: wrap !important;
        margin: 8px 14px !important;
    }
    #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronName {
        width: 100% !important;
    }
    #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronAsk {
        width: 100% !important;
        margin-top: 12px !important;
        justify-content: flex-start !important;
    }
    #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronAllow,
    #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronDeny {
        flex: 1 1 0 !important;
        text-align: center !important;
    }
}
