/*
 * Jestion — Personnalisation Tarteaucitron
 * Bannière compacte, thèmes clair et sombre, responsive.
 */

/* =========================================
   BASE
========================================= */

#tarteaucitronRoot,
#tarteaucitronRoot * {
    font-family: "Poppins", sans-serif !important;
    box-sizing: border-box;
}

#tarteaucitronRoot {
    --jestion-cookie-gradient: linear-gradient(
        135deg,
        darkslateblue 0%,
        #a997ff 100%
    );

    --jestion-cookie-radius: 16px;
    --jestion-cookie-border: var(--cd, #E2E8F0);
    --jestion-cookie-bg: var(--cj, #FFFFFF);
    --jestion-cookie-surface: var(--cb, #F8FAFC);
    --jestion-cookie-text: var(--ce, #0F172A);
    --jestion-cookie-muted: var(--cf, #64748B);

    color: var(--jestion-cookie-text);
}

/* =========================================
   BANDEAU PRINCIPAL
========================================= */

#tarteaucitronRoot #tarteaucitronAlertBig {
    position: fixed !important;
    left: 16px !important;
    right: auto !important;
    bottom: 16px !important;
    top: auto !important;

    width: min(560px, calc(100vw - 32px)) !important;
    max-width: 560px !important;

    margin: 0 !important;
    padding: 20px 22px !important;

    border: 1px solid var(--jestion-cookie-border) !important;
    border-radius: var(--jestion-cookie-radius) !important;

    background: var(--jestion-cookie-bg) !important;
    color: var(--jestion-cookie-text) !important;

    box-shadow: var(--cl, 0 4px 18px rgba(15, 23, 42, .10)) !important;

    text-align: left !important;
    line-height: 1.65 !important;
}

/* Texte de présentation */

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronDisclaimerAlert {
    display: block !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--jestion-cookie-muted) !important;

    font-size: .875rem !important;
    line-height: 1.7 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig strong {
    color: var(--jestion-cookie-text) !important;
    font-weight: 600 !important;
}

/* =========================================
   TITRES ET LIENS
========================================= */

#tarteaucitronRoot .tarteaucitronH1,
#tarteaucitronRoot .tarteaucitronTitle,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronH1 {
    color: var(--jestion-cookie-text) !important;

    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: -.02em !important;
}

#tarteaucitronRoot a {
    color: var(--ch, darkslateblue) !important;

    text-decoration: underline;
    text-decoration-color: rgba(169, 151, 255, .55);
    text-underline-offset: 3px;
}

#tarteaucitronRoot a:hover {
    color: #a997ff !important;
}

/* =========================================
   BOUTONS
========================================= */

#tarteaucitronRoot .tarteaucitronCTAButton,
#tarteaucitronRoot #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronPersonalize,
#tarteaucitronRoot .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot .tarteaucitronAsk {

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 8px 16px !important;
    margin: 4px 6px 0 0 !important;

    border: 1px solid var(--jestion-cookie-border) !important;
    border-radius: 10px !important;

    font-family: "Poppins", sans-serif !important;
    font-size: .875rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;

    text-shadow: none !important;
    box-shadow: none !important;

    white-space: nowrap !important;

    cursor: pointer !important;

    transition:
    background .2s ease,
    color .2s ease,
    border-color .2s ease,
    transform .2s ease !important;
}

/* Tout accepter */

#tarteaucitronRoot #tarteaucitronAllAllowed,
#tarteaucitronRoot .tarteaucitronAllow {
    background: var(--jestion-cookie-gradient) !important;
    border-color: transparent !important;
    color: #FFFFFF !important;
}

#tarteaucitronRoot #tarteaucitronAllAllowed:hover,
#tarteaucitronRoot .tarteaucitronAllow:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
}

/* Tout refuser et personnaliser */

#tarteaucitronRoot #tarteaucitronAllDenied,
#tarteaucitronRoot .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronPersonalize,
#tarteaucitronRoot .tarteaucitronAsk {
    background: var(--jestion-cookie-surface) !important;
    color: var(--jestion-cookie-text) !important;
}

#tarteaucitronRoot #tarteaucitronAllDenied:hover,
#tarteaucitronRoot .tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitronPersonalize:hover,
#tarteaucitronRoot .tarteaucitronAsk:hover {
    border-color: #a997ff !important;
    color: var(--ch, darkslateblue) !important;
}

/* =========================================
   PANNEAU DE PERSONNALISATION
========================================= */

#tarteaucitronRoot #tarteaucitron {
    background: var(--jestion-cookie-bg) !important;
    color: var(--jestion-cookie-text) !important;

    border: 1px solid var(--jestion-cookie-border) !important;
    border-radius: 16px 16px 0 0 !important;

    box-shadow: var(--cl, 0 4px 18px rgba(15, 23, 42, .10)) !important;

    font-size: .875rem !important;
}

#tarteaucitronRoot #tarteaucitronMainLine,
#tarteaucitronRoot .tarteaucitronBorder {
    border-color: var(--jestion-cookie-border) !important;
}

#tarteaucitronRoot .tarteaucitronLine {
    background: var(--jestion-cookie-bg) !important;
    border-color: var(--jestion-cookie-border) !important;
}

#tarteaucitronRoot .tarteaucitronH2,
#tarteaucitronRoot .tarteaucitronTitle {
    color: var(--jestion-cookie-text) !important;
}

#tarteaucitronRoot .tarteaucitronInfo,
#tarteaucitronRoot .tarteaucitronDetails,
#tarteaucitronRoot .tarteaucitronDetails a {
    color: var(--jestion-cookie-muted) !important;
}

/* =========================================
   ICÔNES ET ACCESSIBILITÉ
========================================= */

#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross {
    border-radius: 6px !important;
}

#tarteaucitronRoot input:focus-visible,
#tarteaucitronRoot button:focus-visible,
#tarteaucitronRoot a:focus-visible {
    outline: 2px solid #a997ff !important;
    outline-offset: 3px !important;
}

/* Icône flottante des préférences */

/* Bouton intérieur */
#tarteaucitronRoot #tarteaucitronIcon button,
#tarteaucitronRoot #tarteaucitronIcon a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: .75rem !important;
    background: linear-gradient(135deg, darkslateblue, #a997ff) !important;
}

#tarteaucitronRoot #tarteaucitronIcon {
    position: fixed !important;
    bottom: 6rem !important;
    right: 2rem !important;
    left: auto !important;
    width: 3rem !important;
    height: 3rem !important;
    border-radius: .75rem !important;
    overflow: hidden !important;
}

/* Image : conserver les proportions */
#tarteaucitronRoot #tarteaucitronIcon img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 75% !important;
    max-height: 75% !important;
    object-fit: contain !important;
}

/* =========================================
   THÈME CLAIR
========================================= */

[data-bs-theme="light"] #tarteaucitronRoot #tarteaucitronAlertBig,
[data-bs-theme="light"] #tarteaucitronRoot #tarteaucitron {
    background: #FFFFFF !important;
    color: #0F172A !important;
    border-color: #E2E8F0 !important;
}

[data-bs-theme="light"] #tarteaucitronRoot #tarteaucitronDisclaimerAlert,
[data-bs-theme="light"] #tarteaucitronRoot .tarteaucitronInfo,
[data-bs-theme="light"] #tarteaucitronRoot .tarteaucitronDetails {
    color: #64748B !important;
}

[data-bs-theme="light"] #tarteaucitronRoot .tarteaucitronH1,
[data-bs-theme="light"] #tarteaucitronRoot .tarteaucitronH2,
[data-bs-theme="light"] #tarteaucitronRoot .tarteaucitronTitle {
    color: #0F172A !important;
}

[data-bs-theme="light"] #tarteaucitronRoot #tarteaucitronAllDenied,
[data-bs-theme="light"] #tarteaucitronRoot #tarteaucitronPersonalize {
    background: #F8FAFC !important;
    color: #0F172A !important;
    border-color: #E2E8F0 !important;
}

/* =========================================
   THÈME SOMBRE
========================================= */

[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronAlertBig,
[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitron {
    color: #F8FAFC !important;
    color-scheme: dark;
}

[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronAlertBig {
    background: rgba(30, 41, 59, .96) !important;
    border-color: #334155 !important;
}

[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitron {
    background: #1E293B !important;
    border-color: #334155 !important;
}

[data-bs-theme="dark"] #tarteaucitronRoot .tarteaucitronLine {
    background: #1E293B !important;
    border-color: #334155 !important;
}

[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronDisclaimerAlert,
[data-bs-theme="dark"] #tarteaucitronRoot .tarteaucitronInfo,
[data-bs-theme="dark"] #tarteaucitronRoot .tarteaucitronDetails {
    color: #94A3B8 !important;
}

[data-bs-theme="dark"] #tarteaucitronRoot .tarteaucitronH1,
[data-bs-theme="dark"] #tarteaucitronRoot .tarteaucitronH2,
[data-bs-theme="dark"] #tarteaucitronRoot .tarteaucitronTitle {
    color: #F8FAFC !important;
}

[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronAllDenied,
[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronPersonalize,
[data-bs-theme="dark"] #tarteaucitronRoot .tarteaucitronDeny,
[data-bs-theme="dark"] #tarteaucitronRoot .tarteaucitronAsk {
    background: #0F172A !important;
    border-color: #475569 !important;
    color: #F8FAFC !important;
}

/* =========================================
   VERSION MOBILE
========================================= */

@media (max-width: 767.98px) {

    #tarteaucitronRoot #tarteaucitronAlertBig {
        left: 10px !important;
        right: 10px !important;
        bottom: 10px !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 17px !important;

        border-radius: 14px !important;
    }

    #tarteaucitronRoot .tarteaucitronCTAButton,
    #tarteaucitronRoot #tarteaucitronAllAllowed,
    #tarteaucitronRoot #tarteaucitronAllDenied,
    #tarteaucitronRoot #tarteaucitronPersonalize {
        min-width: 0 !important;
        margin: 4px 4px 0 0 !important;
        padding: 10px 12px !important;
        font-size: .8rem !important;
    }

    #tarteaucitronRoot #tarteaucitron {
        max-height: 82vh !important;
        overflow-y: auto !important;
    }
}

/* =========================================
   PETITS ÉCRANS
========================================= */

@media (max-width: 380px) {

    #tarteaucitronRoot #tarteaucitronAlertBig {
        padding: 14px !important;
    }

    #tarteaucitronRoot #tarteaucitronAlertBig button {
        font-size: .75rem !important;
    }
}

/* =========================================
   ACCESSIBILITÉ : MOUVEMENTS RÉDUITS
========================================= */

@media (prefers-reduced-motion: reduce) {

    #tarteaucitronRoot *,
    #tarteaucitronRoot *::before,
    #tarteaucitronRoot *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}


/* =========================================
   JESTION — BANDEAU COOKIES COMPACT
========================================= */

/* Pas de « display: block !important » ici : Tarteaucitron masque le bandeau
   avec display:none après le choix, et un !important l'en empêcherait
   (bandeau invisible qui bloquerait les clics sur le bas de la page). */
#tarteaucitronRoot #tarteaucitronAlertBig {
    width: min(500px, calc(100vw - 32px)) !important;
    max-width: 500px !important;
    padding: 14px !important;
    border-radius: 16px !important;
}

/* En-tête */
#tarteaucitronRoot .jestion-cookie-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 10px !important;
}

#tarteaucitronRoot .jestion-cookie-title {
    color: var(--ce, #0F172A) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

/* Roue dentée */
#tarteaucitronRoot .jestion-cookie-settings {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: var(--ch, darkslateblue) !important;
    font-size: 17px !important;
    cursor: pointer !important;
}

#tarteaucitronRoot .jestion-cookie-settings:hover {
    background: rgba(129, 140, 248, .12) !important;
}

/* Description */
#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
    margin: 0 0 12px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

/* Boutons */
#tarteaucitronRoot #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronCloseAlert {
    min-height: 38px !important;
    padding: 8px 12px !important;
    margin: 0 5px 0 0 !important;
    border-radius: 10px !important;
}

/* Personnaliser : bouton discret mais visible */
#tarteaucitronRoot #tarteaucitronCloseAlert {
    background: var(--cc, #F1F5F9) !important;
    border: 1px solid var(--cd, #E2E8F0) !important;
    color: var(--ce, #0F172A) !important;
}

/* Lien politique de confidentialité */
#tarteaucitronRoot #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronAlertBig a {
    display: inline-block !important;
    margin-top: 10px !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
    color: darkslateblue !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    padding-bottom: 0 !important;
}

/* Thème clair */

[data-bs-theme="light"] #tarteaucitronRoot #tarteaucitronAlertBig {
    background: #FFFFFF !important;
    border-color: #E2E8F0 !important;
}

[data-bs-theme="light"] #tarteaucitronRoot .jestion-cookie-title {
    color: #0F172A !important;
}

/* Thème sombre */
[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronAlertBig {
    background: #1E293B !important;
    border-color: #334155 !important;
}

[data-bs-theme="dark"] #tarteaucitronRoot .jestion-cookie-title {
    color: #F8FAFC !important;
}

[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronCloseAlert {
    background: #334155 !important;
    border-color: #475569 !important;
    color: #F8FAFC !important;
}

/* Mobile */
@media (max-width: 600px) {

    #tarteaucitronRoot #tarteaucitronIcon {
        right: 1rem !important;
        bottom: 6rem !important;
    }

    /* Accepter et refuser sur la même ligne */
    #tarteaucitronRoot #tarteaucitronPersonalize2,
    #tarteaucitronRoot #tarteaucitronAllDenied2,
    #tarteaucitronRoot #tarteaucitronCloseAlert {
        display: inline-flex !important;
        width: calc(50% - 4px) !important;
        height: 42px !important;
        min-height: 42px !important;
        line-height: 42px !important;
        margin: 0 2px 8px 0 !important;
        padding: 0 6px !important;
        vertical-align: middle !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    #tarteaucitronRoot #tarteaucitronCloseAlert {
        width: 100% !important;
    }

    /* Lien de confidentialité */
    #tarteaucitronRoot #tarteaucitronAlertBig a {
        margin-top: 5px !important;
        text-align: center !important;
    }

    /* Conteneur */
    #tarteaucitronRoot #tarteaucitronAlertBig {
        left: 10px !important;
        right: 10px !important;
        bottom: 10px !important;

        width: auto !important;
        max-width: none !important;

        padding: 14px !important;
        text-align: left !important;
    }

    /* En-tête */
    #tarteaucitronRoot .jestion-cookie-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        margin-bottom: 10px !important;
    }

    /* Description */
    #tarteaucitronRoot #tarteaucitronDisclaimerAlert {
        display: block !important;
        width: 100% !important;
        margin: 0 0 12px !important;
        font-size: 12px !important;
        line-height: 1.55 !important;
    }

    /* Personnaliser doit conserver son apparence de bouton */
    #tarteaucitronRoot #tarteaucitronCloseAlert {
        background: var(--cc, #F1F5F9) !important;
        border: 1px solid var(--cd, #E2E8F0) !important;
        color: var(--ce, #0F172A) !important;
    }

    /* Lien de confidentialité sur sa propre ligne */
    #tarteaucitronRoot #tarteaucitronAlertBig a {
        display: block !important;
        clear: both !important;
        width: 100% !important;

        margin: 9px 0 0 !important;
        padding: 0 !important;

        font-size: 11px !important;
        line-height: 1.4 !important;
        text-align: left !important;
    }
}

[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronPrivacyUrl,
[data-bs-theme="dark"] #tarteaucitronRoot #tarteaucitronAlertBig a {
    color: var(--jestion-cookie-muted) !important;;
}

/* ============================================
   TARTEAUCITRON — APPARITION AU SCROLL
============================================ */

#tarteaucitronRoot #tarteaucitronIcon {
    position: fixed !important;
    right: 2rem !important;
    bottom: 6rem !important;
    left: auto !important;
    top: auto !important;

    width: 3rem !important;
    height: 3rem !important;

    border-radius: .75rem !important;
    overflow: hidden !important;

    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(12px) !important;

    transition:
    all .4s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;

    z-index: 9997 !important;
}

/* Apparition après défilement */
#tarteaucitronRoot #tarteaucitronIcon.visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}

/* Bouton violet */
#tarteaucitronRoot #tarteaucitronIcon button,
#tarteaucitronRoot #tarteaucitronIcon .tarteaucitronSelfLink {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    border: none !important;
    border-radius: .75rem !important;

    background: linear-gradient(
        135deg,
        darkslateblue 0%,
        #a997ff 100%
    ) !important;
}

/* Image sans déformation */
#tarteaucitronRoot #tarteaucitronIcon img {
    width: auto !important;
    height: auto !important;
    max-width: 75% !important;
    max-height: 75% !important;
    object-fit: contain !important;
}

/* Très petits écrans */
@media (max-width: 380px) {

    #tarteaucitronRoot #tarteaucitronAllAllowed,
    #tarteaucitronRoot #tarteaucitronAllDenied,
    #tarteaucitronRoot #tarteaucitronPersonalize {
        padding: 0 7px !important;
        font-size: 10px !important;
    }
}
/* =========================================
   SÉCURITÉ : bandeau masqué = aucun clic intercepté
========================================= */

#tarteaucitronRoot #tarteaucitronAlertBig[style*="display: none"],
#tarteaucitronRoot #tarteaucitronAlertBig[style*="display:none"] {
    display: none !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig[style*="opacity: 0"],
#tarteaucitronRoot #tarteaucitronAlertBig[style*="opacity:0"],
#tarteaucitronRoot #tarteaucitronAlertBig[style*="visibility: hidden"] {
    pointer-events: none !important;
}
