/* =============================================================
   Framedis -- Skin Foret Profonde par-dessus tarteaucitron.js
   Source originale (a ne pas modifier) : views/js/tarteaucitron/css/tarteaucitron.min.css
   Tokens reutilises depuis le theme enfant (framedis.css) :
     --fr-green-deep #2A4A1E   --fr-green-mid #4E7C3A
     --fr-green-light #EAF2E3  --fr-green-pale #D4E8C2
     --fr-cream #F6F2EA        --fr-page-bg #FAFAF5
     --fr-text-primary #1A2E12 --fr-text-mid #4A4238
     --fr-text-muted #7A6A4A   --fr-border #E4DDD0
     --fr-danger #B54536
   ============================================================= */

/* ----- Banner principal (alert big) — transforme en carte discrete bas-gauche ----- */
/* NOTE : pas de "display: block !important" pour laisser tarteaucitron fermer le banner
   via display:none apres acceptation/refus. */
#tarteaucitronRoot div#tarteaucitronAlertBig {
  background: #FFFFFF !important;
  color: #1A2E12 !important;
  border: 1px solid #E4DDD0 !important;
  border-radius: 16px !important;
  padding: 24px 26px !important;
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  box-shadow: 0 24px 60px rgba(42, 74, 30, 0.25) !important;
  /* Position desktop : carte fixed bas-gauche (comportement d'origine). */
  position: fixed !important;
  bottom: 24px !important;
  left: 24px !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  width: 380px !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 48px) !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
  z-index: 2147483647 !important;
  text-align: left !important;
}

/* Override mode bottom/top du tarteaucitron — desktop reste à gauche. */
#tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBigBottom,
#tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBigTop {
  bottom: 24px !important;
  top: auto !important;
  left: 24px !important;
  right: auto !important;
  transform: none !important;
}

/* Mobile (≤900px) : centré horizontalement, ancré en bas (pas en bas-gauche
   comme desktop, sinon le banner risque d'être collé au bord du téléphone). */
@media (max-width: 900px) {
  #tarteaucitronRoot div#tarteaucitronAlertBig,
  #tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBigBottom,
  #tarteaucitronRoot div#tarteaucitronAlertBig.tarteaucitronAlertBigTop {
    left: 50% !important;
    bottom: 16px !important;
    top: auto !important;
    right: auto !important;
    transform: translateX(-50%) !important;
  }
}

#tarteaucitronRoot #tarteaucitronAlertBig::before {
  content: '🍪';
  font-size: 28px;
  display: block;
  margin-bottom: 10px;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  display: block !important;
  color: #4A4238 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 0 14px 0 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert b {
  color: #1A2E12 !important;
  font-weight: 700 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog {
  color: #2A4A1E !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  background: transparent !important;
  padding: 0 !important;
  font-weight: 500 !important;
  border-radius: 0 !important;
  /* Centrer le lien dans le banner (le parent #tarteaucitronAlertBig a
     text-align: left forcé pour le texte général ; on contre via
     display: table + margin: 0 auto sur le lien lui-même).
     display: table = élément prend la largeur de son contenu (pas full
     width = pas de scrollbar horizontale) + reste centrable via margin
     auto. */
  display: table !important;
  margin: 6px auto 0 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog:hover {
  color: #4E7C3A !important;
}

/* ----- CTAs principaux dans le banner (Accepter / Refuser / Personnaliser) ----- */
#tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllAllowed2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
  display: block !important;             /* boutons empiles verticalement dans la carte */
  width: 100% !important;
  text-align: center !important;
  padding: 12px 18px !important;
  margin: 8px 0 0 0 !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  cursor: pointer !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
  text-decoration: none !important;
  line-height: 1 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* "Tout accepter" — vert plein */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllAllowed2 {
  background: #2A4A1E !important;
  color: #FFFFFF !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllAllowed:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllAllowed2:hover {
  background: #1F3815 !important;
  color: #FFFFFF !important;
}

/* "Tout refuser" — caché du banner principal (remplacé par un petit lien
   "Continuer sans accepter" en haut-droite, injecté via cookies-custom.js).
   Le bouton reste dans le DOM pour que le mini-lien puisse le cliquer
   (réutilisation de toute la logique tarteaucitron pour le refus).
   On le garde visible UNIQUEMENT dans le panel modal personnaliser
   (selecteur banner-only via #tarteaucitronAlertBig). */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
  display: none !important;
}

/* Mini-lien "Continuer sans accepter" injecté via JS — top-right discret */
#tarteaucitronRoot #tarteaucitronAlertBig .fr-cookies-mini-deny {
  position: absolute !important;
  top: 14px !important;
  right: 18px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 4px 6px !important;
  margin: 0 !important;
  width: auto !important;
  display: inline !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #7A6A4A !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  cursor: pointer !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1.2 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig .fr-cookies-mini-deny:hover {
  color: #2A4A1E !important;
  background: transparent !important;
}

/* "Personnaliser" — outline */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  background: transparent !important;
  color: #2A4A1E !important;
  border-color: #2A4A1E !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover {
  background: #2A4A1E !important;
  color: #FFFFFF !important;
}

/* ----- Petit alert (re-prompter discret) ----- */
/* Le mini-toaster reste affiche apres le choix initial pour permettre de
   rouvrir le panel a tout moment. Position : fixed bottom-right par defaut. */
#tarteaucitronAlertSmall {
  background: #2A4A1E !important;
  color: #FFFFFF !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 10px 18px !important;
  font-size: 13px !important;
  font-family: 'DM Sans', sans-serif !important;
  box-shadow: 0 6px 18px rgba(42, 74, 30, 0.25) !important;
  cursor: pointer !important;
  z-index: 2147483647 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  pointer-events: auto !important;
}
#tarteaucitronAlertSmall:hover {
  background: #1F3815 !important;
}
#tarteaucitronAlertSmall::before {
  content: '🍪';
  font-size: 14px;
}
#tarteaucitronAlertSmall #tarteaucitronManager {
  color: #FFFFFF !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer !important;
  pointer-events: auto !important;
}
#tarteaucitronAlertSmall #tarteaucitronCookiesNumber,
#tarteaucitronAlertSmall #tarteaucitronCookiesNumberBis {
  background: #FFFFFF !important;
  color: #2A4A1E !important;
  border-radius: 999px !important;
  padding: 2px 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin-left: 4px !important;
  pointer-events: auto !important;
}

/* ----- Icone flottante (toujours-accessible) ----- */
#tarteaucitronIcon {
  z-index: 100 !important;
}
#tarteaucitronIcon button#tarteaucitronManager {
  background: #2A4A1E !important;
  color: #FFFFFF !important;
  border-radius: 999px 0 0 999px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 9px 14px 9px 16px !important;
  box-shadow: 0 4px 14px rgba(42, 74, 30, 0.18) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
#tarteaucitronIcon button#tarteaucitronManager:hover {
  background: #1F3815 !important;
}
.tarteaucitronIconBottomLeft #tarteaucitronManager {
  border-radius: 0 999px 999px 0 !important;
}

/* ----- Panel "Personnaliser" (modal centrale) ----- */
#tarteaucitronBack {
  background: rgba(31, 38, 20, 0.55) !important;
  backdrop-filter: blur(2px);
}
#tarteaucitronRoot #tarteaucitron {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  font-family: 'DM Sans', sans-serif !important;
  box-shadow: 0 24px 60px rgba(42, 74, 30, 0.25) !important;
  max-width: 640px !important;
  width: calc(100% - 32px) !important;
  margin: 24px auto !important;
  overflow: hidden !important;
}
#tarteaucitronServices {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  padding-bottom: 0 !important;
}

/* Header simple : titre seulement, pas de bandeau vert lourd */
#tarteaucitronServices #tarteaucitronInfo {
  background: #FFFFFF !important;
  color: #1A2E12 !important;
  border-bottom: 1px solid #E4DDD0 !important;
  border-radius: 0 !important;
  padding: 22px 28px 18px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  position: relative !important;
}
#tarteaucitronServices #tarteaucitronInfo #tarteaucitronDisclaimer,
#tarteaucitronServices #tarteaucitronDisclaimer {
  color: #4A4238 !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  display: block !important;
  margin: 6px 50px 0 0 !important;
}
/* Lien "Politique de confidentialite" dans le header — souligne discret vert */
#tarteaucitronServices #tarteaucitronInfo a,
#tarteaucitronServices #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog,
#tarteaucitronServices #tarteaucitronInfo #tarteaucitronPrivacyUrl {
  display: inline !important;
  color: #2A4A1E !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-thickness: 1px !important;
  font-weight: 500 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
}
#tarteaucitronServices #tarteaucitronInfo a:hover,
#tarteaucitronServices #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:hover {
  color: #4E7C3A !important;
  text-decoration-thickness: 2px !important;
}

/* Bouton fermer = pure croix discrete (pas de label, pas de focus outline laid) */
#tarteaucitronServices #tarteaucitronClosePanel {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  width: 32px !important;
  height: 32px !important;
  background: transparent !important;
  color: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  outline: none !important;
  display: inline-block !important;
  line-height: 32px !important;
  text-align: center !important;
}
#tarteaucitronServices #tarteaucitronClosePanel::before {
  content: '×';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 28px !important;
  font-weight: 300 !important;
  color: #1A2E12 !important;
  line-height: 1 !important;
  text-indent: 0 !important;
}
#tarteaucitronServices #tarteaucitronClosePanel:hover {
  background: #F6F2EA !important;
}
#tarteaucitronServices #tarteaucitronClosePanel:hover::before {
  color: #2A4A1E !important;
}
#tarteaucitronServices #tarteaucitronClosePanel:focus,
#tarteaucitronServices #tarteaucitronClosePanel:focus-visible {
  outline: none !important;
  background: #F6F2EA !important;
}

/* Annule tous les focus outline default tarteaucitron qui sont hideux */
#tarteaucitronServices button:focus,
#tarteaucitronServices button:focus-visible,
#tarteaucitronServices a:focus,
#tarteaucitronAlertBig button:focus,
#tarteaucitronAlertBig button:focus-visible {
  outline: none !important;
}

/* Titres categorie + boutons "+" expand : caches.
   Les services sont affiches en liste plate, sans regroupement par categorie
   et sans expand/collapse a faire. */
#tarteaucitronServices .tarteaucitronTitle,
#tarteaucitronServices #tarteaucitronMainLineOffset .tarteaucitronH3,
#tarteaucitronServices .tarteaucitronH2,
#tarteaucitronServices .tarteaucitronH3,
#tarteaucitronServices .tarteaucitronPlus,
#tarteaucitronServices .tarteaucitronMainLine {
  display: none !important;
}

/* Force tous les details (services) a etre visibles */
#tarteaucitronServices .tarteaucitronDetails,
#tarteaucitronServices ul.tarteaucitronListCookies,
#tarteaucitronServices ul.tarteaucitronCookiesList {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Cache les sections "Cookies obligatoires" : pas de consentement requis,
   donc rien a afficher pour l'utilisateur. */
#tarteaucitronServices ul#tarteaucitronMandatory,
#tarteaucitronServices .tarteaucitronMandatory {
  display: none !important;
}
#tarteaucitronServices ul {
  background: #FFFFFF !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#tarteaucitronServices ul li.tarteaucitronLine {
  background: #FFFFFF !important;
  border-bottom: 1px solid #E4DDD0 !important;
  padding: 18px 22px !important;
  margin: 0 !important;
}
#tarteaucitronServices ul li.tarteaucitronLine:last-child {
  border-bottom: 0 !important;
}
#tarteaucitronServices .tarteaucitronName {
  color: #1A2E12 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
}
#tarteaucitronServices .tarteaucitronName .tarteaucitronH2,
#tarteaucitronServices .tarteaucitronName b {
  color: #1A2E12 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}
#tarteaucitronServices .tarteaucitronName .tarteaucitronListCookies {
  color: #7A6A4A !important;
  font-size: 12px !important;
}

/* Boutons Allow / Deny par service */
#tarteaucitronServices .tarteaucitronAsk button.tarteaucitronAllow,
#tarteaucitronServices .tarteaucitronAsk button.tarteaucitronDeny {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
  margin: 4px !important;
}
#tarteaucitronServices .tarteaucitronAsk button.tarteaucitronAllow {
  background: #2A4A1E !important;
  color: #FFFFFF !important;
}
#tarteaucitronServices .tarteaucitronAsk button.tarteaucitronAllow:hover {
  background: #1F3815 !important;
}
#tarteaucitronServices .tarteaucitronAsk button.tarteaucitronDeny {
  background: #F6F2EA !important;
  color: #2A4A1E !important;
  border-color: #E4DDD0 !important;
}
#tarteaucitronServices .tarteaucitronAsk button.tarteaucitronDeny:hover {
  background: #EAE3D2 !important;
  border-color: #2A4A1E !important;
}

/* Etat actif (dot vert / rouge) */
#tarteaucitronServices .tarteaucitronIsAllowed .tarteaucitronAllow,
.tarteaucitronAllow.tarteaucitronIsSelected {
  background: #2A4A1E !important;
  color: #FFFFFF !important;
  outline: 2px solid #4E7C3A !important;
  outline-offset: 1px !important;
}
#tarteaucitronServices .tarteaucitronIsDenied .tarteaucitronDeny,
.tarteaucitronDeny.tarteaucitronIsSelected {
  background: #B54536 !important;
  color: #FFFFFF !important;
  border-color: #B54536 !important;
  outline: 2px solid rgba(181, 69, 54, 0.4) !important;
  outline-offset: 1px !important;
}

/* Footer modal "Tout accepter / Tout refuser / Sauvegarder" */
#tarteaucitronServices #tarteaucitronAllAllowed,
#tarteaucitronServices #tarteaucitronAllDenied,
#tarteaucitronServices #tarteaucitronSaveButton,
#tarteaucitronServices #tarteaucitronClosePanelCookie {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  padding: 11px 22px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  margin: 6px !important;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease !important;
}
#tarteaucitronServices #tarteaucitronAllAllowed,
#tarteaucitronServices #tarteaucitronSaveButton {
  background: #2A4A1E !important;
  color: #FFFFFF !important;
}
#tarteaucitronServices #tarteaucitronAllAllowed:hover,
#tarteaucitronServices #tarteaucitronSaveButton:hover {
  background: #1F3815 !important;
}
#tarteaucitronServices #tarteaucitronAllDenied {
  background: #F6F2EA !important;
  color: #2A4A1E !important;
  border-color: #E4DDD0 !important;
}
#tarteaucitronServices #tarteaucitronAllDenied:hover {
  background: #EAE3D2 !important;
  border-color: #2A4A1E !important;
}

/* Section "no services" */
#tarteaucitronNoServicesTitle {
  background: #F6F2EA !important;
  color: #2A4A1E !important;
}

/* (Mode embedded retire — on revient au popup modal classique sur toutes les pages) */

/* ----- Mobile ----- */
@media (max-width: 600px) {
  #tarteaucitronRoot div#tarteaucitronAlertBig {
    padding: 18px 18px !important;
  }
  #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllAllowed,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllAllowed2,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
    width: 100% !important;
    justify-content: center !important;
    margin: 6px 0 0 !important;
  }
  #tarteaucitronRoot #tarteaucitron {
    margin: 12px !important;
    width: calc(100% - 24px) !important;
  }
}
