/*
 * Habillage tarteaucitron adapté à la charte Horizons Group.
 * Palette : bleu nuit #08057d, bleu #2485fa, or #e8b154.
 */

/* Le bouton natif est remplacé par un bouton cohérent avec les autres sites. */
#tarteaucitronIcon {
    display: none !important;
}

.cookie-manager-button {
    position: fixed !important;
    right: auto !important;
    left: 22px !important;
    bottom: 22px !important;
    z-index: 2147483643 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    padding: 0;
    border: 2px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    background: #08057d;
    color: #fff;
    box-shadow: 0 10px 28px rgba(8, 5, 125, 0.3);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.cookie-manager-button:hover,
.cookie-manager-button:focus {
    background: #e8b154;
    color: #08057d;
    transform: translateY(-2px);
    box-shadow: 0 13px 32px rgba(8, 5, 125, 0.35);
}

.cookie-manager-button:focus {
    outline: 3px solid rgba(36, 133, 250, 0.45);
    outline-offset: 3px;
}

.cookie-manager-button .fa-cookie-bite {
    font-size: 21px;
    line-height: 1;
}

/* Bandeau compact en carte, similaire aux autres sites de l'agence. */
#tarteaucitronAlertBig {
    right: 22px !important;
    bottom: 90px !important;
    left: auto !important;
    width: min(650px, calc(100vw - 44px)) !important;
    min-height: 0 !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(8, 5, 125, 0.14) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.98) !important;
    color: #08057d !important;
    box-shadow: 0 18px 50px rgba(8, 5, 125, 0.2) !important;
    font-family: poppins, Arial, sans-serif !important;
    text-align: left !important;
}

#tarteaucitronDisclaimerAlert {
    display: block !important;
    margin: 0 0 12px !important;
    color: #4f4f5f !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

#tarteaucitronAlertBig button,
#tarteaucitronAlertBig a {
    margin: 4px 6px 0 0 !important;
    padding: 9px 15px !important;
    border: 1px solid transparent !important;
    border-radius: 999px !important;
    font-family: poppins, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

#tarteaucitronAlertBig .tarteaucitronAllow,
#tarteaucitronPersonalize2 {
    background: #08057d !important;
    color: #fff !important;
}

#tarteaucitronAlertBig .tarteaucitronDeny,
#tarteaucitronAllDenied2 {
    background: #e8b154 !important;
    color: #08057d !important;
}

#tarteaucitronCloseAlert,
#tarteaucitronPrivacyUrl,
#tarteaucitronPrivacyUrlDialog {
    border-color: rgba(8, 5, 125, 0.24) !important;
    background: #fff !important;
    color: #08057d !important;
}

#tarteaucitronAlertBig button:hover,
#tarteaucitronAlertBig a:hover,
#tarteaucitronAlertBig button:focus,
#tarteaucitronAlertBig a:focus {
    border-color: #2485fa !important;
    box-shadow: 0 0 0 3px rgba(36, 133, 250, 0.15) !important;
}

/* Panneau détaillé. */
#tarteaucitron,
#tarteaucitronServices,
#tarteaucitronInfo,
#tarteaucitron .tarteaucitronLine,
#tarteaucitron .tarteaucitronBorder {
    font-family: poppins, Arial, sans-serif !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronClosePanel {
    background: #08057d !important;
    color: #fff !important;
}

/* En-tete clair : aucun texte sombre ne peut se retrouver sur fond bleu. */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
    background: #fff !important;
    border-color: #08057d !important;
}

html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH1,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH2,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset #tarteaucitronInfo p {
    color: #08057d !important;
}

#tarteaucitronPrivacyUrlDialog {
    position: relative !important;
    z-index: 2 !important;
    cursor: pointer !important;
}

/* Le bouton de fermeture natif doit rester au-dessus de l'en-tête. */
#tarteaucitronClosePanel {
    position: absolute !important;
    z-index: 10 !important;
    cursor: pointer !important;
}

/* Les choix non actifs restent neutres ; le choix actif est clairement coloré. */
#tarteaucitron .tarteaucitronAllow,
#tarteaucitron .tarteaucitronDeny {
    background: #eef0f6 !important;
    color: #08057d !important;
    cursor: pointer !important;
}

#tarteaucitron .tarteaucitronAllow.tarteaucitronIsSelected,
#tarteaucitron .tarteaucitronAllow[aria-pressed="true"] {
    background: #08057d !important;
    color: #fff !important;
}

#tarteaucitron .tarteaucitronDeny.tarteaucitronIsSelected,
#tarteaucitron .tarteaucitronDeny[aria-pressed="true"] {
    background: #e8b154 !important;
    color: #08057d !important;
}

#tarteaucitronSaveButton {
    position: relative !important;
    z-index: 2 !important;
    background: #08057d !important;
    color: #fff !important;
    cursor: pointer !important;
}

@media (max-width: 767px) {
    .cookie-manager-button {
        right: auto !important;
        left: 14px !important;
        bottom: 14px !important;
        width: 48px;
        height: 48px;
    }

    #tarteaucitronAlertBig {
        right: 12px !important;
        bottom: 74px !important;
        width: calc(100vw - 24px) !important;
        padding: 15px !important;
        border-radius: 12px !important;
    }

    #tarteaucitronAlertBig button,
    #tarteaucitronAlertBig a {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }
}
