/* Thème « Le plan coté » de tarteaucitron 1.36.0 (DESIGN.md), bannière ET panneau, vérifié au rendu par tests/systeme/consentement.spec.ts.
   Jetons du site seulement (jetons.css), aucun citron (The Lemon Rule : le citron reste au « Pré-audit gratuit »).
   « Tout accepter » : bouton secondaire violet. « Tout refuser » : simple lien gris discret, sur la ligne des liens (décision écrite du porteur
   du 2026-10-29, « le bouton refuser ne doit pas être un bouton […] c'est pas compliant mais je préfère comme ça » : il s'écarte sciemment de
   l'égalité de poids attendue par l'APD et le CEPD), seul sur sa ligne, centré sous « Tout accepter ». Le refus reste au premier niveau,
   lisible, cible de 44 px.
   Feuille élue (contour 2 px, ombre pleine), titres en Archivo, texte en Atkinson, voile plat sans flou (pas de verre dépoli),
   cases d'état dessinées en carrés (aucun glyphe Unicode, invisible en sombre), cibles de 44 px, focus 3 px, 360 px sans débordement.
   ⚠️ Les règles d'origine sont larges et souvent !important : chaque surcharge est préfixée de html body #tarteaucitronRoot
   (et de #tarteaucitron dans le panneau) pour l'emporter, y compris dans leurs @media mobiles. */
#tarteaucitronRoot, #tarteaucitronRoot * { font-family: var(--bb-police-texte, system-ui, sans-serif) !important; box-sizing: border-box; }

/* Voile : à plat, charbon, sans flou (l'origine pose un blanc dépoli à backdrop-filter). Le bouton de fond reste cliquable, transparent. */
html body div#tarteaucitronRoot.tarteaucitronSize-middle.tarteaucitronBeforeVisible::before, html body.tarteaucitron-modal-open div#tarteaucitronRoot::before { background: rgb(23 21 30 / 0.55) !important; background: color-mix(in srgb, var(--bb-charbon, #17151E) 55%, transparent) !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; opacity: 1 !important; }
html body #tarteaucitronRoot button#tarteaucitronBack { background: transparent !important; opacity: 1 !important; }

/* ── Bannière ─────────────────────────────────────────────────────────── */
html body #tarteaucitronRoot div#tarteaucitronAlertBig, html body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig { box-sizing: border-box !important; background: var(--bb-surface, #FFFFFF) !important; color: var(--bb-texte, #1F1D26) !important; border: var(--bb-contour, 2px) solid var(--bb-encre, #17151E) !important; border-radius: var(--bb-rayon-l, 8px) !important; box-shadow: var(--bb-ombre-pop, 6px 6px 0 #17151E) !important; width: min(40rem, calc(100vw - 32px)) !important; min-width: 0 !important; max-width: calc(100vw - 32px) !important; max-height: calc(100dvh - 32px) !important; overflow-y: auto !important; padding: 24px !important; text-align: left !important; font-size: 1rem !important; }
html body #tarteaucitronRoot div#tarteaucitronAlertBig::before { content: none !important; display: none !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert, html body #tarteaucitronRoot.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert { display: block !important; margin: 0 0 20px !important; padding: 0 !important; text-align: left !important; font-size: 1rem !important; line-height: 1.55 !important; color: var(--bb-texte, #1F1D26) !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong { display: block; margin-bottom: 8px; font-family: var(--bb-police-titre, system-ui, sans-serif) !important; font-size: var(--bb-taille-h3, 1.25rem); font-weight: 750; line-height: 1.2; letter-spacing: -0.01em; color: var(--bb-titre, #17151E) !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a { color: var(--bb-violet, #6234E3) !important; font-weight: 600; text-decoration: underline !important; text-underline-offset: 3px; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a:hover { color: var(--bb-violet-fonce, #4B22C2) !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig button { margin: 0 !important; }
/* Tout accepter (#tarteaucitronPersonalize2 dans l'origine) : le bouton secondaire du site, sur toute la largeur. */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 { display: flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 48px !important; padding: 10px 20px !important; margin: 0 0 12px !important; background: var(--bb-violet, #6234E3) !important; color: var(--bb-sur-violet, #FFFFFF) !important; border: var(--bb-contour, 2px) solid var(--bb-violet, #6234E3) !important; border-radius: var(--bb-rayon-m, 8px) !important; font-family: var(--bb-police-titre, system-ui, sans-serif) !important; font-size: 1rem !important; font-weight: 750 !important; line-height: 1.2 !important; text-align: center; vertical-align: top; cursor: pointer; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 span, html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 span { display: none !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover { background: var(--bb-violet-fonce, #4B22C2) !important; border-color: var(--bb-violet-fonce, #4B22C2) !important; }
/* Tout refuser : lien gris souligné, seul sur sa ligne et centré sous « Tout accepter » (décisions du porteur du 2026-10-29), 44 px de haut. */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 { display: flex !important; align-items: center; justify-content: center; width: fit-content !important; min-width: 0 !important; min-height: var(--bb-cible, 44px) !important; padding: 0 4px !important; margin: -4px auto 8px !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; color: var(--bb-doux, #57555F) !important; font-size: 1rem !important; font-weight: 500 !important; line-height: 1.2 !important; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover { color: var(--bb-texte, #1F1D26) !important; }
/* Personnaliser et Politique de cookies : liens du site (violet souligné), 44 px de haut. */
/* ⚠️ L'origine leur donne une largeur fixe (environ 80 %) : un lien par ligne sur téléphone, 44 px perdus ; width: auto les remet côte à côte. */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert, html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl { display: inline-flex !important; align-items: center; width: auto !important; min-width: 0 !important; min-height: var(--bb-cible, 44px) !important; padding: 0 4px !important; margin: 0 16px 0 0 !important; background: transparent !important; border: 0 !important; color: var(--bb-violet, #6234E3) !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.2 !important; text-decoration: underline !important; text-underline-offset: 3px; cursor: pointer; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover, html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover { color: var(--bb-violet-fonce, #4B22C2) !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig:focus { outline: none !important; }

/* ── Panneau « Personnaliser » ────────────────────────────────────────── */
/* La feuille est #tarteaucitron ; « Fermer » y reste dans le flux, en tête : posé en absolu, le contenu défilait dessous (Tout refuser masqué). ⚠️ La hauteur de #tarteaucitronServices est tenue ici et non par le script (hauteur du panneau moins « Fermer » plus 4 px, sans ses marges : le bas du panneau était rogné) ; overflow: clip, pas hidden : un focus ne fait pas défiler la feuille. */
html body #tarteaucitronRoot div#tarteaucitron { width: min(54rem, calc(100vw - 32px)) !important; max-width: none !important; left: 50% !important; margin: 0 !important; transform: translateX(-50%); overflow: hidden; overflow: clip; font-size: 1rem !important; color: var(--bb-texte, #1F1D26) !important; background: var(--bb-surface, #FFFFFF) !important; border: var(--bb-contour, 2px) solid var(--bb-encre, #17151E) !important; border-radius: var(--bb-rayon-l, 8px) !important; box-shadow: var(--bb-ombre-pop, 6px 6px 0 #17151E) !important; }
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronServices { height: auto !important; max-height: calc(80vh - 64px) !important; margin: 0 !important; background: var(--bb-surface, #FFFFFF) !important; color: var(--bb-texte, #1F1D26) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel { position: static !important; display: block; width: auto !important; min-height: var(--bb-cible, 44px); margin: 12px 12px 4px auto !important; padding: 0 16px !important; background: var(--bb-surface, #FFFFFF) !important; color: var(--bb-titre, #17151E) !important; border: var(--bb-contour, 2px) solid var(--bb-encre, #17151E) !important; border-radius: var(--bb-rayon-m, 8px) !important; font-family: var(--bb-police-titre, system-ui, sans-serif) !important; font-size: 0.875rem !important; font-weight: 750 !important; line-height: 1.2; }
html body #tarteaucitronRoot #tarteaucitron button#tarteaucitronClosePanel:hover { background: var(--bb-surface-2, #E8E7E1) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices div.tarteaucitronMainLine { margin: 0 !important; padding: 4px 24px 24px !important; background: var(--bb-surface, #FFFFFF) !important; border: 0 !important; border-bottom: var(--bb-contour, 2px) solid var(--bb-encre, #17151E) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover { background: var(--bb-surface, #FFFFFF) !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1 { margin: 0 0 12px !important; text-align: left !important; font-family: var(--bb-police-titre, system-ui, sans-serif) !important; font-size: var(--bb-taille-h3, 1.25rem) !important; font-weight: 750 !important; line-height: 1.2 !important; letter-spacing: -0.01em; color: var(--bb-titre, #17151E) !important; }
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronInfo { display: block !important; position: static !important; max-width: none !important; width: auto !important; margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--bb-texte, #1F1D26) !important; font-size: 1rem !important; font-weight: 400 !important; line-height: 1.55 !important; text-align: left !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br { display: none; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo button#tarteaucitronPrivacyUrlDialog { display: flex !important; align-items: center; width: max-content; min-height: var(--bb-cible, 44px); margin: 4px 0 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; color: var(--bb-violet, #6234E3) !important; font-size: 1rem !important; font-weight: 600 !important; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo button#tarteaucitronPrivacyUrlDialog:hover { color: var(--bb-violet-fonce, #4B22C2) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName { float: left; width: auto !important; margin: 12px 0 0 !important; padding: 0 !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH2 { margin: 0 !important; max-width: none; font-family: var(--bb-police-titre, system-ui, sans-serif) !important; font-size: 1rem !important; font-weight: 750 !important; color: var(--bb-titre, #17151E) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk { display: flex !important; flex-wrap: wrap; gap: 8px; float: right !important; margin: 0 !important; text-align: left !important; }
html body #tarteaucitronRoot #tarteaucitron div.tarteaucitronBorder { padding: 0 24px 8px !important; background: var(--bb-surface, #FFFFFF) !important; color: var(--bb-texte, #1F1D26) !important; border: 0 !important; }
/* Rubriques : intitulé en Archivo sur le trait charbon, signe carré dessiné (plus, moins une fois ouverte). */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle { margin: 0 !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button { display: flex !important; align-items: center; gap: 12px; width: 100% !important; min-height: var(--bb-cible, 44px); margin: 16px 0 0 !important; padding: 8px 0 !important; background: transparent !important; color: var(--bb-titre, #17151E) !important; border: 0 !important; border-bottom: var(--bb-contour, 2px) solid var(--bb-encre, #17151E) !important; border-radius: 0 !important; font-family: var(--bb-police-titre, system-ui, sans-serif) !important; font-size: 1rem !important; font-weight: 750 !important; line-height: 1.25; text-align: left !important; cursor: pointer; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button { cursor: default; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronPlus::before { content: "" !important; display: block; color: inherit !important; flex: none; width: 18px; height: 18px; border: var(--bb-contour, 2px) solid currentColor; background: linear-gradient(currentColor, currentColor) center / 8px 2px no-repeat, linear-gradient(currentColor, currentColor) center / 2px 8px no-repeat; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button[aria-expanded="true"] .tarteaucitronPlus::before { background: linear-gradient(var(--bb-surface, #FFFFFF), var(--bb-surface, #FFFFFF)) center / 8px 2px no-repeat, currentColor; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronPlus { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDetails { position: static !important; max-width: none !important; width: auto !important; margin: 0 !important; padding: 12px 0 4px !important; background: transparent !important; color: var(--bb-doux, #57555F) !important; font-size: 0.875rem !important; font-weight: 400 !important; line-height: 1.5; }
/* Lignes de service : nomenclature entre filets. */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices li.tarteaucitronLine { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin: 0 !important; padding: 16px 0 !important; background: transparent !important; color: var(--bb-texte, #1F1D26) !important; border: 0 !important; border-bottom: 1px solid var(--bb-filet, #D6D4CC) !important; overflow: visible; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices li.tarteaucitronLine:hover { background: transparent !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronName { float: none !important; flex: 1 1 16rem; width: auto !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronName span { width: auto !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronH3 { margin: 0 !important; font-family: var(--bb-police-titre, system-ui, sans-serif) !important; font-size: 1.0625rem !important; font-weight: 750 !important; line-height: 1.3; color: var(--bb-titre, #17151E) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory li.tarteaucitronLine { padding: 12px 0 8px !important; border-bottom: 0 !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory li.tarteaucitronLine br, html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronListCookies { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory li.tarteaucitronLine .tarteaucitronH3 { font-family: var(--bb-police-texte, system-ui, sans-serif) !important; font-size: 1rem !important; font-weight: 400 !important; line-height: 1.55; color: var(--bb-texte, #1F1D26) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronAsk { float: none !important; flex: none; }
/* Ce que fait le service, sous son nom : on accorde en sachant quoi. Texte doux, mesure de lecture. */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName .tarteaucitronServiceDescription { display: block; max-width: 38rem; margin: 4px 0 0 !important; color: var(--bb-doux, #57555F) !important; font-size: var(--bb-taille-petit, 0.875rem) !important; font-weight: 400 !important; line-height: 1.5 !important; }
/* tarteaucitron insère les services à rebours : la mesure d'audience reprend sa place avant l'enregistrement des sessions, comme dans la bannière. */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_analytic { display: flex; flex-direction: column; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_analytic > #mesureLine { order: -1; }
/* Les rubriques sont triées par titre : « Efficacité des annonces » passerait avant la mesure dont elle dépend. Ordre de la bannière : mesure, sessions, publicité. */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul { display: flex; flex-direction: column; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul > #tarteaucitronServicesTitle_ads { order: 1; }
/* Traceurs nécessaires : rien à choisir (l'origine masque ces boutons, la règle .tarteaucitronAsk ci-dessus les rendait). */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronAsk { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName a.tarteaucitronReadmoreInfo { display: inline-flex; align-items: center; min-height: var(--bb-cible, 44px); color: var(--bb-violet, #6234E3) !important; font-size: 0.875rem !important; font-weight: 600 !important; text-decoration: underline !important; text-underline-offset: 3px; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName a.tarteaucitronReadmoreInfo:hover { color: var(--bb-violet-fonce, #4B22C2) !important; }
/* « Voir le site officiel » mènerait à notre propre page cookies (services maison) : un seul lien, « En savoir plus ». */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName a.tarteaucitronReadmoreOfficial, html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName .tarteaucitronReadmoreSeparator { display: none !important; }
/* Autoriser, Interdire, Tout accepter, Tout refuser du panneau : bouton fantôme du site ; l'état choisi passe au violet plein. */
html body #tarteaucitronRoot #tarteaucitron button.tarteaucitronAllow, html body #tarteaucitronRoot #tarteaucitron button.tarteaucitronDeny { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; width: auto; min-height: var(--bb-cible, 44px) !important; margin: 0 !important; padding: 8px 16px !important; border-radius: var(--bb-rayon-m, 8px) !important; border: var(--bb-contour, 2px) solid var(--bb-encre, #17151E) !important; background: var(--bb-surface, #FFFFFF) !important; color: var(--bb-titre, #17151E) !important; font-family: var(--bb-police-titre, system-ui, sans-serif) !important; font-size: 1rem !important; font-weight: 750 !important; line-height: 1.2 !important; opacity: 1 !important; cursor: pointer; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:hover, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:hover { background: var(--bb-surface-2, #E8E7E1) !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny, html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices button.tarteaucitronIsSelected, html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronSave button#tarteaucitronSaveButton { background: var(--bb-violet, #6234E3) !important; color: var(--bb-sur-violet, #FFFFFF) !important; border-color: var(--bb-violet, #6234E3) !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow:hover, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny:hover, html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices button.tarteaucitronIsSelected:hover, html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronSave button#tarteaucitronSaveButton:hover { background: var(--bb-violet-fonce, #4B22C2) !important; border-color: var(--bb-violet-fonce, #4B22C2) !important; }
/* Case d'état : carré au trait (glyphes ☐ ☑ ✓ ✗ de l'origine retirés), plein quand l'option est choisie. */
/* ⚠️ L'origine colore TOUT descendant en #333 (#tarteaucitronRoot *) : dans un bouton, le contenu suit la couleur du bouton, sinon noir sur sombre. */
html body #tarteaucitronRoot button * { color: inherit !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronCheck, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronCross { display: block; flex: none; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronCheck::before, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronCross::before { content: "" !important; display: block; color: inherit !important; width: 14px; height: 14px; border: var(--bb-contour, 2px) solid currentColor; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow .tarteaucitronCheck::before, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny .tarteaucitronCross::before, html body #tarteaucitronRoot #tarteaucitron button.tarteaucitronIsSelected span::before { background: currentColor; box-shadow: inset 0 0 0 2px var(--bb-violet, #6234E3); }
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronSave { position: sticky; bottom: 0; z-index: 1; padding: 16px 24px !important; background: var(--bb-surface, #FFFFFF) !important; border-top: var(--bb-contour, 2px) solid var(--bb-encre, #17151E); text-align: right !important; }
html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronSave button#tarteaucitronSaveButton { min-height: 48px !important; padding: 10px 20px !important; font-size: 1rem !important; }

/* ── Focus, pied de page ──────────────────────────────────────────────── */
html body #tarteaucitronRoot button:focus-visible, html body #tarteaucitronRoot a:focus-visible, .bb-pied__cookies:focus-visible { outline: var(--bb-focus-epaisseur, 3px) solid var(--bb-focus, #6234E3) !important; outline-offset: var(--bb-focus-decalage, 2px) !important; }
.bb-pied .bb-pied__cookies { display: inline-flex; align-items: center; min-height: var(--bb-cible, 44px); margin-top: var(--bb-esp-2, 8px); padding: 0; background: transparent; border: 0; color: var(--bb-lien-sur-charbon, #C4B5FF); font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.bb-pied .bb-pied__cookies:hover { color: var(--bb-sur-charbon, #F2F2ED); }
.bb-pied .bb-pied__cookies:focus-visible { outline-color: var(--bb-focus-sur-charbon, #D6F33E) !important; }
.bb-pied .bb-pied__cookies[hidden] { display: none; }

/* ── Téléphone (sous le point de rupture de l'origine, 767 px) ────────── */
@media (max-width: 767px) {
  html body #tarteaucitronRoot div#tarteaucitronAlertBig, html body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig { width: calc(100vw - 32px) !important; padding: 20px 16px !important; }
  html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 { display: flex !important; width: 100% !important; margin: 0 0 12px !important; }
  html body #tarteaucitronRoot div#tarteaucitron { width: 100% !important; left: 0 !important; transform: none; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronServices { height: calc(100% - 60px) !important; max-height: none !important; border-top: 1px solid var(--bb-filet, #D6D4CC) !important; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices div.tarteaucitronMainLine { padding: 4px 16px 20px !important; }
  html body #tarteaucitronRoot #tarteaucitron div.tarteaucitronBorder { padding: 0 16px 8px !important; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk { float: none !important; width: 100% !important; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronAsk button, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronAsk button { flex: 1 1 0; width: auto !important; min-width: 0; }
  html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices li.tarteaucitronLine .tarteaucitronAsk { flex: 1 1 100%; }
  html body #tarteaucitronRoot #tarteaucitron button.tarteaucitronAllow, html body #tarteaucitronRoot #tarteaucitron button.tarteaucitronDeny { padding: 8px 10px !important; }
  html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronSave { padding: 12px 16px !important; }
  html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronSave button#tarteaucitronSaveButton { width: 100%; }
}

/* Couleurs forcées : contours système, l'état choisi en surbrillance système (le violet disparaît). */
@media (forced-colors: active) {
  html body #tarteaucitronRoot div#tarteaucitronAlertBig, html body #tarteaucitronRoot div#tarteaucitron { border-color: CanvasText !important; }
  html body #tarteaucitronRoot button { border-color: ButtonText !important; }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronPlus::before { forced-color-adjust: none; }
  html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsAllowed .tarteaucitronAllow, html body #tarteaucitronRoot #tarteaucitron .tarteaucitronIsDenied .tarteaucitronDeny, html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices button.tarteaucitronIsSelected { forced-color-adjust: none; background: Highlight !important; color: HighlightText !important; border-color: Highlight !important; }
}
@media (prefers-reduced-motion: reduce) { #tarteaucitronRoot, #tarteaucitronRoot * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
@media print { #tarteaucitronRoot { display: none !important; } }
