@charset "UTF-8";
/**
 * Thème Tarteaucitron personnalisé
 * Couleur primaire : #01294d (bleu foncé)
 * Couleur secondaire : #ed6822 (orange)
 */

:root {
    --tac-primary: #01294d;
    --tac-primary-light: #034078;
    --tac-primary-dark: #001a33;
    --tac-secondary: #ed6822;
    --tac-secondary-light: #ff8243;
    --tac-secondary-dark: #c75415;
    --tac-white: #ffffff;
    --tac-gray-light: #f8f9fa;
    --tac-gray: #e9ecef;
    --tac-gray-dark: #6c757d;
    --tac-text: #212529;
    --tac-text-light: #495057;
    --tac-success: #28a745;
    --tac-danger: #dc3545;
    --tac-radius: 12px;
    --tac-radius-sm: 8px;
    --tac-transition: all 0.2s ease;
}

/* ===================================
   BANNIÈRE PRINCIPALE (Alert Big)
   =================================== */

#tarteaucitronRoot #tarteaucitronAlertBig {
    background: var(--tac-white) !important;
    border-radius: var(--tac-radius) !important;
    border: 1px solid var(--tac-gray) !important;
    padding: 30px !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif !important;
}

/* Titre personnalisé pour popup et middle */
#tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig::before,
#tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig::before {
    color: var(--tac-primary) !important;
    font-weight: 700 !important;
    font-size: 24px !important;
    margin-bottom: 15px !important;
    display: block !important;
}

/* Texte de description */
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .tarteaucitronPartnersList * {
    color: var(--tac-text) !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
}

#tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
    color: var(--tac-primary) !important;
    font-weight: 600 !important;
}

#tarteaucitronRoot.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert,
#tarteaucitronRoot.tarteaucitronSize-popup span#tarteaucitronDisclaimerAlert {
    color: var(--tac-text-light) !important;
    font-size: 15px !important;
}

/* ===================================
   BOUTONS DE LA BANNIÈRE
   =================================== */

/* Bouton Tout accepter */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronAllow,
#tarteaucitronRoot button.tarteaucitronCTAButton[id*="Allowed"] {
    background: var(--tac-secondary) !important;
    color: var(--tac-white) !important;
    border: none !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--tac-transition) !important;
    text-transform: none !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronAllow:hover,
#tarteaucitronRoot button.tarteaucitronCTAButton[id*="Allowed"]:hover {
    background: var(--tac-secondary-light) !important;
}

/* Bouton Tout refuser */
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny,
#tarteaucitronRoot button.tarteaucitronCTAButton[id*="Denied"] {
    background: transparent !important;
    color: var(--tac-text-light) !important;
    border: 2px solid var(--tac-gray) !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 12px 26px !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: var(--tac-transition) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDeny:hover,
#tarteaucitronRoot button.tarteaucitronCTAButton[id*="Denied"]:hover {
    background: var(--tac-gray-light) !important;
    border-color: var(--tac-gray-dark) !important;
    color: var(--tac-text) !important;
}

/* Bouton Personnaliser */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    background: var(--tac-primary) !important;
    color: var(--tac-white) !important;
    border: none !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 14px 28px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--tac-transition) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover {
    background: var(--tac-primary-light) !important;
}

/* Bouton Politique de confidentialité */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog {
    color: var(--tac-primary) !important;
    background: transparent !important;
    border: none !important;
    font-size: 13px !important;
    text-decoration: underline !important;
    cursor: pointer !important;
    transition: var(--tac-transition) !important;
    padding: 10px !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog:hover {
    color: var(--tac-secondary) !important;
}

/* Bouton fermer (X) */
#tarteaucitronRoot #tarteaucitronCloseCross {
    background: var(--tac-gray-light) !important;
    color: var(--tac-text) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: var(--tac-transition) !important;
    border: none !important;
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
}

#tarteaucitronRoot #tarteaucitronCloseCross:hover {
    background: var(--tac-gray) !important;
}

/* ===================================
   LISTE DES PARTENAIRES
   =================================== */

html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList {
    background: var(--tac-gray-light) !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 20px !important;
    margin: 20px 0 !important;
    border: 1px solid var(--tac-gray) !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList b {
    color: var(--tac-primary) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList ul li {
    color: var(--tac-text-light) !important;
    font-size: 13px !important;
    margin: 5px 0 !important;
}

/* ===================================
   PANNEAU DE CONTRÔLE
   =================================== */

#tarteaucitronRoot #tarteaucitron {
    border-radius: var(--tac-radius) !important;
    overflow: hidden !important;
}

#tarteaucitron .tarteaucitronBorder {
    background: var(--tac-white) !important;
    border: none !important;
}

/* En-tête du panneau */
#tarteaucitronServices {
  margin-top: 2rem !important;
  box-shadow: none !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    background: var(--tac-primary) !important;
    border: none !important;
    padding: 20px !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName,
#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName * {
    color: var(--tac-white) !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH2 {
    color: var(--tac-text) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
}

/* Bouton fermer le panneau */
#tarteaucitron #tarteaucitronClosePanel,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie {
    background: var(--tac-secondary) !important;
    color: var(--tac-white) !important;
    border-radius: var(--tac-radius-sm) var(--tac-radius-sm) 0 0 !important;
    font-weight: 600 !important;
    padding: 8px 15px !important;
    transition: var(--tac-transition) !important;
}

#tarteaucitron #tarteaucitronClosePanel:hover,
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie:hover {
    background: var(--tac-secondary-light) !important;
}

/* Titres des catégories */
#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronRoot .asCatToggleBtn {
    background: var(--tac-gray-light) !important;
    color: var(--tac-primary) !important;
    border-radius: var(--tac-radius-sm) !important;
    font-weight: 600 !important;
    padding: 12px 20px !important;
    margin: 15px 10px 5px !important;
    border: 1px solid var(--tac-gray) !important;
    transition: var(--tac-transition) !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button:hover,
#tarteaucitronRoot .asCatToggleBtn:hover {
    background: var(--tac-gray) !important;
    border-color: var(--tac-primary) !important;
}

span.tarteaucitronH3,
.tarteaucitronH3 {
    color: var(--tac-primary) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}

/* Lignes de services */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine {
    background: var(--tac-white) !important;
    border-bottom: 1px solid var(--tac-gray) !important;
    padding: 15px 20px !important;
    transition: var(--tac-transition) !important;
    border-left: 3px solid transparent !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover {
    background: var(--tac-gray-light) !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed {
    border-left-color: var(--tac-success) !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied {
    border-left-color: var(--tac-danger) !important;
}

/* Nom des services */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName a {
    color: var(--tac-text) !important;
    font-weight: 500 !important;
}

.tarteaucitronName .tacCurrentStatus,
.tarteaucitronName .tarteaucitronReadmoreSeparator {
    color: var(--tac-text-light) !important;
    font-size: 12px !important;
}

/* ===================================
   BOUTONS ALLOW/DENY DANS LE PANNEAU
   =================================== */

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
.tac_activate .tarteaucitronAllow {
    background: var(--tac-success) !important;
    color: var(--tac-white) !important;
    border: none !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 8px 16px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: var(--tac-transition) !important;
    margin: 2px !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover,
.tac_activate .tarteaucitronAllow:hover {
    background: #218838 !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny {
    background: var(--tac-danger) !important;
    color: var(--tac-white) !important;
    border: none !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 8px 16px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: var(--tac-transition) !important;
    margin: 2px !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover {
    background: #c82333 !important;
}

/* Boutons globaux Tout accepter / Tout refuser */
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed[aria-pressed="true"],
#tarteaucitronRoot #tarteaucitronAllAllowed[aria-pressed="true"],
button#tarteaucitronAllAllowed[aria-pressed="true"] {
    background: var(--tac-success) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied[aria-pressed="true"],
#tarteaucitronRoot #tarteaucitronAllDenied[aria-pressed="true"],
button#tarteaucitronAllDenied[aria-pressed="true"],
#tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied2[aria-pressed="true"],
#tarteaucitronRoot #tarteaucitronAllDenied2[aria-pressed="true"],
button#tarteaucitronAllDenied2[aria-pressed="true"] {
    background: var(--tac-danger) !important;
}

/* ===================================
   BOUTON SAUVEGARDER
   =================================== */

html body #tarteaucitronRoot div#tarteaucitronSave {
    background: var(--tac-gray-light) !important;
    padding: 20px !important;
    border-top: 1px solid var(--tac-gray) !important;
}

html body #tarteaucitronRoot button#tarteaucitronSaveButton {
    background: var(--tac-secondary) !important;
    color: var(--tac-white) !important;
    border: none !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 8px 24px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: var(--tac-transition) !important;
}

html body #tarteaucitronRoot button#tarteaucitronSaveButton:hover {
    background: var(--tac-secondary-light) !important;
}

/* ===================================
   ICÔNE FLOTTANTE (Cookie icon)
   Style par défaut conservé
   =================================== */

/* ===================================
   MINI BANNIÈRE
   =================================== */

#tarteaucitronAlertSmall {
    background: var(--tac-primary) !important;
    border-radius: var(--tac-radius-sm) !important;
}

#tarteaucitronAlertSmall #tarteaucitronManager {
    color: var(--tac-white) !important;
    padding: 10px 15px !important;
}

#tarteaucitronAlertSmall #tarteaucitronManager:hover {
    background: var(--tac-primary-light) !important;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
    background: var(--tac-secondary) !important;
    color: var(--tac-white) !important;
    border-radius: var(--tac-radius-sm) !important;
}

/* Points de statut */
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotGreen {
    background: var(--tac-success) !important;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotYellow {
    background: #ffc107 !important;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotRed {
    background: var(--tac-danger) !important;
}

/* ===================================
   PLACEHOLDER D'ACTIVATION
   =================================== */

.tac_activate {
    background: var(--tac-gray-light) !important;
    border: 2px dashed var(--tac-primary) !important;
    border-radius: var(--tac-radius) !important;
    padding: 40px 20px !important;
    text-align: center !important;
}

.tac_activate .tac_float strong {
    color: var(--tac-primary) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    display: block !important;
}

/* ===================================
   INFO PANEL
   =================================== */

div#tarteaucitronInfo {
    background: var(--tac-white) !important;
    border: 1px solid var(--tac-gray) !important;
    border-radius: var(--tac-radius-sm) !important;
    padding: 20px !important;
}

#tarteaucitronRoot a.tarteaucitronSelfLink {
    color: var(--tac-primary) !important;
    transition: var(--tac-transition) !important;
}

#tarteaucitronRoot a.tarteaucitronSelfLink:hover {
    color: var(--tac-secondary) !important;
}

/* ===================================
   BACKDROP / OVERLAY
   =================================== */

html body.tarteaucitron-modal-open div#tarteaucitronRoot::before,
html body .tarteaucitronSize-middle.tarteaucitronBeforeVisible::before {
    background: rgba(1, 41, 77, 0.5) !important;
}

#tarteaucitronRoot #tarteaucitronBack {
    background: rgba(1, 41, 77, 0.5) !important;
}

/* ===================================
   MIDDLE BANNER SPECIFICS
   =================================== */

body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
    border-radius: var(--tac-radius) !important;
    padding: 40px 35px !important;
    max-width: 500px !important;
}

.tarteaucitronSize-middle div#tarteaucitronAlertBig:before {
    font-size: 28px !important;
    color: var(--tac-primary) !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}

/* ===================================
   POPUP BANNER SPECIFICS
   =================================== */

body #tarteaucitronRoot.tarteaucitronSize-popup div#tarteaucitronAlertBig {
    border-radius: var(--tac-radius) var(--tac-radius) 0 0 !important;
    max-width: 320px !important;
    padding: 30px 20px !important;
}

.tarteaucitronSize-popup div#tarteaucitronAlertBig:before {
    font-size: 20px !important;
    color: var(--tac-primary) !important;
    font-weight: 700 !important;
}

/* ===================================
   RESPONSIVE DESIGN
   =================================== */

@media screen and (max-width: 767px) {
    #tarteaucitronRoot #tarteaucitronAlertBig {
        padding: 20px !important;
        margin: 10px !important;
        width: calc(100% - 20px) !important;
    }

    body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
        width: 90% !important;
        padding: 25px 20px !important;
    }

    body #tarteaucitronRoot.tarteaucitronSize-popup div#tarteaucitronAlertBig {
        max-width: none !important;
        width: calc(100% - 16px) !important;
        left: 8px !important;
        right: 8px !important;
    }

    #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
    #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny {
        flex: 1 !important;
        min-width: 100px !important;
    }

    .tarteaucitronSize-middle div#tarteaucitronAlertBig button:not(#tarteaucitronCloseCross),
    .tarteaucitronSize-popup div#tarteaucitronAlertBig button:not(#tarteaucitronCloseCross) {
        width: 100% !important;
        margin: 5px 0 !important;
    }
}

@media screen and (max-width: 479px) {
    #tarteaucitron .tarteaucitronLine .tarteaucitronName {
        width: 100% !important;
        text-align: center !important;
        margin-bottom: 10px !important;
    }

    #tarteaucitron .tarteaucitronLine .tarteaucitronAsk {
        width: 100% !important;
        text-align: center !important;
    }
}

/* ===================================
   ANIMATIONS
   =================================== */

#tarteaucitronRoot * {
    transition: var(--tac-transition) !important;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#tarteaucitronAlertBig {
    animation: fadeInUp 0.4s ease-out !important;
}

/* ===================================
   FOCUS STATES (Accessibilité)
   =================================== */

#tarteaucitronRoot a:focus-visible,
#tarteaucitronRoot button:focus-visible {
    outline: 3px solid var(--tac-secondary) !important;
    outline-offset: 2px !important;
}

/* ===================================
   CHECKBOXES VISUELLES
   =================================== */

#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross {
    display: inline-block !important;
    margin-right: 5px !important;
}

#tarteaucitronRoot .tarteaucitronCheck::before,
#tarteaucitronRoot .tarteaucitronCross::before {
    font-size: 14px !important;
    color: var(--tac-white) !important;
}

/* Boutons de la bannière principale - masquer les icônes */
#tarteaucitronRoot #tarteaucitronAlertBig button .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitronAlertBig button .tarteaucitronCross {
    display: none !important;
}

/* ===================================
   SCROLLBAR PERSONNALISÉE
   =================================== */

#tarteaucitronServices::-webkit-scrollbar {
    width: 8px !important;
}

#tarteaucitronServices::-webkit-scrollbar-track {
    background: var(--tac-gray-light) !important;
    border-radius: 4px !important;
}

#tarteaucitronServices::-webkit-scrollbar-thumb {
    background: var(--tac-primary) !important;
    border-radius: 4px !important;
}

#tarteaucitronServices::-webkit-scrollbar-thumb:hover {
    background: var(--tac-primary-light) !important;
}


