/*========================================================
  Options de lecture - contraste et taille du texte
=========================================================*/
html.accessibility-dark-pending body { background: #111820; color: #f4f0e8; }
html.accessibility-text-large-pending body { font-size: 18px; }
html.accessibility-text-xlarge-pending body { font-size: 21px; }
html.accessibility-tools-hidden-pending .accessibility-tools { display: none; }

.accessibility-tools {
	position: fixed;
	top: 14px;
	right: 18px;
	/* Au-dessus du bandeau sticky (z-index: 10000), y compris sur mobile. */
	z-index: 10050;
	max-width: calc(100vw - 36px);
	padding: 8px 10px;
	background: rgba(255, 255, 255, .97);
	border: 1px solid #e2c86b;
	border-radius: 12px;
	box-shadow: 0 5px 18px rgba(37, 26, 26, .18);
	font-family: 'Lato', sans-serif;
}

.accessibility-tools__title {
	position: relative;
	margin: 0 4px 6px;
	color: #7f272d;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.accessibility-tools__close {
	float: right;
	margin: -4px -5px 0 8px;
	padding: 0 4px;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	font-size: 22px;
	font-weight: 300;
	line-height: 1;
}

.accessibility-tools__close:focus-visible { outline: 2px solid #d2d36a; outline-offset: 2px; }

.accessibility-tools__title i { margin-right: 4px; }
.accessibility-tools__actions { display: flex; gap: 6px; flex-wrap: wrap; }

.accessibility-button {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-height: 34px;
	padding: 5px 9px;
	border: 1px solid #bb383d;
	border-radius: 18px;
	background: #fff;
	color: #7f272d;
	cursor: pointer;
	touch-action: manipulation;
	-webkit-tap-highlight-color: transparent;
	font: 600 12px/1.1 'Lato', sans-serif;
}

.accessibility-button:hover,
.accessibility-button:focus-visible,
.accessibility-button.is-active,
.accessibility-button[aria-pressed="true"] {
	background: #bb383d;
	color: #fff;
	outline: 3px solid rgba(210, 211, 106, .8);
	outline-offset: 1px;
}

.accessibility-button--reset { border-color: #888; color: #555; }
.accessibility-button__symbol { font-weight: 900; font-size: 15px; }
.accessibility-tools.is-hidden { display: none; }

.accessibility-footer-link {
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	touch-action: manipulation;
	font: inherit;
	text-decoration: underline;
}

.accessibility-footer-link:hover,
.accessibility-footer-link:focus-visible { color: #f0d66e; }

body.accessibility-dark { background: #111820; color: #f4f0e8; }
body.accessibility-dark .bg2,
body.accessibility-dark .bg4,
body.accessibility-dark .main-content .container,
body.accessibility-dark .modal-content,
body.accessibility-dark .encadre,
body.accessibility-dark .card { background-color: #1b2630 !important; color: #f4f0e8; }
body.accessibility-dark .bg3 { background-color: #d2d36a; color: #241f20; }
body.accessibility-dark .post-content h2,
body.accessibility-dark .post-content h3,
body.accessibility-dark .post-content h4,
body.accessibility-dark .post-content h5,
body.accessibility-dark .post-content h6,
body.accessibility-dark .main-content h1 { color: #f0d66e; background-color: #111820;}
body.accessibility-dark .main-content h2,
body.accessibility-dark .post-content h5,
body.accessibility-dark .color4 { color: #dbe2e5; }
body.accessibility-dark a,
body.accessibility-dark .post-content a,
body.accessibility-dark .color1 { color: #f0d66e; }
body.accessibility-dark input,
body.accessibility-dark textarea,
body.accessibility-dark select { background: #26343f; color: #fff; border: 1px solid #91a2ad; }
body.accessibility-dark .grey-line { border-color: #52616b; }
body.accessibility-dark .shadowed { box-shadow: 0 3px 12px rgba(0, 0, 0, .45); }
body.accessibility-dark .accessibility-tools { background: rgba(27, 38, 48, .98); }
body.accessibility-dark .accessibility-tools__title { color: #f0d66e; }
body.accessibility-dark .accessibility-button { background: #25343f; color: #f0d66e; }

body.accessibility-dark .barretitre { background-color: #111820; color: #f0d66e }	
body.accessibility-dark .barresoustitre { background-color: #1b2630 !important; }

body.accessibility-text-large { font-size: 18px; }
body.accessibility-text-xlarge { font-size: 21px; }
body.accessibility-text-large .post-content,
body.accessibility-text-xlarge .post-content,
body.accessibility-text-large .main-content,
body.accessibility-text-xlarge .main-content { line-height: 1.7; }
body.accessibility-text-large .post-content p,
body.accessibility-text-large .post-content li,
body.accessibility-text-large .post-content td,
body.accessibility-text-xlarge .post-content p,
body.accessibility-text-xlarge .post-content li,
body.accessibility-text-xlarge .post-content td { font-size: 1.12em; }
body.accessibility-text-xlarge .post-content p,
body.accessibility-text-xlarge .post-content li,
body.accessibility-text-xlarge .post-content td { font-size: 1.2em; }
body.accessibility-text-large .post-content h2,
body.accessibility-text-large .post-content h3,
body.accessibility-text-xlarge .post-content h2,
body.accessibility-text-xlarge .post-content h3 { line-height: 1.25; }

@media (max-width: 700px) {
	.accessibility-tools { top: 8px; right: 8px; left: 8px; max-width: none; }
	.accessibility-tools__actions { justify-content: center; }
	.accessibility-button { flex: 1 1 auto; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) {
	.accessibility-tools *, .accessibility-tools *::before, .accessibility-tools *::after { transition: none !important; }
}
