/* Habillage de tarteaucitron.js aux couleurs de Pulsion Studio (version 2, 28 octobre).
   Chargée après css/tarteaucitron.min.css (ajoutées toutes deux par outils/construire.py, au seul site construit).
   Les fichiers de tarteaucitron restent tels que publiés : tout se règle ici. Sélecteurs préfixés par
   « html body #tarteaucitronRoot » pour passer devant ceux de la feuille d'origine, quel que soit l'ordre de chargement.
   Parti pris (Loïs) : une carte blanche franche, qui reprend la charte sans se confondre avec les blocs du site :
   ni liseré, ni dégradé, ni effet verre ; le bleu réservé à de petits accents.
   Trois actions de même poids, « Continuer sans accepter », « Paramétrer », « Tout accepter » (recommandation CNIL :
   refuser aussi simple qu'accepter). Le lien vers la page Cookies est dans le texte. */

#tarteaucitronRoot {
  --tac-ink: #0a0a23;
  --tac-text: #2a2f4a;
  --tac-muted: #555c7a;
  --tac-blue: #005bf5;
  --tac-paper: #f4f6fc;
  --tac-line: rgba(10, 10, 35, .1);
  --tac-shadow: 0 1px 2px rgba(10, 10, 35, .06), 0 12px 40px -8px rgba(10, 10, 35, .22);
  --tac-body: "Manrope", system-ui, sans-serif;
  --tac-title: "Outfit", system-ui, sans-serif;
}

html body #tarteaucitronRoot,
html body #tarteaucitronRoot * {
  font-family: var(--tac-body);
  line-height: 1.5;
  box-sizing: border-box;
}

/* ---------- Bannière : carte en bas à gauche (ordinateur), panneau pleine largeur en bas (mobile) */

html body #tarteaucitronRoot #tarteaucitronAlertBig {
  left: 24px; right: auto; bottom: 24px; top: auto;
  width: 420px; max-width: calc(100vw - 32px); margin: 0;
  padding: 0;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  /* Petite tache de couleur en haut à droite (retour de Loïs du 28 octobre) : de l'habillage, sans liseré */
  background:
    radial-gradient(150px 120px at 100% 0%, rgba(61, 123, 255, .26), rgba(61, 123, 255, 0) 70%),
    radial-gradient(120px 100px at 82% -12%, rgba(197, 214, 249, .9), rgba(197, 214, 249, 0) 72%),
    #fff;
  box-shadow: var(--tac-shadow);
  color: var(--tac-text);
  text-align: left;
  font-size: 15px !important;
}
/* tarteaucitron affiche la bannière par un style en ligne « display: block » : on la passe en grille */
html body #tarteaucitronRoot #tarteaucitronAlertBig[style*="block"] {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-areas:
    "texte texte texte"
    "refuser choisir accepter";
}

html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
  grid-area: texte;
  display: block; margin: 0; padding: 22px 24px 20px;
  font-size: 14.5px !important; line-height: 1.6; color: var(--tac-text); text-align: left;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .pulsionTacTitre {
  display: flex; align-items: center; gap: 10px; margin: 0 0 10px;
  font-family: var(--tac-title); font-size: 19px; font-weight: 500; letter-spacing: -0.015em; line-height: 1.25;
  color: var(--tac-ink);
}
/* Favicon Pulsion Studio devant le titre */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .pulsionTacTitre::before {
  content: ""; flex: none; width: 30px; height: 30px; border-radius: 8px;
  background: url(../favicon.svg) center / contain no-repeat;
  box-shadow: 0 4px 12px rgba(0, 91, 245, .25);
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a {
  color: var(--tac-blue); font-size: inherit; font-weight: 600;
  text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a:hover { text-decoration-thickness: 2px; }

/* Les trois actions : même taille, même fond, même graisse ; seul « Tout accepter » porte son texte en bleu. */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 54px; margin: 0; padding: 8px 10px;
  border: 0; border-top: 1px solid var(--tac-line); border-radius: 0;
  background: #fff; box-shadow: none; opacity: 1;
  color: var(--tac-ink);
  font-size: 14px !important; font-weight: 600; line-height: 1.25; text-align: center; white-space: normal;
  cursor: pointer;
  transition: background-color .15s ease;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 { grid-area: refuser; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert { grid-area: choisir; border-left: 1px solid var(--tac-line); border-right: 1px solid var(--tac-line); }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 { grid-area: accepter; color: var(--tac-blue); }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover { background: var(--tac-paper); }
/* Coches et croix d'origine, lien « Gestion des cookies » en quatrième bouton, jauge : retirés */
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCheck,
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCross,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
html body #tarteaucitronRoot #tarteaucitronPercentage { display: none !important; }

/* Mobile : panneau posé en bas, sur toute la largeur */
@media (max-width: 639px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig {
    left: 0; right: 0; bottom: 0;
    width: 100%; max-width: none;
    border-radius: 18px 18px 0 0;
    padding-bottom: env(safe-area-inset-bottom, 0);
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert { padding: 20px 16px 18px; }
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .pulsionTacTitre { font-size: 18px; }
}
/* Trop étroit pour trois actions sur une ligne : refuser et accepter côte à côte, Paramétrer dessous */
@media (max-width: 479px) {
  html body #tarteaucitronRoot #tarteaucitronAlertBig[style*="block"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "texte texte"
      "refuser accepter"
      "choisir choisir";
  }
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 { border-right: 1px solid var(--tac-line); }
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert { border-left: 0; border-right: 0; }
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 { min-height: 52px; }
}

/* ---------- Focus clavier visible partout */
html body #tarteaucitronRoot button:focus-visible,
html body #tarteaucitronRoot a:focus-visible {
  outline: 2px solid var(--tac-blue) !important; outline-offset: 2px; box-shadow: none;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig button:focus-visible { outline-offset: -4px; border-radius: 10px; }

/* ---------- Panneau « Paramétrer » : même esprit, fond blanc
   Préfixe « #tarteaucitronRoot #tarteaucitron #tarteaucitronServices » : plus précis que toutes les règles d'origine. */

html body #tarteaucitronRoot #tarteaucitronBack { background: var(--tac-ink) !important; opacity: .45 !important; }

html body #tarteaucitronRoot div#tarteaucitron {
  border-radius: 18px; overflow: hidden; background: #fff;
  box-shadow: var(--tac-shadow);
}
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel {
  top: 18px; right: 18px !important; z-index: 3; width: auto;
  padding: 8px 16px; border: 1px solid var(--tac-line); border-radius: 99px;
  background: #fff; color: var(--tac-ink); font-size: 14px; font-weight: 600;
}
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel:hover { background: var(--tac-paper); }

html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronServices { margin: 0 !important; background: #fff; border-radius: 0; box-shadow: none; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder { border: 0 !important; background: #fff; }

/* Bouton Enregistrer, en bas du panneau (s'il est affiché) */
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronSave { padding: 16px 24px 24px; background: #fff; }
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronSaveButton {
  min-height: 44px; padding: 0 24px; border: 1px solid var(--tac-blue); border-radius: 99px;
  background: #fff; color: var(--tac-blue); font-size: 15px !important; font-weight: 600;
}
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronSaveButton:hover { background: var(--tac-paper); }

/* En-tête du panneau */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronMainLine,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronMainLine:hover {
  margin: 0; padding: 26px 24px 22px; border: 0 !important; border-bottom: 1px solid var(--tac-line) !important;
  background: #fff;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1 {
  display: block; margin: 0 0 10px; padding-right: 110px;
  font-family: var(--tac-title); font-size: 22px; font-weight: 500; letter-spacing: -0.02em; line-height: 1.25;
  color: var(--tac-ink); text-align: left;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine div#tarteaucitronInfo {
  position: static !important; display: block !important; width: auto; max-width: 62ch !important;
  margin: 0 0 20px !important; padding: 0 !important;
  border: 0; background: transparent; text-align: left !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo * {
  font-size: 14px !important; font-weight: 400; line-height: 1.6; color: var(--tac-text);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronInfo br { display: none; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine #tarteaucitronPrivacyUrlDialog {
  display: inline-block; margin: 6px 0 0; padding: 0; border: 0; background: none;
  font-size: 14px !important; font-weight: 600; color: var(--tac-blue);
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName {
  display: inline-block; float: none; width: auto; margin: 0 16px 0 0; vertical-align: middle;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH2 {
  font-family: var(--tac-title); font-size: 16px; font-weight: 500; color: var(--tac-ink);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronAsk {
  display: inline-flex; flex-wrap: wrap; gap: 8px; float: none; margin: 0 !important; vertical-align: middle;
}

/* Catégories et services */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle .asCatToggleBtn {
  display: block; margin: 0; padding: 20px 24px 4px; border-radius: 0;
  background: #fff; color: var(--tac-ink);
  font-family: var(--tac-title); font-size: 17px; font-weight: 500; letter-spacing: -0.01em;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDetails,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDetails * {
  background: #fff; color: var(--tac-muted); font-size: 14px; font-weight: 400; line-height: 1.55;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^=tarteaucitronDetails] {
  width: auto; margin: 0; padding: 0 24px 8px;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine {
  margin: 0 24px; padding: 14px 0; border: 0; border-top: 1px solid var(--tac-line); background: #fff;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:hover { background: #fff; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices > .tarteaucitronBorder > ul > li:last-child { padding-bottom: 20px; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName { margin-left: 0; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName * { color: var(--tac-ink); }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronH3 {
  font-family: var(--tac-body); font-size: 15px; font-weight: 600 !important; color: var(--tac-ink);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronListCookies,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName .tacCurrentStatus,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName .tarteaucitronReadmoreSeparator { color: var(--tac-muted) !important; font-size: 13px !important; }

/* Autoriser / Interdire, Tout accepter / Tout refuser : même forme et même poids ; le choix en cours est plein,
   et coché (✓ / ✗), pour ne pas reposer sur la seule couleur */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk .tarteaucitronDeny {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 40px; margin: 0; padding: 0 16px;
  border: 1px solid var(--tac-line); border-radius: 99px;
  background: #fff; color: var(--tac-ink); opacity: 1;
  font-size: 14px !important; font-weight: 600; line-height: 1.2;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk .tarteaucitronAllow *,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk .tarteaucitronDeny * { color: inherit; font-size: 14px; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk { margin: 4px 0 0; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny { margin-left: 6px; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAsk .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronAsk .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronAsk .tarteaucitronIsSelected {
  border-color: var(--tac-ink); background: var(--tac-ink); color: #fff;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk button:hover { border-color: var(--tac-ink); }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronCheck::before,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronCross::before { color: inherit; font-family: system-ui, sans-serif; }
/* Croix « ✛ » devant les catégories : décorative et trompeuse (rien ne s'y déplie), retirée */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronPlus { display: none; }
/* Cookies obligatoires : une ligne de texte, sans boutons */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine { padding: 12px 0 6px; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronH3 { margin: 0; font-weight: 400 !important; font-size: 14px; color: var(--tac-muted); }

@media (max-width: 767px) {
  html body #tarteaucitronRoot div#tarteaucitron { border-radius: 0; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronMainLine { padding: 22px 16px 18px; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronH1 { font-size: 20px; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName { display: block; margin: 0 0 10px; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle .asCatToggleBtn { padding: 18px 16px 4px; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^=tarteaucitronDetails] { padding: 0 16px 8px; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine { margin: 0 16px; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName { width: auto; float: none; display: block; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk { float: none; display: flex; gap: 8px; margin: 12px 0 0; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny { margin-left: 0; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk button { flex: 1 1 0; }
}

/* Mouvement réduit : pas de transitions */
@media (prefers-reduced-motion: reduce) {
  html body #tarteaucitronRoot * { transition: none !important; }
}
