/* Thème du bandeau et du panneau cookies (tarteaucitron), aux couleurs du site.
   Violet : #524976 — texte : #24324a — police : Lato.
   Sélecteurs volontairement très spécifiques : la CSS de tarteaucitron est injectée après celle-ci. */

/* ===== Bandeau ===== */

/* Bandeau cookies compact en bas à gauche, aux couleurs du site.
   « Tout refuser » est un lien, mais reste aussi visible et accessible en un clic que
   « Tout accepter » (exigence CNIL : refuser doit être aussi simple qu'accepter). */
html body #tarteaucitronRoot.tarteaucitronSize-popup div#tarteaucitronAlertBig {
    box-sizing: border-box !important; left: 16px !important; bottom: 16px !important; max-width: 340px !important; width: calc(100% - 32px) !important;
    padding: 14px 16px !important; border-radius: 6px !important; text-align: left !important;
    background: #fff !important; box-shadow: 0 4px 24px rgba(36, 50, 74, .18); font-family: Lato, sans-serif !important;
}
#tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig::before { display: none !important; }
#tarteaucitronRoot.tarteaucitronSize-popup span#tarteaucitronDisclaimerAlert {
    display: block !important; padding: 0 !important; margin: 0 0 10px !important;
    font-size: 13px !important; line-height: 1.4 !important; color: #24324a !important; text-align: left !important;
}
html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig button.tarteaucitronCTAButton {
    display: inline-block !important; width: auto !important; margin: 0 6px 8px 0 !important; padding: 6px 12px !important;
    background: #524976 !important; color: #fff !important; border-radius: 3px !important;
    font-family: Lato, sans-serif !important; font-size: 13px !important; line-height: 1.3 !important;
}
html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig button.tarteaucitronCTAButton span { display: none !important; }
html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig button#tarteaucitronAllDenied2 {
    margin: 0 12px 8px 6px !important; padding: 6px 0 !important; background: none !important; border: 0 !important;
    color: #524976 !important; text-decoration: underline;
}
html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig #tarteaucitronCloseAlert,
html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    display: inline-block !important; width: auto !important; margin: 0 12px 0 0 !important; padding: 0 !important;
    background: none !important; border: 0 !important; color: #524976 !important;
    font-family: Lato, sans-serif !important; font-size: 12px !important; text-decoration: underline;
}
/* Mobile : barre pleine largeur en bas, remontée au-dessus des boutons de réservation fixes
   (#book_widget et #book_table_widget, 2 × 50px) quand ils sont présents, pour ne masquer
   ni l'en-tête (langues, réseaux) ni ces boutons */
@media (max-width: 767px) {
    html body #tarteaucitronRoot.tarteaucitronSize-popup div#tarteaucitronAlertBig {
        top: auto !important; bottom: 0 !important; left: 0 !important;
        width: 100% !important; max-width: none !important;
        padding: 10px 12px !important; border-radius: 0 !important; box-shadow: 0 -2px 12px rgba(36, 50, 74, .2);
    }
    html body:has(#book_widget) #tarteaucitronRoot.tarteaucitronSize-popup div#tarteaucitronAlertBig {
        bottom: 100px !important;
    }
    html body #tarteaucitronRoot.tarteaucitronSize-popup span#tarteaucitronDisclaimerAlert {
        margin-bottom: 8px !important; font-size: 12px !important;
    }
    html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig button.tarteaucitronCTAButton {
        margin-bottom: 4px !important; padding: 5px 10px !important;
    }
}

/* ===== Panneau de gestion des cookies ===== */

html body #tarteaucitronRoot div#tarteaucitron {
    max-width: 640px !important; width: calc(100% - 32px) !important;
    border-radius: 8px !important; overflow: hidden !important; background: #fff !important;
    box-shadow: 0 12px 48px rgba(36, 50, 74, .25) !important; font-family: Lato, sans-serif !important;
}
html body #tarteaucitronRoot div#tarteaucitron * { font-family: Lato, sans-serif !important; }

/* Fermer : simple croix dans le coin */
html body #tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel {
    position: absolute !important; top: 14px !important; right: 14px !important; left: auto !important; z-index: 2;
    width: 32px !important; height: 32px !important; padding: 0 !important; margin: 0 !important;
    background: none !important; border: 0 !important; border-radius: 50% !important;
    font-size: 0 !important; color: transparent !important; line-height: 32px !important;
}
html body #tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel::after {
    content: "\00d7"; font-size: 28px; color: #24324a; line-height: 32px;
}
html body #tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel:hover { background: #f1eff6 !important; }
html body #tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel:focus { outline: 0 !important; }
html body #tarteaucitronRoot div#tarteaucitron button#tarteaucitronClosePanel:focus-visible { outline: 2px solid #524976 !important; outline-offset: 2px; }

html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
    margin: 0 !important; box-shadow: none !important;
    /* la hauteur calculée en JS ne tient pas compte de nos marges : on la laisse suivre le contenu */
    height: auto !important; max-height: calc(100vh - 80px) !important; overflow-y: auto !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName { margin-left: 0 !important; padding-left: 0 !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk { margin-right: 0 !important; }

/* En-tête */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
    background: #fff !important; border: 0 !important; padding: 28px 28px 18px !important; margin: 0 !important;
    border-bottom: 1px solid #ece9f2 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronH1 {
    display: block !important; margin: 0 40px 10px 0 !important; text-align: left !important;
    font-size: 22px !important; font-weight: 700 !important; color: #24324a !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
    display: block !important; max-width: none !important; margin: 0 0 18px !important; padding: 0 !important;
    border: 0 !important; background: none !important; text-align: left !important;
    font-size: 14px !important; line-height: 1.5 !important; color: #5a6170 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p { margin: 0 0 6px !important; }
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronPrivacyUrlDialog {
    padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important;
    font-size: 13px !important; color: #524976 !important; text-decoration: underline !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronName .tarteaucitronH2 {
    margin: 0 !important; padding: 0 !important;
    font-size: 15px !important; font-weight: 700 !important; color: #24324a !important;
}

/* Boutons : contour violet, rempli quand le choix est actif */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices button.tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices button.tarteaucitronDeny {
    margin: 0 0 0 6px !important; padding: 7px 14px !important; border-radius: 4px !important;
    background: #fff !important; color: #524976 !important; border: 1px solid #524976 !important;
    font-size: 13px !important; font-weight: 700 !important; line-height: 1.2 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices span.tarteaucitronCheck,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices span.tarteaucitronCross { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices button#tarteaucitronAllAllowed,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed button.tarteaucitronAllow {
    background: #524976 !important; color: #fff !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied button.tarteaucitronDeny {
    background: #24324a !important; border-color: #24324a !important; color: #fff !important;
}

/* Catégories et services */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
    border: 0 !important; background: #fff !important; padding: 0 28px 8px !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button {
    width: 100% !important; margin: 0 !important; padding: 18px 0 6px !important; text-align: left !important;
    background: none !important; border: 0 !important; color: #24324a !important;
    font-size: 13px !important; font-weight: 700 !important; letter-spacing: .06em !important; text-transform: uppercase !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button .tarteaucitronPlus::before { color: #524976 !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronDetails {
    background: #f7f6fa !important; color: #5a6170 !important; font-size: 13px !important; border-radius: 4px !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(.tarteaucitronMainLine),
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed:not(.tarteaucitronMainLine),
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied:not(.tarteaucitronMainLine) {
    background: #fff !important; border: 0 !important; border-bottom: 1px solid #ece9f2 !important;
    padding: 10px 0 14px !important; margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronH3 {
    font-size: 16px !important; font-weight: 700 !important; color: #24324a !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine .tarteaucitronH3 {
    font-size: 13px !important; font-weight: 400 !important; color: #5a6170 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronStatusInfo,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronListCookies {
    font-size: 12px !important; color: #8a8f9c !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices a.tarteaucitronReadmoreInfo,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices a.tarteaucitronReadmoreOfficial {
    font-size: 12px !important; font-weight: 400 !important; color: #524976 !important; text-decoration: underline !important;
}

html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronAsk { display: none !important; }

/* Enregistrer */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave {
    padding: 16px 28px 24px !important; text-align: right !important; background: #fff !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices button#tarteaucitronSaveButton {
    padding: 10px 24px !important; border-radius: 4px !important; border: 0 !important;
    background: #524976 !important; color: #fff !important; font-size: 14px !important; font-weight: 700 !important;
}

/* Fond derrière le panneau */
html body #tarteaucitronRoot #tarteaucitronBack { background: #24324a !important; }

@media (max-width: 767px) {
    html body #tarteaucitronRoot div#tarteaucitron {
        width: 100% !important; max-width: none !important; left: 0 !important; right: 0 !important; border-radius: 0 !important;
    }
    html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices { max-height: 100vh !important; }
    html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine,
    html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder { padding-left: 18px !important; padding-right: 18px !important; }
    html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronH1 { font-size: 19px !important; }
    html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk {
        float: none !important; width: 100% !important; margin: 10px 0 0 !important; text-align: left !important;
    }
    html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk button {
        display: inline-block !important; width: auto !important; margin-top: 0 !important;
    }
    html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk button:first-child { margin-left: 0 !important; }
}
