/* ======================================================================
   Tarteaucitron — Override design Stacova3
   Bandeau : fond bleu marine (cohérent header), bouton rouge corail (marque)
   Modale  : fond blanc, texte noir, simple
   ====================================================================== */

/* ---------- Grand bandeau (alertBig) — gardé tel quel ---------- */

#tarteaucitronAlertBig {
    background: #212d3a !important;
    color: #fff !important;
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    padding: 22px 32px !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15) !important;
    border-top: 3px solid #ff6666 !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    color: #fff !important;
    font-size: 14px !important;
    margin: 0 16px 0 0 !important;
    flex: 1 1 auto !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
    color: #ffd9d9 !important;
    font-weight: 600 !important;
}

#tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog,
#tarteaucitronAlertBig a {
    color: #ff8a8a !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}

#tarteaucitronAlertBig a:hover {
    color: #ff6666 !important;
}

#tarteaucitronAlertBig button,
.tarteaucitronCTAButton,
#tarteaucitronCloseAlert,
#tarteaucitronPersonalize {
    font-family: "Open Sans", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 10px 22px !important;
    border-radius: 4px !important;
    border: 0 !important;
    margin: 4px 6px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    line-height: 1.2 !important;
}

#tarteaucitronPersonalize2,
#tarteaucitronAlertBig #tarteaucitronPersonalize2 {
    background: #ff6666 !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(255, 102, 102, 0.3) !important;
}

#tarteaucitronPersonalize2:hover {
    background: #ff4d4d !important;
}

#tarteaucitronAllDenied2,
#tarteaucitronAlertBig #tarteaucitronAllDenied2 {
    background: transparent !important;
    color: #fff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
}

#tarteaucitronAllDenied2:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: #fff !important;
}

#tarteaucitronCloseAlert,
#tarteaucitronAlertBig #tarteaucitronCloseAlert {
    background: transparent !important;
    color: #fff !important;
    text-decoration: underline !important;
    box-shadow: none !important;
}

/* ---------- Icône flottante : on garde le design Tarteaucitron par défaut ---------- */

/* ====================================================================
   MODALE "Personnaliser" — UNE SEULE FENÊTRE BLANCHE, TEXTE NOIR, SIMPLE
   ==================================================================== */

#tarteaucitronRoot {
    font-family: "Open Sans", Arial, sans-serif !important;
}

/* Tout fond blanc, texte noir, partout */
#tarteaucitron,
#tarteaucitron *,
#tarteaucitron #tarteaucitronServices,
#tarteaucitron #tarteaucitronServices_mandatory,
#tarteaucitron #tarteaucitronServices_api,
#tarteaucitron #tarteaucitronServices_analytic,
#tarteaucitron .tarteaucitronMainLine,
#tarteaucitron .tarteaucitronTitle,
#tarteaucitron .tarteaucitronTitle button,
#tarteaucitron .tarteaucitronLine,
#tarteaucitron .tarteaucitronDetails,
#tarteaucitron .tarteaucitronHidden,
#tarteaucitron #tarteaucitronInfo {
    background: #fff !important;
    background-color: #fff !important;
    color: #1a1a1a !important;
    font-family: "Open Sans", Arial, sans-serif !important;
}

/* Conteneur principal — une seule carte unifiée */
#tarteaucitron {
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.3) !important;
    border: 1px solid #e0e0e0 !important;
}

#tarteaucitron #tarteaucitronServices {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Bouton "Fermer" en haut à droite — discret */
#tarteaucitron #tarteaucitronClosePanel {
    background: #1a1a1a !important;
    color: #fff !important;
    border-radius: 4px !important;
    padding: 6px 14px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: 0 !important;
    margin: 8px !important;
}

#tarteaucitron #tarteaucitronClosePanel:hover {
    background: #ff6666 !important;
}

/* Titre "Panneau de gestion des cookies" */
#tarteaucitron .tarteaucitronH1 {
    color: #1a1a1a !important;
    font-weight: 600 !important;
    font-size: 22px !important;
    margin: 0 !important;
    padding: 24px 28px 8px !important;
    border: 0 !important;
    background: #fff !important;
}

/* Texte explicatif + Politique */
#tarteaucitron #tarteaucitronInfo {
    background: #fff !important;
    color: #1a1a1a !important;
    border: 0 !important;
    padding: 8px 28px 20px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

#tarteaucitron #tarteaucitronInfo strong,
#tarteaucitron #tarteaucitronInfo b {
    color: #1a1a1a !important;
    font-weight: 600 !important;
}

#tarteaucitron #tarteaucitronInfo a,
#tarteaucitron #tarteaucitronPrivacyUrlDialog {
    color: #ff6666 !important;
    text-decoration: underline !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}

#tarteaucitron #tarteaucitronInfo a:hover,
#tarteaucitron #tarteaucitronPrivacyUrlDialog:hover {
    color: #ff4d4d !important;
}

/* "Préférences pour tous les services" — séparateur subtil */
#tarteaucitron #tarteaucitronMainLineOffset,
#tarteaucitron .tarteaucitronMainLine {
    background: #fff !important;
    color: #1a1a1a !important;
    padding: 16px 28px !important;
    margin: 0 !important;
    border: 0 !important;
    border-top: 1px solid #e8e8e8 !important;
    border-bottom: 1px solid #e8e8e8 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

/* Titre catégorie (Cookies obligatoires, Mesure d'audience, etc.) — simple sous-titre noir */
#tarteaucitron .tarteaucitronTitle {
    background: #fff !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
}

#tarteaucitron .tarteaucitronTitle button {
    background: #fff !important;
    color: #1a1a1a !important;
    cursor: default !important;
    pointer-events: none !important;
    padding: 16px 28px 8px !important;
    width: 100% !important;
    text-align: left !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

#tarteaucitron .tarteaucitronTitle button:hover {
    background: #fff !important;
}

/* Cacher icônes +/- des titres */
#tarteaucitron .tarteaucitronTitle button::before,
#tarteaucitron .tarteaucitronTitle button::after,
#tarteaucitron .tarteaucitronTitle button span.tarteaucitronPlus,
#tarteaucitron .tarteaucitronTitle button span[aria-hidden] {
    display: none !important;
}

/* Cacher glyphes ✔/✗ */
#tarteaucitron .tarteaucitronCheck,
#tarteaucitron .tarteaucitronCross,
#tarteaucitronAlertBig .tarteaucitronCheck,
#tarteaucitronAlertBig .tarteaucitronCross,
.tarteaucitronCTAButton .tarteaucitronCheck,
.tarteaucitronCTAButton .tarteaucitronCross,
#tarteaucitron span.tarteaucitronCheck,
#tarteaucitron span.tarteaucitronCross,
#tarteaucitron button span.tarteaucitronCheck,
#tarteaucitron button span.tarteaucitronCross,
button > .tarteaucitronCheck,
button > .tarteaucitronCross {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Forcer affichage des détails */
#tarteaucitron .tarteaucitronDetails,
#tarteaucitron ul.tarteaucitronLine,
#tarteaucitron .tarteaucitronMainAsk,
#tarteaucitron #tarteaucitronServices_mandatory,
#tarteaucitron .tarteaucitronHidden {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    position: static !important;
}

/* Description sous titre catégorie */
#tarteaucitron .tarteaucitronDetails {
    background: #fff !important;
    color: #555 !important;
    padding: 0 28px 12px !important;
    margin: 0 !important;
    border: 0 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Lignes de service — alignées dans un container blanc */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine,
#tarteaucitron .tarteaucitronLine {
    background: #fff !important;
    color: #1a1a1a !important;
    border: 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    border-radius: 0 !important;
    padding: 14px 28px !important;
    margin: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

#tarteaucitron #tarteaucitronServices > div:last-child .tarteaucitronLine:last-child,
#tarteaucitron .tarteaucitronLine:last-child {
    border-bottom: 0 !important;
}

#tarteaucitron .tarteaucitronLine .tarteaucitronName {
    flex: 1 1 60% !important;
    min-width: 200px !important;
}

#tarteaucitron .tarteaucitronLine .tarteaucitronName a,
#tarteaucitron .tarteaucitronLine .tarteaucitronName b {
    color: #1a1a1a !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    display: block !important;
    margin-bottom: 4px !important;
    background: transparent !important;
}

#tarteaucitron .tarteaucitronLine .tarteaucitronListCookies {
    color: #666 !important;
    font-size: 12px !important;
    font-style: italic !important;
    line-height: 1.5 !important;
}

#tarteaucitron .tarteaucitronLine .tarteaucitronAsk {
    flex: 0 0 auto !important;
    margin: 0 !important;
}

/* Boutons Autoriser / Refuser — dans la modale */
#tarteaucitron .tarteaucitronAllow,
#tarteaucitron .tarteaucitronDeny {
    border-radius: 4px !important;
    padding: 8px 16px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: 0 !important;
    margin: 0 4px !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

#tarteaucitron .tarteaucitronAllow {
    background: #ff6666 !important;
    color: #fff !important;
}

#tarteaucitron .tarteaucitronAllow:hover {
    background: #ff4d4d !important;
}

#tarteaucitron .tarteaucitronDeny {
    background: #fff !important;
    color: #555 !important;
    border: 1px solid #ccc !important;
}

#tarteaucitron .tarteaucitronDeny:hover {
    background: #f5f5f5 !important;
    border-color: #999 !important;
}

#tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow {
    background: #ff6666 !important;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.4) !important;
}

#tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny {
    background: #555 !important;
    color: #fff !important;
    border-color: #555 !important;
}

/* ---------- Responsive mobile ---------- */

@media (max-width: 768px) {
    #tarteaucitronAlertBig {
        padding: 18px 18px !important;
        font-size: 13px !important;
    }

    #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
        margin: 0 0 12px 0 !important;
        font-size: 13px !important;
        display: block !important;
    }

    #tarteaucitronAlertBig button,
    .tarteaucitronCTAButton {
        margin: 4px !important;
        padding: 10px 16px !important;
        font-size: 12px !important;
    }

    #tarteaucitron .tarteaucitronH1 {
        padding: 18px 18px 6px !important;
        font-size: 18px !important;
    }

    #tarteaucitron #tarteaucitronInfo,
    #tarteaucitron .tarteaucitronTitle button,
    #tarteaucitron .tarteaucitronLine,
    #tarteaucitron .tarteaucitronDetails,
    #tarteaucitron .tarteaucitronMainLine {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}
