/* ---------------------------------------------------------------------
 * Témoins (Loi 25) : bandeau discret en bas à gauche, refuser aussi simple qu’accepter
 * Partagé par le thème et la page « en construction » (mu-plugin), qui n’a ni style.css ni ses variables :
 * d’où les valeurs de repli, identiques à celles de style.css.
 * ------------------------------------------------------------------ */
.temoins {
	position: fixed; left: 16px; bottom: 16px; z-index: 1000; width: min(440px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto;
	padding: 20px 22px; background: var(--carte, #fbfaf3); border: 1px solid var(--ligne, #e2ddcd); border-radius: var(--rayon, 10px); box-shadow: 0 16px 40px rgb(0 0 0 / 18%);
	color: var(--texte, #1f211c); font-size: .86rem; line-height: 1.6; text-align: left; animation: temoins-entree .35s ease-out;
}
.temoins [hidden], .temoins[hidden] { display: none; } /* .bouton impose display: inline-flex. */
@keyframes temoins-entree { from { opacity: 0; transform: translateY(12px); } }
@media (prefers-reduced-motion: reduce) { .temoins { animation: none; } }
.temoins__titre { margin: 0 0 .4em; font-family: var(--serif, "Fraunces", Georgia, "Times New Roman", serif); font-size: 1.25rem; font-weight: 400; line-height: 1.1; letter-spacing: -.005em; }
.temoins p { margin: 0 0 14px; }
.temoins p a { color: var(--olive-fonce, #234a35); font-weight: 500; text-underline-offset: 3px; white-space: nowrap; }
.temoins .temoins__detail { color: var(--doux, #6c6d63); font-size: .8rem; }
.temoins fieldset { margin: 0 0 14px; padding: 0; border: 0; }
.temoins__categorie { display: flex; gap: 10px; padding: 10px 0; border-top: 1px solid var(--ligne, #e2ddcd); line-height: 1.45; cursor: pointer; }
.temoins__categorie input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--olive, #2f5f45); }
.temoins__categorie em { margin-left: 6px; color: var(--olive, #2f5f45); font-size: .78rem; font-style: normal; }
.temoins .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Boutons : mêmes règles que .bouton de style.css (spécificité nulle de :where(), pour ne rien changer dans le thème). */
:where(.temoins) .bouton {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 44px; padding: 10px 22px;
	border: 0; border-radius: var(--rayon-petit, 6px);
	font: 600 .9rem/1.2 var(--sans, "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
	text-decoration: none; cursor: pointer;
	transition: background-color .2s, color .2s, transform .2s;
}
:where(.temoins) .bouton--plein { background: var(--olive, #2f5f45); color: #fff; }
:where(.temoins) .bouton--plein:hover { background: var(--olive-fonce, #234a35); color: #fff; }
:where(.temoins) .bouton--contour { background: transparent; color: var(--olive-fonce, #234a35); box-shadow: inset 0 0 0 1px var(--olive, #2f5f45); }
:where(.temoins) .bouton--contour:hover { background: var(--libre, #e0ebe2); color: var(--olive-fonce, #234a35); }

.temoins__boutons { display: flex; flex-wrap: wrap; gap: 8px; }
.temoins__boutons .bouton { flex: 1 1 auto; min-height: 40px; padding: 8px 14px; font-size: .82rem; }
@media (max-width: 480px) { .temoins { left: 12px; right: 12px; bottom: 12px; width: auto; } }

/* Page « en construction » : lien permanent pour revoir son choix (le thème l’a dans son pied de page). */
.temoins-gerer {
	position: fixed; right: 12px; bottom: 10px; z-index: 999;
	padding: 4px 6px; border: 0; background: none;
	color: var(--doux, #6c6d63); font: 400 .78rem/1.4 var(--sans, "Figtree", system-ui, sans-serif);
	text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.temoins-gerer:hover { color: var(--texte, #1f211c); }
.temoins:not([hidden]) ~ .temoins-gerer { display: none; }
