/* ============================================================
   Tarteaucitron — habillage "Assis, Servi."
   Surcharge du CSS par défaut du plugin (chargé dynamiquement
   APRÈS ce fichier) : les sélecteurs sont préfixés par
   `html body #tarteaucitronRoot` pour gagner en spécificité.
   Palette/typo : voir les tokens :root de main.css.
   ============================================================ */

/* ---------- Base : typo + couleurs ---------- */
html body #tarteaucitronRoot * {
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}
html body #tarteaucitronRoot a:focus-visible,
html body #tarteaucitronRoot button:focus-visible {
    outline: 3px solid rgba(190, 91, 60, .55) !important;
    outline-offset: 2px;
}

/* ---------- Voile derrière le panneau ---------- */
html body #tarteaucitronRoot #tarteaucitronBack {
    background: #221c18 !important;
    opacity: .55 !important;
}

/* ---------- Panneau : carte crème arrondie ---------- */
html body #tarteaucitronRoot div#tarteaucitron {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(34, 28, 24, .38);
    background: #221c18;
}
/* Colonne flex : en-tête fixe, corps scrollable, pied "Enregistrer" toujours
   visible (sinon overflow:hidden du panneau coupe le bas). */
html body #tarteaucitronRoot div#tarteaucitronServices {
    margin-top: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    /* encre : masque la bande de compensation de scrollbar à droite de l'en-tête */
    background: #221c18;
    display: flex;
    flex-direction: column;
    max-height: 80vh;
}
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronMainLineOffset { flex-shrink: 0; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
    background: #fffdf8 !important;
    border: 0 !important;
    flex: 1 1 auto;
    min-height: 0;
    overflow: auto !important;
}
html body #tarteaucitronRoot div#tarteaucitronSave { flex-shrink: 0; }

/* Bouton "Fermer" : déplacé par JS (base.html) dans la barre du bas,
   à côté d'"Enregistrer" — pastille neutre sur fond clair */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    position: static !important;
    background: transparent !important;
    color: #6b5f54 !important;
    border: 1px solid #d8cdbb !important;
    border-radius: 999px !important;
    width: auto !important;
    padding: 9px 22px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:hover {
    background: #efe6d6 !important;
}

/* ---------- En-tête sombre : titre + intro + politique ---------- */
html body #tarteaucitronRoot .tarteaucitronH1 {
    background: #221c18;
    color: #f6efe3 !important;
    font-family: 'Fraunces', Georgia, serif !important;
    font-size: 1.45em !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 26px 24px 6px !important;
}
html body #tarteaucitronRoot div#tarteaucitronInfo {
    background: #221c18 !important;
    color: #d9cfc0 !important;
    border: 0 !important;
    margin: 0 auto !important;
    padding: 10px 24px 18px !important;
    max-width: 640px !important;
    font-size: .95em !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}
html body #tarteaucitronRoot div#tarteaucitronInfo a { color: #f6efe3 !important; }

/* Bouton "Politique de confidentialité" dans l'en-tête */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrl,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
    background: transparent !important;
    color: #f6efe3 !important;
    border: 1px solid rgba(246, 239, 227, .35) !important;
    border-radius: 999px !important;
    padding: 7px 18px !important;
    font-size: 14px !important;
    margin: 4px 0 10px !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrl:hover,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog:hover {
    background: rgba(246, 239, 227, .12) !important;
}

/* En-tête complet (titre + intro + "Tout accepter/refuser").
   NB : #tarteaucitronMainLineOffset porte AUSSI la classe .tarteaucitronLine,
   d'où le ciblage par id pour ne pas hériter du style des lignes claires. */
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronMainLineOffset {
    background: #221c18 !important;
    border: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 8px 20px 22px !important;
}
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronMainLineOffset:hover {
    background: #221c18 !important;
}
html body #tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronH2 {
    color: #f6efe3 !important;
    font-size: 1.05em !important;
    font-weight: 600 !important;
}
/* Le plugin grise (opacity .4) les boutons non sélectionnés de l'en-tête :
   l'état est déjà signalé par la case ☑/☐, on garde les boutons lisibles. */
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronMainLineOffset .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronMainLineOffset .tarteaucitronDeny {
    opacity: 1 !important;
}

/* ---------- Boutons Accepter / Refuser ---------- */
html body #tarteaucitronRoot .tarteaucitronAllow,
html body #tarteaucitronRoot .tarteaucitronDeny {
    border-radius: 999px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 8px 18px !important;
    border: 1px solid transparent !important;
}
/* Accepter : terracotta (CTA de marque) */
html body #tarteaucitronRoot .tarteaucitronAllow {
    background: #be5b3c !important;
    color: #fffdf8 !important;
}
html body #tarteaucitronRoot .tarteaucitronAllow:hover { background: #a84e32 !important; }
/* Refuser : neutre discret */
html body #tarteaucitronRoot .tarteaucitronDeny {
    background: transparent !important;
    color: #f6efe3 !important;
    border-color: rgba(246, 239, 227, .4) !important;
}
html body #tarteaucitronRoot .tarteaucitronDeny:hover { background: rgba(246, 239, 227, .12) !important; }

/* Dans les lignes claires du corps (sous .tarteaucitronBorder), "Refuser" repasse en encre */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny {
    color: #6b5f54 !important;
    border-color: #d8cdbb !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow {
    background: #be5b3c !important;
    color: #fffdf8 !important;
}

/* États sélectionnés : accepté = sauge, refusé = brique */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow {
    background: #8a9a7b !important;
    color: #fffdf8 !important;
    border-color: transparent !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied2.tarteaucitronIsSelected,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny {
    background: #a84e32 !important;
    color: #fffdf8 !important;
    border-color: transparent !important;
}
html body #tarteaucitronRoot .tarteaucitronCheck::before,
html body #tarteaucitronRoot .tarteaucitronCross::before {
    color: currentColor !important;
}

/* ---------- Corps : sections et lignes de services ---------- */
/* Bandeau de groupe ("+ Cookies obligatoires") */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
html body #tarteaucitronRoot .asCatToggleBtn {
    background: transparent !important;
    color: #221c18 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    margin: 14px 0 4px !important;
    padding: 6px 20px !important;
}
/* Texte descriptif du groupe */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^=tarteaucitronDetails] {
    background: #efe6d6 !important;
    color: #6b5f54 !important;
    border-radius: 10px;
    margin: 0 16px 6px !important;
    padding: 12px 16px !important;
    width: calc(100% - 32px) !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
}
/* Lignes de services (uniquement celles du corps, sous .tarteaucitronBorder) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine {
    background: #f6efe3 !important;
    border-left: 5px solid transparent !important;
    border-radius: 10px;
    margin: 6px 16px !important;
    padding: 14px 12px !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine:hover {
    background: #efe6d6 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine.tarteaucitronIsAllowed { border-color: #8a9a7b !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine.tarteaucitronIsDenied { border-color: #a84e32 !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronHidden {
    background: #fffdf8 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3 {
    color: #221c18 !important;
}
html body #tarteaucitronRoot .tarteaucitronName .tacCurrentStatus,
html body #tarteaucitronRoot .tarteaucitronName .tarteaucitronReadmoreSeparator {
    color: #6b5f54 !important;
}
html body #tarteaucitronRoot #tarteaucitron a { color: #a84e32; }

/* ---------- Pied : boutons Fermer + Enregistrer ---------- */
html body #tarteaucitronRoot div#tarteaucitronSave {
    background: #fffdf8 !important;
    border-top: 1px solid #e6dcca;
    padding: 16px 20px !important;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}
html body #tarteaucitronRoot button#tarteaucitronSaveButton {
    background: #be5b3c !important;
    color: #fffdf8 !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 10px 28px !important;
}
html body #tarteaucitronRoot button#tarteaucitronSaveButton:hover { background: #a84e32 !important; }

/* ---------- Bandeau bas (première visite) ---------- */
html body #tarteaucitronRoot #tarteaucitronAlertBig {
    background: #221c18 !important;
    color: #f6efe3 !important;
    border-top: 3px solid #be5b3c;
    padding: 18px 16px !important;
    box-sizing: border-box !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
    color: #f6efe3 !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig strong {
    font-family: 'Fraunces', Georgia, serif !important;
}
/* CTA du bandeau : accepter = terracotta, refuser = contour, personnaliser = lien discret */
html body #tarteaucitronRoot button.tarteaucitronCTAButton,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 9px 22px !important;
    margin: 6px 4px !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    background: transparent !important;
    color: #f6efe3 !important;
    border: 1px solid rgba(246, 239, 227, .4) !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    padding: 9px 22px !important;
    margin: 6px 4px !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover {
    background: rgba(246, 239, 227, .12) !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
    background: transparent !important;
    color: #d9cfc0 !important;
    text-decoration: underline !important;
    border: 0 !important;
    padding: 9px 10px !important;
}

/* ---------- Mobile : panneau plein écran ---------- */
@media screen and (max-width: 767px) {
    html body #tarteaucitronRoot div#tarteaucitron {
        border-radius: 0;
        background: #fffdf8 !important;
    }
    html body #tarteaucitronRoot div#tarteaucitronServices {
        max-height: 100vh;
        height: 100%;
    }
    html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk button {
        margin-bottom: 6px;
    }
}
