/* ================================================================
   Art du Grain · Habillage CMP (Tarte au Citron) — 2026-07-07
   Palette de marque + illustration cafe-cookie + vapeur animee.
   Regle d'or : le refus reste AUSSI visible que l'acceptation (CNIL).
   Selecteurs par ID + !important pour surcharger le CSS injecte par TAC.
   ================================================================ */

/* Overlay sombre derriere la modale centree */
#tarteaucitronBack {
  background: rgba(42, 26, 18, 0.55) !important; /* espresso translucide */
}

/* --- Boite du bandeau --- */
#tarteaucitronAlertBig {
  background: #FBF6EC !important;                 /* ivoire chaud */
  color: #2A1A12 !important;                      /* espresso */
  font-family: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif !important;
  max-width: 440px !important;
  width: calc(100% - 32px) !important;
  padding: 0 26px 24px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(166, 90, 42, 0.16) !important;
  box-shadow: 0 18px 50px rgba(42, 26, 18, 0.30) !important;
  box-sizing: border-box !important;
}
#tarteaucitronAlertBig * { box-sizing: border-box !important; }

/* --- En-tete injecte : illustration + vapeur + titre --- */
#adgCmpHeader { display: block; }
.adg-cmp-header {
  position: relative;
  height: 128px;
  margin: 6px auto 2px;
}
.adg-cmp-illus {
  position: absolute; inset: 0;
  background: url("/img/cms/adg-cookie-cafe.png?v=2") no-repeat center bottom;
  background-size: contain;
}
/* Titre unique = middleBarHead, rendu par TAC en ::before, stylé en serif de marque */
#tarteaucitronAlertBig::before {
  display: block !important;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
  font-size: 27px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  color: #2A1A12 !important;
  text-align: center !important;
  padding: 22px 4px 2px !important;
  margin: 0 !important;
}

/* --- Vapeur animee (3 volutes qui montent) --- */
.adg-cmp-steam {
  position: absolute;
  top: 2px; left: 50%;
  transform: translateX(-64%);
  width: 40px; height: 46px;
  z-index: 2;
  pointer-events: none;
}
.adg-cmp-steam i {
  position: absolute;
  bottom: 0;
  width: 7px; height: 7px;
  background: rgba(255, 251, 242, 0.95);
  border-radius: 50%;
  filter: blur(2px);
  opacity: 0;
  animation: adgSteam 3.4s ease-in-out infinite;
}
.adg-cmp-steam i:nth-child(1) { left: 6px;  animation-delay: 0s; }
.adg-cmp-steam i:nth-child(2) { left: 17px; animation-delay: 1.1s; }
.adg-cmp-steam i:nth-child(3) { left: 28px; animation-delay: 2.2s; }
@keyframes adgSteam {
  0%   { transform: translateY(0) scale(1);    opacity: 0; }
  25%  { opacity: 0.65; }
  60%  { opacity: 0.30; }
  100% { transform: translateY(-32px) scale(2); opacity: 0; }
}

/* --- Texte principal : lisible, aligne a gauche --- */
#tarteaucitronDisclaimerAlert {
  display: block !important;
  color: #4a3524 !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  text-align: left !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

/* --- Boutons : calques sur ceux du site (cuivre) --- */
#tarteaucitronAlertBig .tarteaucitronCTAButton {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 0 10px !important;
  padding: 13px 24px !important;
  border-radius: 8px !important;
  font-family: "Inter", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  text-transform: none !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  border: 2px solid #A65A2A !important;
}
/* Accepter = cuivre plein (comme .btn-primary du site) */
#tarteaucitronAlertBig .tarteaucitronAllow {
  background: #A65A2A !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(166, 90, 42, 0.25) !important;
}
#tarteaucitronAlertBig .tarteaucitronAllow:hover {
  background: #8a4922 !important;
  border-color: #8a4922 !important;
  transform: translateY(-1px) !important;
}
/* Refuser = contour cuivre (comme .btn-secondary), MEME taille = conforme */
#tarteaucitronAlertBig .tarteaucitronDeny {
  background: transparent !important;
  color: #A65A2A !important;
}
#tarteaucitronAlertBig .tarteaucitronDeny:hover {
  background: #A65A2A !important;
  color: #ffffff !important;
}
/* on masque les mini icones check/cross pour un rendu net */
#tarteaucitronAlertBig .tarteaucitronCheck,
#tarteaucitronAlertBig .tarteaucitronCross { display: none !important; }

/* Personnaliser = lien discret sous les boutons */
#tarteaucitronCloseAlert {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  color: #7A4A2E !important;
  font-size: 13px !important;
  text-decoration: underline !important;
  padding: 9px 8px 2px !important;
  margin: 0 !important;
  cursor: pointer !important;
}
/* Lien politique de confidentialite */
#tarteaucitronPrivacyUrl {
  display: block !important;
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  color: #7A4A2E !important;
  font-size: 12.5px !important;
  text-decoration: underline !important;
  padding: 2px 8px 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
}

/* --- Icone flottante de rappel = pastille cookie --- */
#tarteaucitronIcon { width: auto !important; }
#tarteaucitronIcon #tarteaucitronManager {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  background: #FBF6EC !important;
  border: 1px solid rgba(166, 90, 42, 0.30) !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 14px rgba(42, 26, 18, 0.18) !important;
  color: #2A1A12 !important;
  padding: 8px 13px !important;
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
#tarteaucitronIcon #tarteaucitronManager img {
  width: 22px !important; height: 22px !important; margin: 0 !important;
}

/* ===== Panneau de preferences (ecran 2) : carte ivoire centree ===== */
#tarteaucitron {
  background: rgba(42, 26, 18, 0.55) !important;   /* backdrop espresso */
  border-radius: 0 !important;
  overflow: auto !important;
  font-family: "Inter", -apple-system, "Segoe UI", sans-serif !important;
}
/* La carte = conteneur des services */
#tarteaucitron #tarteaucitronServices {
  max-width: 480px !important;
  width: calc(100% - 28px) !important;
  margin: 5vh auto 4vh !important;
  max-height: 88vh !important;
  overflow-y: auto !important;
  background: #FBF6EC !important;
  border: 1px solid rgba(166, 90, 42, 0.16) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 50px rgba(42, 26, 18, 0.32) !important;
  box-sizing: border-box !important;
}
#tarteaucitron #tarteaucitronServices * { box-sizing: border-box !important; }

/* Bloc principal (titre + info + boutons tout accepter/refuser) */
#tarteaucitron #tarteaucitronMainLineOffset {
  background: transparent !important;
  border: 0 !important;
  padding: 26px 26px 4px !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
  min-height: 0 !important;
}
/* Titre serif de marque, aligne a gauche */
#tarteaucitron #dialogTitle,
#tarteaucitron .tarteaucitronH1 {
  display: block !important;
  font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  color: #2A1A12 !important;
  text-align: left !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}
/* Texte d'info */
#tarteaucitron #tarteaucitronInfo {
  display: block !important;
  font-size: 13.5px !important;
  line-height: 1.55 !important;
  color: #4a3524 !important;
  text-align: left !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 12px !important;
  position: static !important;
  width: 100% !important;
}
#tarteaucitron #tarteaucitronInfo a { color: #A65A2A !important; }
#tarteaucitron .tarteaucitronName { color: #2A1A12 !important; font-weight: 600 !important; }

/* Boutons "Tout accepter / Tout refuser" du panneau */
#tarteaucitron .tarteaucitronAsk { margin: 6px 0 2px !important; text-align: left !important; float: none !important; }
#tarteaucitron .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitron .tarteaucitronAsk .tarteaucitronDeny {
  display: inline-block !important;
  padding: 10px 18px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: 2px solid #A65A2A !important;
  margin: 0 8px 8px 0 !important;
  cursor: pointer !important;
}
#tarteaucitron .tarteaucitronAsk .tarteaucitronAllow { background: #A65A2A !important; color: #fff !important; }
#tarteaucitron .tarteaucitronAsk .tarteaucitronDeny { background: transparent !important; color: #A65A2A !important; }

/* Section des services */
#tarteaucitron .tarteaucitronBorder {
  border: 0 !important;
  background: transparent !important;
  padding: 4px 26px 0 !important;
}
#tarteaucitron .tarteaucitronBorder > ul { border-top: 1px solid rgba(166, 90, 42, 0.15) !important; padding-top: 12px !important; margin: 0 !important; }
/* lignes de categorie (Essentiels, Mesure d'audience) */
#tarteaucitron ul li .tarteaucitronLine,
#tarteaucitron ul li.tarteaucitronLine {
  background: #FFF6E9 !important;
  border: 1px solid rgba(166, 90, 42, 0.12) !important;
  border-left: 3px solid #A65A2A !important;
  border-radius: 10px !important;
  margin: 0 0 10px !important;
  padding: 12px 14px !important;
}
#tarteaucitron .tarteaucitronTitle,
#tarteaucitron .tarteaucitronTitle button { color: #2A1A12 !important; font-family: "Inter", sans-serif !important; font-weight: 600 !important; }
#tarteaucitron .tarteaucitronListCookies,
#tarteaucitron .tarteaucitronDetails,
#tarteaucitron p { color: #7A4A2E !important; }

/* toggles allow/deny par service */
#tarteaucitron .tarteaucitronLine .tarteaucitronAllow { background: #A65A2A !important; color: #fff !important; border-radius: 6px !important; }
#tarteaucitron .tarteaucitronLine .tarteaucitronDeny { background: #E8DCC2 !important; color: #2A1A12 !important; border-radius: 6px !important; }

/* Bouton Enregistrer mes choix */
#tarteaucitron #tarteaucitronSave { padding: 6px 26px 26px !important; text-align: center !important; background: transparent !important; }
#tarteaucitron #tarteaucitronSaveButton {
  background: #A65A2A !important;
  color: #fff !important;
  border: 2px solid #A65A2A !important;
  border-radius: 8px !important;
  padding: 13px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  width: 100% !important;
  box-shadow: 0 4px 14px rgba(166, 90, 42, 0.25) !important;
  cursor: pointer !important;
}
/* Bouton Fermer, en pastille espresso en haut a droite */
#tarteaucitron #tarteaucitronClosePanel {
  position: fixed !important;
  top: 16px !important;
  right: 16px !important;
  background: #2A1A12 !important;
  color: #F4EBDC !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 8px 16px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  z-index: 2147483647 !important;
}
/* Lien "Politique de confidentialite" en lien discret (au lieu d'une boite blanche) */
#tarteaucitron #tarteaucitronPrivacyUrlDialog {
  background: transparent !important;
  color: #A65A2A !important;
  border: 0 !important;
  padding: 0 0 6px !important;
  margin: 0 0 4px !important;
  font-size: 13px !important;
  text-decoration: underline !important;
  cursor: pointer !important;
}
/* En-tetes de categorie (+ Cookies essentiels / + Mesure d'audience) : sobres */
#tarteaucitron .catToggleBtn,
#tarteaucitron #tarteaucitronServicesTitle_mandatory,
#tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle,
#tarteaucitron #tarteaucitronServicesTitle_mandatory button,
#tarteaucitron .tarteaucitronBorder ul li > button {
  background: transparent !important;
  color: #2A1A12 !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 600 !important;
  border-radius: 8px !important;
}
/* Boites de description : ivoire au lieu de blanc */
#tarteaucitron .tarteaucitronDetails,
#tarteaucitron .tarteaucitronInfoBox {
  background: #FFF6E9 !important;
  border-radius: 10px !important;
  color: #7A4A2E !important;
}

/* --- Mobile --- */
@media (max-width: 480px) {
  #tarteaucitronAlertBig { padding: 0 18px 20px !important; }
  .adg-cmp-header { height: 108px; }
  #tarteaucitronAlertBig::before { font-size: 24px !important; }
}
