/* Tarte au Citron — thème CACIMA (variables :root dans app.css) */

#tarteaucitronRoot,
#tarteaucitronRoot * {
    font-family: "Fira Sans", system-ui, sans-serif !important;
}

/* Bannière bas de page */
#tarteaucitronRoot #tarteaucitronAlertBig {
    background: var(--vp-white) !important;
    color: var(--vp-black) !important;
    border-top: 3px solid var(--vp-primary) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-bottom: 0 !important;
    box-shadow: 0 -8px 32px rgba(34, 34, 34, 0.12) !important;
    padding: 1rem 1.25rem 1.25rem !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
    color: var(--vp-black) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig a {
    color: var(--vp-primary) !important;
}

/* Boutons principaux — accepter / autoriser */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton.tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronSaveButton,
.tac_activate .tarteaucitronAllow {
    background-color: var(--vp-primary) !important;
    color: var(--vp-white) !important;
    border: 1px solid var(--vp-primary) !important;
    border-radius: 9999px !important;
    font-weight: 600 !important;
    padding: 0.625rem 1.25rem !important;
    transition: background-color var(--vp-transition-fast), color var(--vp-transition-fast), border-color var(--vp-transition-fast) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton.tarteaucitronAllow:hover,
#tarteaucitronRoot .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitronSaveButton:hover,
.tac_activate .tarteaucitronAllow:hover {
    background-color: var(--vp-secondary) !important;
    border-color: var(--vp-secondary) !important;
    color: var(--vp-white) !important;
}

/* Boutons secondaires — refuser / personnaliser */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied2.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny {
    background-color: var(--vp-white) !important;
    color: var(--vp-primary) !important;
    border: 1px solid var(--vp-primary) !important;
    border-radius: 9999px !important;
    font-weight: 600 !important;
    padding: 0.625rem 1.25rem !important;
    transition: background-color var(--vp-transition-fast), color var(--vp-transition-fast), border-color var(--vp-transition-fast) !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize:hover,
#tarteaucitronRoot .tarteaucitronDeny:hover {
    background-color: var(--vp-grey-light) !important;
    color: var(--vp-secondary) !important;
    border-color: var(--vp-secondary) !important;
}

/* Lien politique de confidentialité */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronPrivacyUrlDialog {
    background: transparent !important;
    color: var(--vp-primary) !important;
    border: 0 !important;
    border-radius: 0 !important;
    font-weight: 600 !important;
    text-decoration: underline !important;
    padding: 0.5rem 0.75rem !important;
}

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

/* Panneau de gestion */
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
    border-color: var(--vp-grey) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    background: var(--vp-white) !important;
    border-color: var(--vp-grey-light) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle a {
    color: var(--vp-black) !important;
    background: transparent !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a {
    color: var(--vp-primary) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied {
    border-left-color: var(--vp-primary) !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel,
#tarteaucitronRoot #tarteaucitronCloseCross {
    color: var(--vp-primary) !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronH1,
#tarteaucitronRoot #tarteaucitron .tarteaucitronH2 {
    color: var(--vp-black) !important;
}

/* Bloc YouTube / services en attente de consentement */
.tac_activate {
    background: var(--vp-grey-light) !important;
    color: var(--vp-black) !important;
    border-radius: 0.5rem;
}

.tac_activate .tac_float strong {
    color: var(--vp-black) !important;
}

/* Barre de progression scroll (si activée) */
#tarteaucitronPercentage {
    background: var(--vp-primary) !important;
}

/* Focus accessibilité */
#tarteaucitronRoot a:focus-visible,
#tarteaucitronRoot button:focus-visible {
    outline: 2px solid var(--vp-primary) !important;
    outline-offset: 2px;
}

@media screen and (max-width: 767px) {
    #tarteaucitronRoot #tarteaucitronAlertBig {
        box-sizing: border-box !important;
        padding: 1rem 1rem 1.25rem !important;
        text-align: center !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
        width: 100% !important;
        margin: 0 0 0.75rem !important;
        text-align: left !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
    #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton {
        display: block !important;
        width: 100% !important;
        max-width: 20rem;
        margin: 0.75rem auto 0 !important;
        box-sizing: border-box !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
        text-align: center !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig::before,
    #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig::before,
    #tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig::before {
        font-size: var(--vp-px-35) !important;
        line-height: 1.2 !important;
        display: block !important;
        margin-bottom: 0.75rem !important;
        color: var(--vp-primary) !important;
        font-weight: 600 !important;
    }
}
