/**
  Tarteaucitron : habillage personnalisé Animation Chef
  (useExternalCss: true, ce fichier remplace ENTIÈREMENT le CSS d'origine)

  DA « orangevif » : CTA orange franc #E5761B, hover #CC6A14,
  bleu canard #148AA8, fonds crème, texte encre.
  Tokens recopiés en dur (préfixe --tac-) pour rester autonome
  vis-à-vis du CSS Tailwind compilé.
 **/

/* .tac_activate et .video-facade-cover : les placeholders de service (vidéos
   YouTube/Vimeo) et le calque façade sont dans le contenu de la page, HORS de
   #tarteaucitronRoot ; sans eux ici, tous leurs var(--tac-*) seraient invalides
   (fond transparent, bouton sans style). */
#tarteaucitronRoot,
.tac_activate,
.video-facade-cover {
  /* clay (orange CTA) */
  --tac-primary: #E5761B;
  --tac-primary-hover: #CC6A14;
  --tac-primary-soft: #FBE9DB;
  --tac-primary-faint: #FDF4ED;
  --tac-focus: #EB944D;

  /* basil (bleu canard) */
  --tac-secondary: #148AA8;
  --tac-secondary-deep: #0B4D5E;
  --tac-secondary-faint: #ECF6F8;

  /* fonds crème et texte encre */
  --tac-bg: #FFFDFC;
  --tac-bg-alt: #FAF6F0;
  --tac-border: #E6D9CA;
  --tac-ink: #2F241C;
  --tac-ink-muted: #5F5146;
  --tac-ink-faded: #7F6D5C;

  --tac-white: #FFFFFF;
  --tac-overlay: rgba(28, 22, 17, 0.45);

  --tac-radius-card: 1.5rem;
  --tac-radius-btn: 9999px;
  --tac-shadow-lift: 0 4px 12px rgba(42, 31, 26, 0.08), 0 16px 40px rgba(42, 31, 26, 0.08);
  --tac-shadow-cta: 0 12px 30px rgba(229, 118, 27, 0.24);
  --tac-shadow-cta-hover: 0 16px 40px rgba(229, 118, 27, 0.32);

  --tac-font: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
  --tac-font-display: "Fraunces", ui-serif, Georgia, serif;

  --tac-focus-z-index: 2000;
}

/**
  Styles généraux
 **/

#tarteaucitronRoot {
  box-sizing: border-box;
  color: var(--tac-ink);
  font-family: var(--tac-font);
  font-size: 1rem;
  line-height: 1.5;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#tarteaucitronRoot *,
#tarteaucitronRoot *::before,
#tarteaucitronRoot *::after {
  box-sizing: inherit;
}

#tarteaucitronRoot h1,
#tarteaucitronRoot h2,
#tarteaucitronRoot h3,
#tarteaucitronRoot h4 {
  font-family: var(--tac-font-display);
  color: var(--tac-ink);
  line-height: 1.25;
  font-weight: 600;
}

#tarteaucitronRoot h1 { font-size: 1.75rem; }
#tarteaucitronRoot h2 { font-size: 1.5rem; }
#tarteaucitronRoot h3 { font-size: 1.25rem; }
#tarteaucitronRoot h4 { font-size: 1.125rem; }

/*** Liens ***/
#tarteaucitronRoot a {
  color: var(--tac-secondary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

#tarteaucitronRoot a:hover {
  color: var(--tac-secondary-deep);
}

#tarteaucitronRoot a:focus-visible {
  outline: 2px solid var(--tac-focus);
  outline-offset: 2px;
  z-index: var(--tac-focus-z-index);
}

/*** Boutons ***/
#tarteaucitronRoot button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  border: none;
  cursor: pointer;
}

#tarteaucitronRoot button:focus-visible {
  outline: 2px solid var(--tac-focus);
  outline-offset: 2px;
  z-index: var(--tac-focus-z-index);
}

button#tarteaucitronPrivacyUrl {
  position: absolute;
  font-size: 9px;
  background: transparent;
  bottom: 0.5em;
  left: 2.5em;
}

/*** Listes ***/
#tarteaucitronRoot ul,
#tarteaucitronRoot ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

/*** Éléments réservés aux lecteurs d'écran (ex : #tac_title) :
     la classe est fournie par le CSS d'origine, absent avec useExternalCss ***/
#tarteaucitronRoot .tac_visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/*** Overlay ***/
#tarteaucitronBack {
  background-color: var(--tac-overlay);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  opacity: 1 !important;
  z-index: 2147483646;
}

/*** Positionnements du bouton d'ouverture du gestionnaire ***/
.tarteaucitronIconBottomLeft {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 4000;
}
.tarteaucitronIconBottomRight {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 4000;
}
.tarteaucitronIconTopLeft {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 4000;
}
.tarteaucitronIconTopRight {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 4000;
}

/*** Icône TAC sous forme de bouton (si showIcon repasse à true) ***/
#tarteaucitronIcon #tarteaucitronManager > img {
  display: none;
}

#tarteaucitronIcon #tarteaucitronManager {
  background: var(--tac-primary);
  color: var(--tac-white);
  padding: 0.5rem 1.5rem;
  line-height: 1.5rem;
  min-height: 2.5rem;
  font-size: inherit;
  border-radius: var(--tac-radius-btn) var(--tac-radius-btn) 0 0;
  font-weight: 500;
}

#tarteaucitronIcon #tarteaucitronManager:hover {
  background: var(--tac-primary-hover);
}

#tarteaucitronIcon #tarteaucitronManager::before {
  content: "Cookies";
}

/*---------------------------------------------*/

/**
  Styles du bandeau (#tarteaucitronAlertBig) et des éléments du bandeau
 **/

/*** Bandeau ***/
div#tarteaucitronRoot.tarteaucitronBeforeVisible:before {
  opacity: 1 !important;
  background-color: var(--tac-overlay) !important;
}

div#tarteaucitronAlertBig:before {
  content: none !important;
}

.tarteaucitronBeforeVisible #tarteaucitronAlertBig {
  display: flex !important;
}

#tarteaucitronAlertBig {
  position: fixed;
  flex-wrap: wrap;
  justify-content: flex-end;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1.25rem 1rem;
  color: var(--tac-ink);
  background: var(--tac-bg);
  border-top: 1px solid var(--tac-border);
  box-shadow: var(--tac-shadow-lift);
  z-index: 2147483645;
  max-height: 73vh;
  overflow-y: auto;
}

/* Bandeau >= 768px : carte flottante en bas à gauche */
@media screen and (min-width: 48em) {
  #tarteaucitronRoot #tarteaucitronAlertBig {
    width: 40rem !important;
    bottom: 2.5rem !important;
    left: 2.5rem !important;
    padding: 2rem !important;
    margin: auto;
    top: auto !important;
    transform: none !important;
    border: 1px solid var(--tac-border);
    border-radius: var(--tac-radius-card) !important;
    box-shadow: var(--tac-shadow-lift) !important;
    max-height: initial;
    height: auto;
    overflow: initial;
  }
}

/*** Texte du bandeau ***/
#tarteaucitronDisclaimerAlert {
  margin-bottom: 1.5rem;
  color: var(--tac-ink-muted);
  font-size: 0.9375rem;
  line-height: 1.6;
  text-align: left;
  width: 100%;
}

#tarteaucitronDisclaimerAlert strong {
  display: block;
  font-family: var(--tac-font-display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--tac-ink);
  margin-bottom: 0.5rem;
}

#tarteaucitronDisclaimerAlert > p {
  margin-bottom: 1rem;
}

#tarteaucitronDisclaimerAlert > p:last-child {
  margin-bottom: 0;
}

/*** Bouton fermer le bandeau optionnel (closePopup) ***/
#tarteaucitronRoot #tarteaucitronCloseCross::first-letter {
  color: transparent;
}

#tarteaucitronRoot #tarteaucitronCloseCross {
  position: relative;
  background-color: transparent;
  color: var(--tac-ink-muted);
  padding: 0.25rem 0.75rem;
  display: block;
  line-height: 1.5rem;
  min-height: 2rem;
  font-size: 0.875rem;
  border-radius: var(--tac-radius-btn);
  width: 5rem;
  margin-bottom: 0.5rem;
}

#tarteaucitronRoot #tarteaucitronCloseCross:before {
  content: "Fermer";
  position: absolute;
  left: 0.75rem;
  color: var(--tac-ink-muted);
}

/*** Boutons d'action du bandeau ***/
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton {
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
  background: var(--tac-primary);
  color: var(--tac-white);
  padding: 0.625rem 1.5rem;
  line-height: 1.5rem;
  min-height: 2.75rem;
  width: 100%;
  margin: 0.375rem 0;
  border-radius: var(--tac-radius-btn);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
  align-items: center;
  justify-content: center;
}

/* Parité CNIL accepter/refuser, version « irréprochable » (choix Enzo 14 août) :
   les DEUX boutons sont des pilules orange de marque strictement identiques,
   seul le libellé diffère (pattern DSFR). Le style de base ci-dessus suffit,
   on n'ajoute que le hover ; ne pas ré-introduire de hiérarchie entre les deux. */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize:hover,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton:hover {
  background: var(--tac-primary-hover);
}

/* « Personnaliser » : bouton pilule à contour, sans fond */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
  background-color: transparent;
  color: var(--tac-ink);
  box-shadow: inset 0 0 0 1px var(--tac-ink-faded);
  order: 5;
  margin-bottom: 0;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover {
  background-color: var(--tac-bg-alt);
  box-shadow: inset 0 0 0 1px var(--tac-ink);
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
  order: 4;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize {
  order: 3;
  margin-right: 0;
}

@media screen and (min-width: 36em) {

  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize,
  #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton {
    width: auto;
    margin: 0 0.5rem !important;
    display: inline-flex !important;
  }

  #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton:not(.tarteaucitronAllow, .tarteaucitronDeny) {
    margin: 0 0 0 auto !important;
  }

  /* Ordre desktop : Personnaliser, Tout refuser, Tout accepter */
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
    order: 3;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
    order: 4;
  }

  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
  #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize {
    order: 5;
    margin-right: 0 !important;
  }

}

/*---------------------------------------------*/

/**
  Styles du gestionnaire de cookies (#tarteaucitron) et de ses éléments
 **/

#tarteaucitron {
  display: none;
  height: 90%;
  padding: 3.5rem 0 0;
  margin: 0;
  left: 0;
  top: auto !important;
  bottom: 0 !important;
  position: fixed;
  width: 100%;
  z-index: 2147483647;
}

/* Bande d'entête (porte le bouton Fermer) */
#tarteaucitron::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: var(--tac-bg);
  border-bottom: 1px solid var(--tac-border);
  height: calc(3.5rem + 1px);
  width: 100%;
  border-radius: var(--tac-radius-card) var(--tac-radius-card) 0 0;
}

@media screen and (min-width: 48em) {

  #tarteaucitron {
    width: 50rem;
    height: initial;
    max-height: 80%;
    left: 50%;
    top: 0 !important;
    margin: auto auto auto -25rem;
  }

}

/*** Bouton pour fermer le gestionnaire ***/
#tarteaucitronRoot #tarteaucitronClosePanel {
  background: transparent;
  color: var(--tac-ink-muted);
  padding: 0.25rem 0.75rem;
  line-height: 1.5rem;
  min-height: 2rem;
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: var(--tac-radius-btn);
  box-shadow: inset 0 0 0 1px var(--tac-border);
  position: absolute;
  right: 1rem;
  top: 0.75rem;
  outline-offset: 0px;
}

#tarteaucitronRoot #tarteaucitronClosePanel:hover {
  color: var(--tac-ink);
  background: var(--tac-bg-alt);
}

/* Croix de fermeture dessinée en CSS (pas de police d'icônes) */
#tarteaucitronRoot #tarteaucitronClosePanel::before {
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  margin-left: 0.5rem;
  flex-shrink: 0;
  background:
    linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat,
    linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat;
  transform: rotate(45deg);
}

/*** Lien vers le site tarte au citron (si removeCredit repasse à false) ***/
.tarteaucitronSelfLink > img {
  display: none;
}

.tarteaucitronSelfLink:before {
  content: "Site officiel de Tarte au citron";
}

/*** Surcharge des styles de liste ***/
#tarteaucitronServices ul > li::before {
  content: none;
}

#tarteaucitronServices ul > li > ul {
  padding-left: 0;
}

/*** Section générale pour gérer tous les services (carte d'entête) ***/
#tarteaucitronRoot .tarteaucitronMainLine {
  background: var(--tac-bg);
  border: 1px solid var(--tac-border);
  border-radius: 1rem;
  padding: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronH1 {
  display: block;
  width: 100%;
  font-family: var(--tac-font-display);
  font-size: 1.5rem;
  line-height: 1.3;
  color: var(--tac-ink);
  margin: 0;
  font-weight: 600;
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronName {
  flex: 1 1 14rem;
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronH2 {
  font-size: 0.9375rem;
  font-weight: 400;
  color: var(--tac-ink-muted);
}

#tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronAsk {
  margin: 0;
}

/*** Container des services : fond crème, les sections sont des cartes ***/
#tarteaucitronServices {
  background-color: var(--tac-bg-alt);
  padding: 1.25rem 1rem 1.5rem;
}

@media screen and (min-width: 48em) {

  #tarteaucitronServices {
    padding: 1.5rem 2rem;
  }

}

/*** Titre du conteneur des cookies obligatoires ***/
#tarteaucitronServicesTitle_mandatory .tarteaucitronTitle {
  margin-bottom: 0.25rem;
}

/* Description des cookies obligatoires (mandatoryCta: false, pas de boutons) :
   la lib la place dans un span .tarteaucitronH3, on la repasse en texte courant */
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronName,
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronName .tarteaucitronH3 {
  font-weight: 400;
  font-size: 0.875rem;
  color: var(--tac-ink-muted);
  line-height: 1.6;
  margin-bottom: 0;
}

/*** Sections de services : cartes blanches sur le fond crème ***/
.tarteaucitronBorder > ul > li {
  background: var(--tac-bg);
  border: 1px solid var(--tac-border);
  border-radius: 1rem;
  padding: 1.25rem 1.5rem 1.375rem;
  margin-top: 1rem;
}

/*** Titres des sections (avec infobulle associée ou non) ***/
#tarteaucitronRoot .tarteaucitronTitle > button,
#tarteaucitronRoot .tarteaucitronTitle > .catToggleBtn {
  background: 0;
  color: var(--tac-ink);
  font-family: var(--tac-font-display);
  font-size: 1.25rem;
  font-weight: 600;
  padding: 0;
  text-align: left;
}

/* Pictos de la police d'icônes de l'ancien CSS : spans vides, on les masque */
#tarteaucitronRoot .tarteaucitronPlus,
#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross {
  display: none;
}

/*** Descriptions de catégorie et note d'information : encart clair dans la carte ***/
#tarteaucitron #tarteaucitronInfo,
#tarteaucitron #tarteaucitronServices .tarteaucitronDetails {
  display: none;
  position: static;
  width: 100%;
  max-width: none;
  margin: 0.75rem 0 0;
  padding: 0.75rem 1rem;
  background: var(--tac-secondary-faint);
  color: var(--tac-ink-muted);
  font-size: 0.8125rem;
  line-height: 1.5;
  border-radius: 0.75rem;
}

/*** Style de base des items de liste de service ***/
#tarteaucitron #tarteaucitronServices .tarteaucitronHidden {
  display: none;
  position: relative;
}

/*** Lignes de service : nom à gauche, boutons à droite ***/
#tarteaucitronRoot [id^=tarteaucitronServices_] {
  margin-top: 0.75rem;
}

#tarteaucitronRoot .tarteaucitronLine:not(.tarteaucitronMainLine) {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.875rem 0;
  margin: 0;
  border-top: 1px solid #F3EADF; /* cream-200 : filet discret entre lignes */
}

#tarteaucitronRoot [id^=tarteaucitronServices_] > .tarteaucitronLine:first-child,
#tarteaucitronRoot [id^=tarteaucitronServices_] > li:first-child {
  border-top: none;
  padding-top: 0;
}

#tarteaucitronRoot [id^=tarteaucitronServices_] > .tarteaucitronLine:last-child {
  padding-bottom: 0;
}

#tarteaucitronRoot .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronName {
  flex: 1 1 16rem;
  font-size: 0.875rem;
  color: var(--tac-ink-faded);
  line-height: 1.5;
}

/*** Titre d'un service ***/
.tarteaucitronH3 {
  display: block;
  color: var(--tac-ink);
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 0.125rem;
  max-width: none;
}

.tarteaucitronH3 + span {
  display: block;
}

/*** Ligne de statut « interdit/autorisé - Ce service ne dépose aucun cookie » :
     redondante avec l'état des pastilles, on la masque (choix, pas une obligation) ***/
#tarteaucitronRoot .tarteaucitronStatusInfo {
  display: none;
}

/*** Liens « En savoir plus / Voir le site officiel » ***/
#tarteaucitronRoot .tarteaucitronName a {
  font-size: 0.8125rem;
}

/*** Container des boutons Autoriser/Interdire ***/
.tarteaucitronAsk {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}

#tarteaucitronRoot .tarteaucitronAsk::before {
  content: none;
}

#tarteaucitronRoot .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronAsk .tarteaucitronDeny {
  margin: 0;
}

/*** Boutons Autoriser/Interdire : pastilles à contour, remplies une fois choisies ***/
#tarteaucitronRoot .tarteaucitronAllow:not(.tarteaucitronCTAButton),
#tarteaucitronRoot .tarteaucitronDeny:not(.tarteaucitronCTAButton) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 1rem;
  min-height: 2.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  border-radius: var(--tac-radius-btn);
  background: var(--tac-white);
  color: var(--tac-ink-muted);
  box-shadow: inset 0 0 0 1px var(--tac-border);
  transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

#tarteaucitronRoot .tarteaucitronAllow:not(.tarteaucitronCTAButton):hover,
#tarteaucitronRoot .tarteaucitronDeny:not(.tarteaucitronCTAButton):hover {
  color: var(--tac-ink);
  box-shadow: inset 0 0 0 1px var(--tac-ink-faded);
}

/* Choix retenu : orange pour Autoriser COMME pour Interdire (parité de couleur,
   choix Enzo 14 août, cohérent avec le bandeau) — ne pas différencier les deux */
#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronAllow:not(.tarteaucitronCTAButton),
#tarteaucitronRoot .tarteaucitronAllow.tarteaucitronIsSelected:not(.tarteaucitronCTAButton),
#tarteaucitronRoot #tarteaucitronServices_mandatory .tarteaucitronAllow:not(.tarteaucitronCTAButton),
#tarteaucitronRoot .tarteaucitronIsDenied .tarteaucitronDeny:not(.tarteaucitronCTAButton),
#tarteaucitronRoot .tarteaucitronDeny.tarteaucitronIsSelected:not(.tarteaucitronCTAButton) {
  background: var(--tac-primary);
  color: var(--tac-white);
  box-shadow: none;
}

/* Boutons désactivés (services obligatoires) */
#tarteaucitronRoot .tarteaucitronAllow:disabled:not(.tarteaucitronCTAButton),
#tarteaucitronRoot .tarteaucitronDeny:disabled:not(.tarteaucitronCTAButton) {
  cursor: default;
}

#tarteaucitronRoot .tarteaucitronDeny:disabled:not(.tarteaucitronCTAButton) {
  background: var(--tac-bg-alt);
  color: var(--tac-ink-faded);
  box-shadow: none;
}

/*** Pied du panneau : bouton Enregistrer ***/
#tarteaucitronRoot #tarteaucitronSave {
  background: var(--tac-bg-alt);
  border-top: 1px solid var(--tac-border);
  padding: 1rem 1rem 1.25rem;
  text-align: right;
}

@media screen and (min-width: 48em) {
  #tarteaucitronRoot #tarteaucitronSave {
    padding: 1rem 2rem 1.25rem;
    border-radius: 0 0 var(--tac-radius-card) var(--tac-radius-card);
  }
}

#tarteaucitronRoot #tarteaucitronSaveButton {
  background: var(--tac-primary);
  color: var(--tac-white);
  font-size: 0.9375rem;
  font-weight: 500;
  padding: 0.625rem 1.75rem;
  min-height: 2.75rem;
  border-radius: var(--tac-radius-btn);
  box-shadow: var(--tac-shadow-cta);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#tarteaucitronRoot #tarteaucitronSaveButton:hover {
  background: var(--tac-primary-hover);
  box-shadow: var(--tac-shadow-cta-hover);
}

/*** Bouton pour déplier les sous-services ***/
#tarteaucitronRoot .tarteaucitron-toggle-group {
  background: none;
  margin: 1.5rem 0 0;
  padding: 0;
  color: var(--tac-secondary);
  border-bottom: 1px solid currentColor;
  font-size: inherit;
  display: inline-flex;
  align-items: center;
}

#tarteaucitronRoot .tarteaucitron-toggle-group:hover {
  color: var(--tac-secondary-deep);
}

/* Chevron dessiné en CSS (pas de police d'icônes) */
#tarteaucitronRoot .tarteaucitron-toggle-group::after {
  content: "";
  width: 0.45em;
  height: 0.45em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-15%);
  margin-left: 0.5rem;
  flex-shrink: 0;
}

/*---------------------------------------------*/

/**
  Styles du bouton "AlertSmall" et de la modale avec la liste des cookies
  (showAlertSmall est à false, on garde un habillage minimal par sécurité)
 **/

.tarteaucitronAlertSmallBottom {
  display: none;
  padding: 0;
  position: fixed;
  right: 0;
  bottom: 0;
  text-align: center;
  width: auto;
  z-index: 2147483646;
}

.tarteaucitronAlertSmallTop,
.tarteaucitronAlertSmallBottom {
  bottom: 0;
}

#tarteaucitronAlertSmall {
  display: none;
  padding: 0;
  position: fixed;
  right: 0;
  text-align: center;
  width: auto;
  z-index: 2147483646;
}

#tarteaucitronAlertSmall #tarteaucitronManager,
#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
  position: relative;
  font-size: inherit;
  cursor: pointer;
  background: var(--tac-primary);
  color: var(--tac-white);
  padding: 0.5rem 1.5rem !important;
  line-height: 1.5rem;
  min-height: 2.5rem;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesNumber {
  margin-left: 0.25rem;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot {
  position: absolute;
  background-color: var(--tac-ink-faded);
  border-radius: 5px;
  display: block;
  height: 5px;
  overflow: hidden;
  width: calc(100% - 3rem);
  left: 1.5rem;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotGreen,
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotYellow,
#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotRed {
  display: block;
  float: left;
  height: 100%;
  width: 0%;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotGreen {
  background-color: #1B870B;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotYellow {
  background-color: #FBDA26;
}

#tarteaucitronAlertSmall #tarteaucitronManager #tarteaucitronDot #tarteaucitronDotRed {
  background-color: #9C1A1A;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer {
  display: none;
  max-height: 50%;
  max-width: 500px;
  position: fixed;
  right: 0;
  width: 100%;
  background: var(--tac-bg);
  padding-top: 1rem;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList {
  color: var(--tac-ink-muted);
  font-size: 0.75rem;
  height: auto;
  overflow: auto;
  text-align: left;
  padding: 0 1.5rem;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronTitle {
  color: var(--tac-ink);
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  margin: 1.5rem 0 0;
  padding: 1rem 0;
  text-align: left;
  width: auto;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList strong {
  color: var(--tac-ink);
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesTitle {
  padding: 0.5rem 1.5rem;
  text-align: left;
  color: var(--tac-ink);
  font-size: 1.25rem;
  font-weight: 700;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain {
  padding: 0 0 0.25rem;
  word-wrap: break-word;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain:before {
  content: none;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain a {
  color: var(--tac-ink);
  text-decoration: none;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain .tarteaucitronCookiesListLeft {
  display: inline-flex;
  width: 50%;
  align-items: center;
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain .tarteaucitronCookiesListLeft a strong {
  color: var(--tac-primary-hover);
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .tarteaucitronCookiesListMain .tarteaucitronCookiesListRight {
  color: var(--tac-ink);
  display: inline-block;
  font-size: 0.75rem;
  margin-left: 10%;
  vertical-align: top;
  width: 30%;
}

/*** Bouton pour fermer la liste des cookies ***/
#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronClosePanelCookie {
  background: transparent;
  color: var(--tac-ink-muted);
  padding: 0.25rem 0.75rem;
  line-height: 1.5rem;
  min-height: 2rem;
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  font-size: 0.875rem;
  border-radius: var(--tac-radius-btn);
  box-shadow: inset 0 0 0 1px var(--tac-border);
  position: absolute;
  right: 1rem;
  top: 0;
}

/*** Bouton pour supprimer les cookies dans la liste ***/
#tarteaucitronRoot .purgeBtn {
  flex-direction: row;
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.5rem;
  min-height: 2rem;
  background-color: var(--tac-primary);
  color: var(--tac-white);
  flex-shrink: 0;
  margin-right: 0.25rem;
  border-radius: var(--tac-radius-btn);
}

#tarteaucitronRoot .purgeBtn:hover {
  background-color: var(--tac-primary-hover);
}

#tarteaucitronAlertSmall #tarteaucitronCookiesListContainer #tarteaucitronCookiesList .purgeBtn strong {
  display: none;
}

/*---------------------------------------------*/

/**
  Styles du placeholder pour les services (type youtube) désactivés
 **/

.tac_activate {
  background: var(--tac-bg-alt);
  border: 1px solid var(--tac-border);
  border-radius: 1rem;
  color: var(--tac-ink-muted);
  display: flex;
  padding: 4rem 1.5rem;
  justify-content: center;
  width: 100%;
}

.tac_activate .tac_float {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.25rem;
}

.rf-responsive-vid__player .tac_activate {
  padding: 0;
  height: 100%;
}

/**
  Lecteurs vidéo différés (components/youtube|vimeo.html.twig)

  La div .youtube_player / .vimeo_player, puis l'iframe que tarteaucitron y
  substitue après consentement, remplissent le cadre 16:9 (.aspect-video)
  fourni par la page. Les !important répondent aux dimensions inline
  (width/height « auto ») que la lib pose elle-même sur la div avant
  consentement et sur l'iframe générée.
 **/

.youtube_player,
.vimeo_player {
  width: 100% !important;
  height: 100% !important;
}

.youtube_player iframe,
.vimeo_player iframe {
  width: 100% !important;
  height: 100% !important;
}

.youtube_player .tac_activate,
.vimeo_player .tac_activate {
  padding: 0;
  height: 100%;
}

/**
  Façade vidéo « deux temps » (option poster des composants youtube/vimeo)

  Un calque bouton .video-facade-cover (affiche auto-hébergée + play rond)
  couvre la div tarteaucitron dans .video-consent-shell. Ce play ne consent à
  rien : le listener de tarteaucitron-init.js retire le calque et révèle le
  bandeau de consentement standard (ou le lecteur si le service est déjà
  autorisé). Le bandeau, lui, garde son habillage crème et sa légende
  « Lire la vidéo, c'est accepter les cookies de … ».
 **/

.video-consent-shell {
  position: relative;
  width: 100%;
  height: 100%;
}

.video-facade-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  cursor: pointer;
  background-color: var(--tac-ink);
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-facade-cover:focus-visible {
  outline: 2px solid var(--tac-focus);
  outline-offset: -3px;
}

.video-facade-play {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 9999px;
  background: var(--tac-white);
  color: var(--tac-primary);
  box-shadow: 0 8px 24px rgba(28, 22, 17, 0.35);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.video-facade-cover:hover .video-facade-play {
  transform: scale(1.06);
  box-shadow: 0 12px 32px rgba(28, 22, 17, 0.45);
}

/* triangle play en pur CSS (pas de SVG externe) */
.video-facade-play::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.75rem 0 0.75rem 1.3rem;
  border-color: transparent transparent transparent currentColor;
  margin-left: 0.35rem;
}

.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTAButton)::before,
.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTAButton)::after {
  content: none;
}

.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTAButton) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  border: none;
  font-size: 0.9375rem;
  font-weight: 500;
  cursor: pointer;
  background: var(--tac-primary);
  color: var(--tac-white);
  padding: 0.625rem 1.5rem;
  line-height: 1.5rem;
  min-height: 2.75rem;
  margin-top: 1.5rem;
  border-radius: var(--tac-radius-btn);
  box-shadow: var(--tac-shadow-cta);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTAButton):hover {
  background: var(--tac-primary-hover);
  box-shadow: var(--tac-shadow-cta-hover);
}

.tac_activate .tarteaucitronAllow:not(.tarteaucitronCTAButton):focus-visible {
  outline: 2px solid var(--tac-focus);
  outline-offset: 2px;
  z-index: var(--tac-focus-z-index);
}
