/* ==========================================================================
   APEX — Gestion des cookies (tarteaucitron) aux couleurs du site
   --------------------------------------------------------------------------
   tarteaucitron injecte sa propre feuille APRÈS celle-ci : chaque règle est
   donc préfixée par « #tarteaucitronRoot#tarteaucitronRoot » (identifiant
   doublé = spécificité supérieure) et marquée !important.
   ========================================================================== */

#tarteaucitronRoot#tarteaucitronRoot {
    --tac-line: rgba(107, 115, 57, .16);
    --tac-display: 'Candal', 'Trebuchet MS', Arial, sans-serif;
    --tac-body: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --tac-ico-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.5 4.2 4.2L18.5 8'/%3E%3C/svg%3E");
    --tac-ico-cross: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E");
}
#tarteaucitronRoot#tarteaucitronRoot,
#tarteaucitronRoot#tarteaucitronRoot * {
    font-family: var(--tac-body) !important;
    letter-spacing: normal;
    box-sizing: border-box;
}

/* Les ✓ / ✗ texte d'origine sont remplacés par des icônes dessinées */
#tarteaucitronRoot#tarteaucitronRoot .tarteaucitronCheck::before,
#tarteaucitronRoot#tarteaucitronRoot .tarteaucitronCross::before { content: none !important; }
#tarteaucitronRoot#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot#tarteaucitronRoot .tarteaucitronCross {
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    margin: 0 !important;
    flex: none;
    color: inherit !important;
    background: currentColor !important;
    -webkit-mask: var(--tac-ico-check) center / contain no-repeat;
            mask: var(--tac-ico-check) center / contain no-repeat;
}
#tarteaucitronRoot#tarteaucitronRoot .tarteaucitronCross {
    -webkit-mask-image: var(--tac-ico-cross);
            mask-image: var(--tac-ico-cross);
}

/* Boutons : base commune */
#tarteaucitronRoot#tarteaucitronRoot button {
    -webkit-tap-highlight-color: transparent;
    text-transform: none !important;
}
#tarteaucitronRoot#tarteaucitronRoot button:focus-visible {
    outline: 3px solid var(--terracotta-d) !important;
    outline-offset: 3px !important;
}

/* ==========================================================================
   1. Voile d'arrière-plan
   ========================================================================== */
div#tarteaucitronRoot#tarteaucitronRoot.tarteaucitronSize-middle.tarteaucitronBeforeVisible::before,
html body.tarteaucitron-modal-open div#tarteaucitronRoot#tarteaucitronRoot::before {
    content: "" !important;
    position: fixed !important;
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    background: rgba(45, 38, 30, .5) !important;
    -webkit-backdrop-filter: blur(6px) saturate(.9);
            backdrop-filter: blur(6px) saturate(.9);
    opacity: 1 !important;
    z-index: 100000 !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronBack {
    background: transparent !important;
    opacity: 1 !important;
    cursor: default;
}

/* ==========================================================================
   2. Bandeau de premier passage (orientation « middle »)
   ========================================================================== */
html body #tarteaucitronRoot#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
    width: min(560px, calc(100% - 32px)) !important;
    min-width: 0 !important;
    max-height: calc(100vh - 32px) !important;
    max-height: calc(100dvh - 32px) !important;
    overflow-y: auto !important;
    padding: 0 0 26px !important;
    border: 0 !important;
    border-radius: 30px !important;
    background: var(--cream) !important;
    color: var(--text) !important;
    text-align: center !important;
    box-shadow:
        0 0 0 1px rgba(107, 115, 57, .14),
        0 40px 100px -30px rgba(30, 26, 18, .75) !important;
    animation: apex-tac-in .5s cubic-bezier(.2, .9, .3, 1.15) both;
}
/* Bandeau d'en-tête : médaillon cookie + titre */
html body #tarteaucitronRoot#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig::before {
    content: var(--tacTitleBanner, "Vos cookies, vos choix") !important;
    display: block !important;
    margin: 0 0 22px !important;
    padding: 118px 28px 26px !important;
    font-family: var(--tac-display) !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    letter-spacing: .01em !important;
    color: var(--cream) !important;
    background:
        url("../images/cookie.svg") center 30px / 50px 50px no-repeat,
        radial-gradient(circle at 50% 55px, rgba(250, 244, 216, .16) 0 36px, rgba(250, 244, 216, .08) 36px 44px, transparent 44px),
        radial-gradient(120% 140% at 0% 0%, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 55%),
        linear-gradient(140deg, #7d8644 0%, var(--olive-dark) 48%, #4d5326 100%) !important;
    border-radius: 30px 30px 0 0;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
    display: block !important;
    margin: 0 0 22px !important;
    padding: 0 34px !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    color: var(--text) !important;
    text-align: center !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong { color: var(--olive-dark) !important; }

/* Liste « Nos partenaires » en pastilles */
html body #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList {
    max-width: none !important;
    margin: 16px auto 0 !important;
    padding: 12px 16px !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 10px;
    border-radius: 16px !important;
    background: var(--cream-soft) !important;
    box-shadow: inset 0 0 0 1px var(--tac-line);
    text-align: center !important;
}
html body #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList b {
    display: inline !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase;
    color: var(--terracotta-d) !important;
}
html body #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList b span { color: inherit !important; font-size: inherit !important; }
html body #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList ul {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
html body #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig div.tarteaucitronPartnersList ul li {
    display: inline-block !important;
    margin: 0 !important;
    padding: 5px 12px !important;
    border-radius: 999px;
    font-size: 13px !important;
    line-height: 1.2 !important;
    color: var(--olive-dark) !important;
    background: var(--white) !important;
    box-shadow: 0 0 0 1px var(--tac-line);
    list-style: none !important;
}

/* Boutons du bandeau : Accepter / Refuser à poids égal (recommandation CNIL) */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-width: 168px;
    margin: 0 5px 10px !important;
    padding: 14px 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-family: var(--tac-display) !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .02em !important;
    cursor: pointer;
    transition: transform .25s cubic-bezier(.34, 1.56, .64, 1), box-shadow .25s ease, background .2s ease, color .2s ease !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
    color: var(--white) !important;
    background: var(--green-btn) !important;
    box-shadow: 0 10px 22px -10px rgba(58, 61, 42, .8) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover { background: var(--green-btn-h) !important; transform: translateY(-2px); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
    color: var(--olive-dark) !important;
    background: var(--white) !important;
    box-shadow: inset 0 0 0 2px var(--olive-dark), 0 10px 22px -14px rgba(58, 61, 42, .6) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover { background: var(--olive-dark) !important; color: var(--cream) !important; transform: translateY(-2px); }

/* « Personnaliser » : lien d'action avec icône réglages */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    min-width: 0;
    padding: 10px 14px !important;
    margin-bottom: 4px !important;
    color: var(--terracotta-d) !important;
    background: transparent !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1.5px !important;
    text-underline-offset: 4px !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert::before {
    content: "" !important;
    width: 17px;
    height: 17px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h10M18 7h2M4 17h4M12 17h8'/%3E%3Ccircle cx='16' cy='7' r='2.2'/%3E%3Ccircle cx='10' cy='17' r='2.2'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h10M18 7h2M4 17h4M12 17h8'/%3E%3Ccircle cx='16' cy='7' r='2.2'/%3E%3Ccircle cx='10' cy='17' r='2.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover { color: var(--green-btn) !important; }

/* Lien « Politique de confidentialité » */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    display: block !important;
    margin: 6px auto 0 !important;
    padding: 4px 8px !important;
    border: 0 !important;
    background: transparent !important;
    font-family: var(--tac-body) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: var(--text-soft) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    cursor: pointer;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover { color: var(--terracotta-d) !important; }

/* Croix « Continuer sans accepter » */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center;
    font-size: 0 !important;
    color: var(--cream) !important;
    background: rgba(250, 244, 216, .14) !important;
    cursor: pointer;
    transition: background .2s ease, transform .35s cubic-bezier(.34, 1.56, .64, 1);
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross > span[aria-hidden="true"] { display: none !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross .tac_visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: var(--tac-ico-cross) center / contain no-repeat;
            mask: var(--tac-ico-cross) center / contain no-repeat;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross:hover { background: rgba(250, 244, 216, .26) !important; transform: rotate(90deg); }

#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronPercentage { background: var(--terracotta) !important; box-shadow: none !important; }

@media (max-width: 600px) {
    html body #tarteaucitronRoot#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
        top: auto !important;
        bottom: 0 !important;
        width: 100% !important;
        max-height: 92vh !important;
        max-height: 92dvh !important;
        margin: 0 !important;
        border-radius: 28px 28px 0 0 !important;
        padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
        animation-name: apex-tac-up;
    }
    html body #tarteaucitronRoot#tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig::before {
        padding: 100px 22px 20px !important;
        font-size: 22px !important;
        background-position: center 24px, center, 0 0, 0 0 !important;
        background-size: 44px 44px, auto, auto, auto !important;
        background-image:
            url("../images/cookie.svg"),
            radial-gradient(circle at 50% 46px, rgba(250, 244, 216, .16) 0 32px, rgba(250, 244, 216, .08) 32px 39px, transparent 39px),
            radial-gradient(120% 140% at 0% 0%, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 55%),
            linear-gradient(140deg, #7d8644 0%, var(--olive-dark) 48%, #4d5326 100%) !important;
        border-radius: 28px 28px 0 0;
    }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert { padding: 0 22px !important; font-size: 15px !important; }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
        display: flex !important;
        width: calc(100% - 44px) !important;
        margin: 0 auto 10px !important;
    }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert { display: inline-flex !important; margin: 2px auto 0 !important; }
}

@keyframes apex-tac-in {
    from { opacity: 0; transform: translateY(24px) scale(.96); }
    to   { opacity: 1; transform: none; }
}
@keyframes apex-tac-up {
    from { transform: translateY(100%); }
    to   { transform: none; }
}

/* ==========================================================================
   3. Panneau « Gestion des cookies »
   ========================================================================== */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: min(680px, calc(100% - 32px)) !important;
    max-width: none !important;
    max-height: min(86vh, 780px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 30px !important;
    background: var(--cream) !important;
    color: var(--text) !important;
    box-shadow:
        0 0 0 1px rgba(107, 115, 57, .14),
        0 40px 100px -30px rgba(30, 26, 18, .75) !important;
    z-index: 2147483646 !important;
    animation: apex-tac-pop .45s cubic-bezier(.2, .9, .3, 1.15) both;
}
@keyframes apex-tac-pop {
    from { opacity: 0; transform: translate(-50%, calc(-50% + 22px)) scale(.96); }
    to   { opacity: 1; transform: translate(-50%, -50%); }
}

/* Bouton « Fermer » : pastille ronde en haut à droite */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    z-index: 3;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center;
    font-size: 0 !important;
    line-height: 0 !important;
    color: var(--cream) !important;
    background: rgba(250, 244, 216, .14) !important;
    cursor: pointer;
    transition: background .2s ease, transform .35s cubic-bezier(.34, 1.56, .64, 1) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel::before {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 17px;
    height: 17px;
    background: currentColor;
    -webkit-mask: var(--tac-ico-cross) center / contain no-repeat;
            mask: var(--tac-ico-cross) center / contain no-repeat;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:hover { background: rgba(250, 244, 216, .26) !important; transform: rotate(90deg); }

/* Zone défilante (la hauteur calculée par le script est neutralisée) */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
    height: auto !important;
    max-height: min(86vh, 780px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    border: 0 !important;
    box-shadow: none !important;
    background: var(--cream) !important;
}

/* ---- En-tête du panneau ---- */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 6px 16px;
    margin: 0 !important;
    padding: 30px 30px 22px 102px !important;
    border: 0 !important;
    color: var(--cream) !important;
    background:
        url("../images/cookie.svg") 30px 28px / 46px 46px no-repeat,
        radial-gradient(circle at 53px 51px, rgba(250, 244, 216, .14) 0 31px, transparent 32px),
        radial-gradient(120% 140% at 0% 0%, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 55%),
        linear-gradient(140deg, #7d8644 0%, var(--olive-dark) 48%, #4d5326 100%) !important;
    overflow: hidden;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine::after {
    content: "Σ  π  √";
    position: absolute;
    right: 70px;
    bottom: -30px;
    font: italic 400 84px/1 Georgia, 'Times New Roman', serif !important;
    letter-spacing: 8px;
    color: rgba(250, 244, 216, .07);
    pointer-events: none;
    white-space: nowrap;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1 {
    grid-column: 1 / -1;
    display: block !important;
    margin: 0 50px 0 0 !important;
    padding: 0 !important;
    font-family: var(--tac-display) !important;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    text-align: left !important;
    color: var(--cream) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
    grid-column: 1 / -1;
    position: static !important;
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 4px 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    text-align: left !important;
    color: rgba(250, 244, 216, .82) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br { display: none; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog {
    display: inline !important;
    margin: 0 0 0 6px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--tan) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    cursor: pointer;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:hover { color: var(--cream) !important; }

/* Ligne « Préférences pour tous les services » */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronName {
    position: relative;
    z-index: 1;
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronName .tarteaucitronH2 {
    display: block !important;
    margin: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase;
    text-align: left !important;
    color: var(--tan) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk {
    position: relative;
    z-index: 1;
    display: flex !important;
    gap: 8px;
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    text-align: right !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-family: var(--tac-display) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .25s ease !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine #tarteaucitronAllAllowed { color: var(--olive-dark) !important; background: var(--cream) !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine #tarteaucitronAllDenied { color: var(--cream) !important; background: transparent !important; box-shadow: inset 0 0 0 1.5px rgba(250, 244, 216, .55); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button:hover { transform: translateY(-1px); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine #tarteaucitronAllDenied:hover { background: rgba(250, 244, 216, .14) !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button:focus-visible { outline-color: var(--tan) !important; }

/* ---- Catégories ---- */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
    margin: 0 !important;
    padding: 24px 26px 8px !important;
    border: 0 !important;
    background: var(--cream) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder ul ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul > li {
    margin: 0 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    list-style: none !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul > li.tarteaucitronHidden:not([style*="block"]) { display: none !important; }

#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle {
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: auto !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle::after { content: ""; flex: 1; height: 1px; background: var(--tac-line); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle .asCatToggleBtn,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button {
    font-family: var(--tac-display) !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase;
    text-align: left !important;
    color: var(--terracotta-d) !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronDetails {
    position: static !important;
    display: block !important;
    max-width: none !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: var(--text-soft) !important;
}

/* ---- Carte d'un service ---- */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine:not(#tarteaucitronNoServicesTitle) {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 14px 18px;
    flex-wrap: wrap;
    margin: 0 0 10px !important;
    padding: 16px 16px 16px 20px !important;
    border: 0 !important;
    border-radius: 20px !important;
    background: var(--white) !important;
    box-shadow: 0 0 0 1px var(--tac-line), 0 8px 18px -16px rgba(58, 61, 42, .7) !important;
    overflow: hidden;
    transition: box-shadow .25s ease;
}
/* Liseré d'état à gauche */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine::before {
    content: "";
    position: absolute;
    left: 0;
    top: 14px;
    bottom: 14px;
    width: 4px;
    border-radius: 0 4px 4px 0;
    background: var(--tan);
    transition: background .25s ease;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine.tarteaucitronIsAllowed::before { background: var(--green-btn); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine.tarteaucitronIsDenied::before { background: #b04a2f; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory li.tarteaucitronLine::before { background: var(--olive); }

#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronName {
    flex: 1 1 260px;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    text-align: left !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronH3 {
    display: block !important;
    margin: 0 0 6px !important;
    font-family: var(--tac-display) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    color: var(--olive-dark) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3 {
    margin: 0 !important;
    font-family: var(--tac-body) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: var(--text) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory br,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronListCookies { display: none !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronServiceDescription {
    display: block;
    margin: 0 0 6px;
    font-size: 13px !important;
    line-height: 1.45 !important;
    color: var(--text-soft) !important;
}

/* Statut + liens */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronStatusInfo {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 12.5px !important;
    color: var(--text-soft) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tacCurrentStatus {
    display: inline-flex !important;
    flex: none !important;
    width: auto !important;
    align-items: center;
    gap: 6px;
    padding: 4px 10px 4px 8px;
    border-radius: 999px;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--terracotta-d) !important;
    background: rgba(214, 168, 120, .2);
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tacCurrentStatus::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tacCurrentStatus { color: var(--green-btn) !important; background: rgba(85, 107, 47, .12); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tacCurrentStatus { color: #9c3d24 !important; background: rgba(176, 74, 47, .1); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronStatusInfo .tarteaucitronReadmoreSeparator { display: none !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronListCookies {
    display: inline !important;
    width: auto !important;
    font-size: 12.5px !important;
    color: var(--text-soft) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronName > .tarteaucitronReadmoreSeparator { color: var(--olive) !important; font-size: 12.5px !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreInfo,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreOfficial {
    display: inline !important;
    margin: 0 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: var(--terracotta-d) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    background: transparent !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreInfo:hover,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronReadmoreOfficial:hover { color: var(--green-btn) !important; }

/* Interrupteur Autoriser / Interdire (contrôle segmenté) */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronAsk {
    display: inline-flex !important;
    flex: none;
    gap: 4px;
    width: auto !important;
    margin: 0 !important;
    padding: 4px !important;
    float: none !important;
    border-radius: 999px;
    background: var(--cream-soft) !important;
    box-shadow: inset 0 0 0 1px var(--tac-line);
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronAsk button {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 10px 16px !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-family: var(--tac-body) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: var(--text-soft) !important;
    background: transparent !important;
    opacity: 1 !important;
    cursor: pointer;
    transition: background .22s ease, color .22s ease, box-shadow .22s ease !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronAsk button:hover { color: var(--olive-dark) !important; background: rgba(255, 255, 255, .7) !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow[aria-pressed="true"] {
    color: var(--white) !important;
    background: var(--green-btn) !important;
    box-shadow: 0 6px 14px -8px rgba(58, 61, 42, .9) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny[aria-pressed="true"] {
    color: var(--white) !important;
    background: #9c3d24 !important;
    box-shadow: 0 6px 14px -8px rgba(110, 40, 20, .9) !important;
}

#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronNoServicesTitle[style*="none"] { display: none !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronNoServicesTitle {
    padding: 16px 20px !important;
    border-radius: 20px;
    font-size: 14px !important;
    color: var(--text-soft) !important;
    background: var(--white) !important;
}

/* Mention tarteaucitron (licence) : discrète */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronSelfLink {
    display: block !important;
    width: max-content;
    margin: 4px auto 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: .4;
    filter: grayscale(1);
    transition: opacity .2s ease;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronSelfLink:hover { opacity: .8; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronSelfLink img { height: 22px !important; width: auto !important; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitron-spacer-20 { height: 4px !important; }

/* Bouton « Enregistrer » collé en bas de la zone défilante */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronSave {
    position: sticky !important;
    bottom: 0;
    z-index: 2;
    display: flex !important;
    justify-content: center;
    margin: 0 !important;
    padding: 16px 26px 20px !important;
    text-align: center !important;
    background: linear-gradient(180deg, rgba(250, 244, 216, 0) 0, var(--cream) 22px) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: min(320px, 100%);
    margin: 0 !important;
    padding: 15px 26px !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-family: var(--tac-display) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: .03em !important;
    color: var(--white) !important;
    background: var(--green-btn) !important;
    box-shadow: 0 14px 26px -12px rgba(58, 61, 42, .85) !important;
    cursor: pointer;
    transition: background .2s ease, transform .25s cubic-bezier(.34, 1.56, .64, 1) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton::before {
    content: "";
    width: 16px;
    height: 16px;
    background: currentColor;
    -webkit-mask: var(--tac-ico-check) center / contain no-repeat;
            mask: var(--tac-ico-check) center / contain no-repeat;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton:hover { background: var(--green-btn-h) !important; transform: translateY(-2px); }

@media (max-width: 767px) {
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron {
        top: auto !important;
        bottom: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        max-height: 94vh !important;
        max-height: 94dvh !important;
        border-radius: 28px 28px 0 0 !important;
        animation-name: apex-tac-up;
    }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices { max-height: 94vh !important; max-height: 94dvh !important; }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
        grid-template-columns: 1fr;
        padding: 96px 22px 20px !important;
        background-position: 22px 24px, 0 0, 0 0, 0 0 !important;
        background-image:
            url("../images/cookie.svg"),
            radial-gradient(circle at 45px 47px, rgba(250, 244, 216, .14) 0 31px, transparent 32px),
            radial-gradient(120% 140% at 0% 0%, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 55%),
            linear-gradient(140deg, #7d8644 0%, var(--olive-dark) 48%, #4d5326 100%) !important;
    }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1 { font-size: 22px !important; margin-right: 0 !important; }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button { flex: 1; justify-content: center; }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder { padding: 20px 16px 4px !important; }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronAsk { width: 100% !important; }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronAsk button { flex: 1; justify-content: center; }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitron #tarteaucitronSave { padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important; }
}

/* ==========================================================================
   4. Bouton cookie flottant (même dessin que le bouton d'accessibilité)
   ========================================================================== */
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon {
    position: fixed !important;
    left: var(--fab-edge) !important;
    bottom: var(--fab-edge) !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    z-index: 9989 !important;
}
/* Empilé au-dessus du bouton d'accessibilité quand celui-ci est aussi à gauche (accueil) */
body.has-apex-a11y:not(.apex-a11y-right) #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon {
    bottom: calc(var(--fab-edge) + var(--fab-size) + var(--fab-gap)) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager {
    position: relative !important;
    width: var(--fab-size) !important;
    height: var(--fab-size) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center;
    isolation: isolate;
    cursor: pointer;
    background: var(--fab-bg) !important;
    box-shadow: var(--fab-shadow) !important;
    transition: transform .45s cubic-bezier(.34, 1.56, .64, 1), box-shadow .3s ease !important;
    animation: apex-fab-in .7s cubic-bezier(.34, 1.56, .64, 1) .3s backwards;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager::before {
    content: "";
    position: absolute;
    inset: -5px;
    border-radius: 50%;
    background: conic-gradient(from 210deg, var(--terracotta), var(--tan), var(--olive-light), var(--olive-dark), var(--terracotta));
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2px));
            mask: radial-gradient(farthest-side, transparent calc(100% - 2.5px), #000 calc(100% - 2px));
    opacity: .9;
    z-index: -1;
    animation: apex-fab-spin 7s linear infinite paused;
    pointer-events: none;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager::after {
    content: "Cookies";
    position: absolute;
    left: calc(100% + 16px);
    top: 50%;
    transform: translate(-8px, -50%);
    opacity: 0;
    white-space: nowrap;
    pointer-events: none;
    font-family: var(--tac-display) !important;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1;
    color: var(--olive-dark);
    background: var(--cream);
    padding: 10px 15px;
    border-radius: 999px;
    box-shadow: 0 8px 22px -6px rgba(58, 61, 42, .35), 0 0 0 1px rgba(107, 115, 57, .12);
    transition: opacity .25s ease, transform .35s cubic-bezier(.2, .9, .3, 1.2);
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager img {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    max-width: none !important;
    margin: 0 !important;
    filter: drop-shadow(0 3px 3px rgba(0, 0, 0, .3));
    transition: transform .55s cubic-bezier(.34, 1.56, .64, 1);
    animation: apex-cookie-wiggle 1.1s ease 1.8s 1;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:hover,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:focus-visible {
    transform: translateY(-3px) scale(1.05);
    box-shadow: var(--fab-shadow-hover) !important;
}
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:hover::before,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:focus-visible::before { animation-play-state: running; }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:hover::after,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:hover img,
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:focus-visible img { transform: rotate(-22deg) scale(1.1); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:active { transform: scale(.94); }
#tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:focus-visible { outline: 3px solid var(--terracotta) !important; outline-offset: 7px !important; }

@keyframes apex-cookie-wiggle {
    0%, 100% { transform: rotate(0); }
    20% { transform: rotate(-16deg); }
    40% { transform: rotate(11deg); }
    60% { transform: rotate(-6deg); }
    80% { transform: rotate(3deg); }
}
/* Animations partagées avec a11y.css (redéclarées si ce fichier est seul) */
@keyframes apex-fab-in {
    from { opacity: 0; transform: scale(.4) rotate(-60deg); }
    to   { opacity: 1; transform: none; }
}
@keyframes apex-fab-spin { to { transform: rotate(360deg); } }

@media (max-width: 600px) {
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager::after { display: none; }
    #tarteaucitronRoot#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager img { width: 30px !important; height: 30px !important; }
}

/* ==========================================================================
   5. Encart « service bloqué » (ex. carte Google Maps du pied de page)
   ========================================================================== */
html body .tac_activate {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    height: 100% !important;
    min-height: 260px;
    padding: 24px !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    color: var(--text) !important;
    background-color: var(--cream-soft) !important;
    background-image:
        radial-gradient(circle at 50% 50%, rgba(250, 244, 216, 0) 0 140px, var(--cream-soft) 340px),
        linear-gradient(rgba(107, 115, 57, .09) 1px, transparent 1px),
        linear-gradient(90deg, rgba(107, 115, 57, .09) 1px, transparent 1px),
        linear-gradient(32deg, transparent 47%, rgba(214, 168, 120, .35) 47% 49%, transparent 49%),
        linear-gradient(-58deg, transparent 58%, rgba(214, 168, 120, .3) 58% 59.5%, transparent 59.5%) !important;
    background-size: auto, 34px 34px, 34px 34px, auto, auto !important;
}
html body .tac_activate .tac_float {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    max-width: 380px;
    padding: 76px 28px 26px !important;
    border-radius: 26px;
    text-align: center;
    line-height: 1.5;
    color: var(--text) !important;
    background:
        radial-gradient(circle at 50% 44px, var(--olive-dark) 0 25px, rgba(107, 115, 57, .14) 26px 33px, transparent 34px),
        var(--white) !important;
    box-shadow: 0 0 0 1px rgba(107, 115, 57, .14), 0 24px 50px -28px rgba(45, 38, 30, .6);
    position: relative;
}
html body .tac_activate .tac_float::before {
    content: "";
    position: absolute;
    top: 31px;
    left: 50%;
    width: 26px;
    height: 26px;
    margin-left: -13px;
    background: var(--cream);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body .tac_activate .tac_float strong,
html body .tac_activate .tac_float span { color: var(--text) !important; }
html body .tac_activate .tarteaucitronAllow,
html body .tac_activate .tac_float .tarteaucitronAllow {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    padding: 13px 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    font-family: var(--font-display) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    color: var(--white) !important;
    background: var(--green-btn) !important;
    box-shadow: 0 12px 24px -12px rgba(58, 61, 42, .85);
    cursor: pointer;
    transition: background .2s ease, transform .25s cubic-bezier(.34, 1.56, .64, 1);
}
html body .tac_activate .tarteaucitronAllow:hover { background: var(--green-btn-h) !important; transform: translateY(-2px); }
html body .tac_activate .tarteaucitronAllow .tarteaucitronCheck::before { content: none !important; }
html body .tac_activate .tarteaucitronAllow .tarteaucitronCheck {
    display: inline-block !important;
    color: inherit !important;
    width: 15px;
    height: 15px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.5 4.2 4.2L18.5 8'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 12.5 4.2 4.2L18.5 8'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ==========================================================================
   6. Mouvements réduits
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    #tarteaucitronRoot#tarteaucitronRoot *,
    #tarteaucitronRoot#tarteaucitronRoot *::before,
    #tarteaucitronRoot#tarteaucitronRoot *::after { animation: none !important; transition: none !important; }
}
