/* DA_TAC_20261002b : habillage de tarteaucitron.js 1.35.0 pour le theme Cartzilla.
   Charge dans head.tpl APRES js/tarteaucitron/css/tarteaucitron.min.css (useExternalCss: true).
   Ne pas modifier les fichiers de la librairie : toutes les surcharges sont ici. */

:root {
  --da-tac-primary: #5c7a5e;        /* couleur principale Cartzilla (--primary) */
  --da-tac-primary-dark: #4a634c;
  --da-tac-text: #2b2420;
  --da-tac-muted: #6b6560;
  --da-tac-border: #e3e9ef;
  --da-tac-soft: #f6f8f6;
}

#tarteaucitronRoot,
#tarteaucitronRoot button,
#tarteaucitronRoot span,
#tarteaucitronRoot div,
#tarteaucitronRoot a,
.tac_activate,
.tac_activate button {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* ------------------------------------------------------------------
   Icones des boutons : les glyphes d'origine (U+2610/2611/2713/2717)
   absents de la police s'affichaient en carres. Remplaces par des
   icones dessinees en CSS (masque SVG, couleur = currentColor).
   ------------------------------------------------------------------ */
#tarteaucitronRoot .tarteaucitronCheck::before,
#tarteaucitronRoot .tarteaucitronCross::before,
.tac_activate .tarteaucitronCheck::before {
  content: "" !important;
  display: inline-block;
  width: 12px !important;
  height: 12px !important;
  margin: 0 6px 0 0;
  vertical-align: -1px;
  background-color: currentColor;
  -webkit-mask: var(--da-tac-icon) center / contain no-repeat;
          mask: var(--da-tac-icon) center / contain no-repeat;
}
#tarteaucitronRoot .tarteaucitronCheck::before,
.tac_activate .tarteaucitronCheck::before {
  --da-tac-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8.5l4 4 8-9' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
#tarteaucitronRoot .tarteaucitronCross::before {
  --da-tac-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 3.5l9 9M12.5 3.5l-9 9' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");
}
/* Fleche "plus" (U+271B) du panneau : meme traitement */
#tarteaucitronRoot .tarteaucitronPlus::before {
  content: "" !important;
  display: inline-block;
  width: 10px; height: 10px;
  margin-right: 6px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M2 8h12' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 2v12M2 8h12' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ------------------------------------------------------------------
   Banniere : carte flottante en bas a gauche (la barre laterale du
   theme est a droite), pleine largeur en bas sur mobile.
   tarteaucitron affiche/masque la banniere par style="display:block|none" :
   le flex n'est applique que lorsqu'elle n'est pas masquee.
   ------------------------------------------------------------------ */
#tarteaucitronRoot #tarteaucitronAlertBig.tarteaucitronAlertBigBottom {
  left: 20px;
  right: auto;
  bottom: 20px;
  top: auto;
  width: calc(100% - 40px);
  max-width: 420px;
  box-sizing: border-box;
  margin: 0;
  padding: 20px;
  background: #fff;
  color: var(--da-tac-text);
  text-align: left;
  font-size: 14px !important;
  line-height: 1.5;
  border: 1px solid var(--da-tac-border);
  border-radius: 12px;
  box-shadow: 0 .5rem 2rem rgba(43, 36, 32, .14);
}
#tarteaucitronRoot #tarteaucitronAlertBig.tarteaucitronAlertBigBottom:not([style*="display: none"]) {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

/* Titre + texte (contenu fourni par tarteaucitronCustomText.alertBigPrivacy) */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  order: 1;
  display: block;
  flex: 1 1 100%;
  padding: 0;
  margin: 0;
  max-height: 40vh;
  overflow-y: auto;
  font-size: 14px !important;
  line-height: 1.55;
  color: var(--da-tac-text);
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .da-tac-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 600;
  color: var(--da-tac-text);
}

/* Emoji cookie devant le titre (police emoji de repli pour un rendu couleur partout) */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .da-tac-title::before {
  content: "\1F36A";
  flex: 0 0 auto;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", "Segoe UI Symbol", sans-serif !important;
  font-size: 1.6em;
  font-weight: 400;
  line-height: 1;
}

/* Lien politique de confidentialite : sous le texte, style lien */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
  order: 2;
  flex: 1 1 100%;
  margin: -2px 0 6px;
  padding: 0;
  background: none;
  border: 0;
  text-align: left;
  font-size: 13px !important;
  color: var(--da-tac-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover { color: var(--da-tac-primary-dark); }

/* 3 boutons : Personnaliser | Tout refuser | Tout accepter */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  flex: 1 1 0;
  min-width: 0;
  margin: 0;
  padding: 10px 8px;
  border-radius: 6px;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
  order: 3;
  background: #fff;
  color: var(--da-tac-primary);
  border: 1px solid var(--da-tac-primary);
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover { background: var(--da-tac-soft); }
/* Refuser et accepter strictement identiques (taille, couleur, poids) */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 { order: 4; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 { order: 5; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  background: var(--da-tac-primary);
  color: #fff;
  border: 1px solid var(--da-tac-primary);
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover {
  background: var(--da-tac-primary-dark);
  border-color: var(--da-tac-primary-dark);
}
/* Pas d'icone dans les boutons de la banniere */
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCross { display: none; }

#tarteaucitronRoot #tarteaucitronAlertBig button:focus-visible,
#tarteaucitron button:focus-visible,
.tac_activate button:focus-visible {
  outline: 2px solid var(--da-tac-primary);
  outline-offset: 2px;
}

#tarteaucitronRoot #tarteaucitronPercentage { display: none !important; }

@media (max-width: 575.98px) {
  #tarteaucitronRoot #tarteaucitronAlertBig.tarteaucitronAlertBigBottom {
    left: 0;
    bottom: 0;
    width: 100%;
    max-width: none;
    padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
    border-radius: 12px 12px 0 0;
    border-width: 1px 0 0;
  }
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert { font-size: 14px !important; }
  /* Personnaliser sur sa ligne, refuser/accepter cote a cote */
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert { flex-basis: 100%; order: 6; }
}

/* Fond assombri derriere le panneau "Personnaliser" */
#tarteaucitronRoot #tarteaucitronBack { background: #000 !important; opacity: 0.4 !important; }

/* ------------------------------------------------------------------
   Panneau "Personnaliser"
   ------------------------------------------------------------------ */
#tarteaucitronRoot #tarteaucitron {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 .75rem 2.5rem rgba(43, 36, 32, .25);
  color: var(--da-tac-text);
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
  background: var(--da-tac-primary);
  color: #fff;
  border: 0;
  border-radius: 0 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 12px;
}
/* En-tete du panneau (#tarteaucitronMainLineOffset) : fond clair, texte fonce */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronMainLineOffset {
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--da-tac-border) !important;
  padding: 16px 24px 12px;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH1 {
  color: var(--da-tac-text);
  font-size: 20px;
  font-weight: 600;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo,
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p {
  color: var(--da-tac-muted) !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
  background: transparent;
  border: 0;
  font-size: 14px !important;
  line-height: 1.55;
  margin: 6px auto 0;
  padding: 0;
  max-width: 560px;
  text-align: center;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br { display: none; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog {
  background: none;
  color: var(--da-tac-primary);
  border: 0;
  font-size: 13px !important;
  font-weight: 600;
  padding: 0;
  margin: 8px 0 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName .tarteaucitronH2 {
  color: var(--da-tac-text) !important;
  font-size: 15px;
  font-weight: 600;
}
/* Bouton Enregistrer */
#tarteaucitronRoot #tarteaucitron #tarteaucitronSave { padding: 10px 20px; text-align: right; background: #fff; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronSave #tarteaucitronSaveButton {
  background: var(--da-tac-primary);
  color: #fff;
  border: 0;
  border-radius: 6px;
  font-size: 14px !important;
  font-weight: 600;
  padding: 10px 22px;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronSave #tarteaucitronSaveButton:hover { background: var(--da-tac-primary-dark); }
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronBorder,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine {
  background: #fff;
  border-color: var(--da-tac-border) !important;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine {
  padding: 8px 20px;
  border-bottom: 1px solid var(--da-tac-border);
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronRoot #tarteaucitron .tarteaucitronSelfLink {
  background: var(--da-tac-soft);
  color: var(--da-tac-text);
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName .tarteaucitronH3 {
  color: var(--da-tac-text);
  font-size: 15px;
  font-weight: 600;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName a,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName .tarteaucitronListCookies,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDetails {
  color: var(--da-tac-muted);
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName a { text-decoration: underline; }

/* Boutons Autoriser / Interdire : contour au repos, plein quand selectionne */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied {
  background: #fff;
  color: var(--da-tac-primary);
  border: 1px solid var(--da-tac-primary);
  border-radius: 6px;
  font-size: 13px !important;
  font-weight: 600;
  padding: 7px 12px;
  margin: 2px 0 2px 6px;
  opacity: 1;
  transition: background-color .15s ease, color .15s ease;
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected {
  background: var(--da-tac-primary);
  color: #fff;
  border-color: var(--da-tac-primary);
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny:hover {
  background: var(--da-tac-soft);
}
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny:hover {
  background: var(--da-tac-primary-dark);
}

/* ------------------------------------------------------------------
   Lecteurs YouTube / cartes en attente de consentement
   ------------------------------------------------------------------ */
.embed-responsive > .youtube_player {
  position: absolute; top: 0; left: 0;
  width: 100% !important; height: 100% !important;
  background: #000 center / cover no-repeat;
}
.youtube_player iframe,
.googlemapsembed iframe { width: 100%; height: 100%; border: 0; display: block; }
.googlemapsembed { max-width: 100%; background: var(--da-tac-soft); }
.youtube_player .tac_activate,
.googlemapsembed .tac_activate {
  background: rgba(43, 36, 32, .55);
  color: #fff;
  font-size: 14px;
}
.googlemapsembed .tac_activate { background: var(--da-tac-soft); color: var(--da-tac-text); }
.tac_activate .tac_float { padding: 12px; }
.tac_activate .tarteaucitronAllow,
#tarteaucitronRoot ~ * .tac_activate .tarteaucitronAllow {
  background: var(--da-tac-primary);
  color: #fff;
  border: 0;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  padding: 8px 14px;
  margin-top: 8px;
}
.tac_activate .tarteaucitronAllow:hover { background: var(--da-tac-primary-dark); }

/* Panneau : description "Cookies obligatoires" et titres de categorie plus compacts */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDetails,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine { padding-top: 6px; padding-bottom: 10px; }
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle { margin-top: 8px; }

/* ------------------------------------------------------------------
   DA_TAC_MOBILE_20261003 : panneau "Personnaliser" sous 576 px.
   tarteaucitron.min.css le met en plein ecran sous 768 px (#tarteaucitron
   top/left/height 100 % !important) et jsSizing() pose en ligne top sur le
   panneau et height sur #tarteaucitronServices : surcharges en !important.
   Carte avec marges (fond assombri visible, tap a cote = fermeture native
   de tarteaucitron sur #tarteaucitronBack), zones surees comprises.
   Bouton "Fermer" dans le flux en haut (44 px), contenu qui defile seul.
   Aucun effet au-dessus de 575.98 px.
   ------------------------------------------------------------------ */
@media (max-width: 575.98px) {
  #tarteaucitronRoot {
    --da-tac-m-top: calc(48px + env(safe-area-inset-top, 0px));
    --da-tac-m-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    --da-tac-m-left: calc(16px + env(safe-area-inset-left, 0px));
    --da-tac-m-right: calc(16px + env(safe-area-inset-right, 0px));
    --da-tac-m-close: 44px;
  }
  #tarteaucitronRoot #tarteaucitron {
    top: var(--da-tac-m-top) !important;
    bottom: auto !important;
    left: var(--da-tac-m-left) !important;
    right: var(--da-tac-m-right) !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    max-height: calc(100vh - var(--da-tac-m-top) - var(--da-tac-m-bottom)) !important;
    max-height: calc(100dvh - var(--da-tac-m-top) - var(--da-tac-m-bottom)) !important;
    margin: 0 !important;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
  }
  #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
    position: static;
    display: block;
    margin: 0 0 0 auto;
    min-height: var(--da-tac-m-close);
    min-width: 96px;
    padding: 0 16px;
    font-size: 14px;
    line-height: var(--da-tac-m-close);
    border-radius: 0 0 0 8px;
  }
  #tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
    margin-top: 0 !important;
    height: auto !important;
    max-height: calc(100vh - var(--da-tac-m-top) - var(--da-tac-m-bottom) - var(--da-tac-m-close)) !important;
    max-height: calc(100dvh - var(--da-tac-m-top) - var(--da-tac-m-bottom) - var(--da-tac-m-close)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    box-shadow: none;
    border-radius: 0;
  }
}
