@font-face {
  font-family: "OpenDyslexic";
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/opendyslexic@5.3.0/files/opendyslexic-latin-400-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "OpenDyslexic";
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/opendyslexic@5.3.0/files/opendyslexic-latin-700-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Luciole";
  src: local("Luciole"), url("../fonts/Luciole-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Luciole";
  src: local("Luciole Bold"), url("../fonts/Luciole-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

.fd-skip-link {
  position: fixed;
  z-index: 100000;
  top: .5rem;
  left: .5rem;
  padding: .7rem 1rem;
  color: #fff !important;
  background: #111 !important;
  border: 3px solid #fff;
  border-radius: .35rem;
  box-shadow: 0 0 0 3px #111;
  transform: translateY(-160%);
  transition: transform .15s ease;
}

.fd-skip-link:focus {
  transform: translateY(0);
}

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid #ffbf47 !important;
  outline-offset: 3px !important;
}

.fd-a11y-launcher {
  position: fixed;
  z-index: 99990;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  min-height: 48px;
  padding: .7rem .9rem;
  border: 2px solid var(--fd-action, #fff);
  border-radius: 999px;
  color: #fff;
  background: var(--fd-primary-dark, #172554);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .35);
  font: 700 1rem/1.15 Arial, sans-serif;
}

.fd-a11y-right .fd-a11y-launcher { right: 1rem; }
.fd-a11y-left .fd-a11y-launcher { left: 1rem; }

.fd-a11y-panel {
  position: fixed;
  z-index: 99991;
  bottom: 4.9rem;
  width: min(390px, calc(100vw - 2rem));
  max-height: min(680px, calc(100vh - 7rem));
  overflow: auto;
  padding: 1rem;
  color: var(--fd-ink, #111827);
  background: var(--fd-surface, #fff);
  border: 2px solid var(--fd-primary-dark, #172554);
  border-radius: .8rem;
  box-shadow: 0 12px 38px rgba(0, 0, 0, .35);
  font: 400 1rem/1.4 Arial, sans-serif;
}

.fd-a11y-right .fd-a11y-panel { right: 1rem; }
.fd-a11y-left .fd-a11y-panel { left: 1rem; }
.fd-a11y-panel[hidden] { display: none !important; }

.fd-a11y-with-memo .fd-a11y-launcher { bottom: 4.25rem; }
.fd-a11y-with-memo .fd-a11y-panel { bottom: 8.15rem; }

.fd-a11y-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
}

.fd-a11y-title {
  margin: 0;
  color: var(--fd-ink, #111827);
  font: 700 1.25rem/1.2 Arial, sans-serif;
}

.fd-a11y-close {
  width: 42px;
  height: 42px;
  border: 1px solid var(--fd-primary-dark, #64748b);
  border-radius: .4rem;
  color: var(--fd-primary-dark, #111827);
  background: var(--fd-surface, #fff);
  font-size: 1.4rem;
}

.fd-a11y-group {
  margin: 0 0 .85rem;
  padding: .75rem;
  border: 1px solid var(--fd-border, #cbd5e1);
  border-radius: .55rem;
}

.fd-a11y-group legend {
  float: none;
  width: auto;
  margin: 0 0 .35rem;
  padding: 0 .25rem;
  color: var(--fd-ink, #1e293b);
  font: 700 .95rem/1.2 Arial, sans-serif;
}

.fd-a11y-controls {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .45rem;
}

.fd-a11y-button {
  min-height: 42px;
  padding: .5rem .6rem;
  border: 1px solid var(--fd-primary-dark, #475569);
  border-radius: .4rem;
  color: var(--fd-primary-dark, #111827);
  background: var(--fd-surface, #f8fafc);
  font: 700 .9rem/1.2 Arial, sans-serif;
}

.fd-a11y-button:hover,
.fd-a11y-button[aria-pressed="true"],
.fd-a11y-button[aria-checked="true"] {
  color: #fff;
  background: var(--fd-primary-dark, #1e3a8a);
  border-color: var(--fd-primary-dark, #1e3a8a);
}

.fd-a11y-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .45rem;
}

.fd-a11y-options .fd-a11y-button { text-align: left; }
.fd-a11y-reset {
  width: 100%;
  color: #fff;
  background: var(--fd-action, var(--fd-primary-dark, #1e3a8a));
  border-color: var(--fd-action, var(--fd-primary-dark, #1e3a8a));
}

.fd-a11y-status {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html.fd-a11y-font-opendyslexic body,
html.fd-a11y-font-opendyslexic body :where(h1, h2, h3, h4, h5, h6, p, a, button, input, textarea, select, option, label, legend, li, dt, dd, td, th, caption, blockquote, figcaption, small, strong, em) {
  font-family: "OpenDyslexic", Arial, sans-serif !important;
}

html.fd-a11y-font-luciole body,
html.fd-a11y-font-luciole body :where(h1, h2, h3, h4, h5, h6, p, a, button, input, textarea, select, option, label, legend, li, dt, dd, td, th, caption, blockquote, figcaption, small, strong, em) {
  font-family: "Luciole", Arial, sans-serif !important;
}

html.fd-a11y-spacing body :where(p, li, dd, dt, label, input, textarea, select, button, a) {
  letter-spacing: .08em !important;
  word-spacing: .16em !important;
  line-height: 1.75 !important;
}

html.fd-a11y-underline-links body a:not(.btn):not(.nav-link) {
  text-decoration: underline !important;
  text-decoration-thickness: .13em !important;
  text-underline-offset: .16em !important;
}

html.fd-a11y-grayscale body {
  filter: grayscale(100%);
}

html.fd-a11y-stop-animations *,
html.fd-a11y-stop-animations *::before,
html.fd-a11y-stop-animations *::after {
  scroll-behavior: auto !important;
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: .001ms !important;
}

html.fd-a11y-large-cursor body,
html.fd-a11y-large-cursor body * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='white' stroke='black' stroke-width='2' d='M4 2l21 18-10 1 6 8-5 3-6-9-6 7z'/%3E%3C/svg%3E") 4 2, auto !important;
}

html.fd-a11y-high-contrast body {
  color: #fff !important;
  background: #000 !important;
}

html.fd-a11y-high-contrast body :where(main, section, article, aside, header, footer, nav, div, form, table, tr, td, th, ul, ol) {
  color: inherit;
  border-color: #fff !important;
  background-color: #000 !important;
  background-image: none !important;
}

html.fd-a11y-high-contrast body :where(h1, h2, h3, h4, h5, h6, p, span, label, small, strong, em, li, td, th) {
  color: #fff !important;
}

html.fd-a11y-high-contrast body a {
  color: #ffff00 !important;
}

html.fd-a11y-high-contrast body :where(button, .btn, input, textarea, select) {
  color: #fff !important;
  background: #000 !important;
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body #page-container :where(.card, .capture-install-card, .capture-card, details, .note, .message) {
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body #page-container :where(.capture-page-title, .capture-page-title i, .capture-install-heading h2, .capture-install-heading p, .capture-steps li, details summary, details p, .note, .message, .message strong, .message.ok, .message.ok strong, .cover-options, .cover-options legend, .check-option, .check-option strong, .check-option small, .field-help) {
  color: #fff !important;
}

html.fd-a11y-high-contrast body #page-container .cover-options {
  background: #000 !important;
  background-color: #000 !important;
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body #page-container .cover-options code {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border: 1px solid #ffff00 !important;
}

html.fd-a11y-high-contrast body #page-container :where(.source-badge, .connector-badge, .detected-hint) {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border: 2px solid #ffff00 !important;
}

html.fd-a11y-high-contrast body #page-container a.bookmarklet {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border: 2px solid #ffff00 !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body #page-container a.bookmarklet i {
  color: #000 !important;
}

html.fd-a11y-high-contrast body #page-container a.bookmarklet:hover,
html.fd-a11y-high-contrast body #page-container a.bookmarklet:focus-visible {
  color: #ffff00 !important;
  background: #000 !important;
  background-color: #000 !important;
  border-color: #ffff00 !important;
  outline: 3px solid #ffff00 !important;
}

html.fd-a11y-high-contrast body #page-container a.bookmarklet:hover i,
html.fd-a11y-high-contrast body #page-container a.bookmarklet:focus-visible i {
  color: #ffff00 !important;
}

html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg,
html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg > .container-fluid,
html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg .navbar-collapse,
html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg .navbar-nav,
html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg .nav-item,
html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg .dropdown-menu {
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border-color: #fff !important;
}

html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg {
  border-top: 2px solid #fff !important;
  border-bottom: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg :where(.navbar-brand, .nav-link, .dropdown-item) {
  color: #fff !important;
}

html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg :where(.navbar-brand, .nav-link, .dropdown-item):hover,
html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg :where(.navbar-brand, .nav-link, .dropdown-item):focus,
html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg :where(.navselect.active, [aria-current="page"], .front-mode-active) {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg :where(.navselect.active, [aria-current="page"], .front-mode-active) i {
  color: #000 !important;
}

html.fd-a11y-high-contrast body nav.navbar.navbar-expand-lg .navbar-toggler {
  color: #000 !important;
  background: #ffff00 !important;
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body #search-container.page-container :where(button, .btn) {
  color: #ffff00 !important;
  background: #000 !important;
  background-color: #000 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body #search-container.page-container :where(button, .btn) i {
  color: inherit !important;
}

html.fd-a11y-high-contrast body #search-container.page-container :where(button, .btn):not(:disabled):hover,
html.fd-a11y-high-contrast body #search-container.page-container :where(button, .btn):not(:disabled):focus {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border-color: #ffff00 !important;
}

html.fd-a11y-high-contrast body #search-container.page-container :where(button, .btn):disabled {
  color: #fff !important;
  opacity: .72;
}

html.fd-a11y-high-contrast body #search-container.page-container :where(input, textarea)::placeholder {
  color: #fff !important;
  opacity: .8 !important;
}

html.fd-a11y-high-contrast body #carouselContainer #carouselTitle {
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border: 3px solid #fff !important;
  border-left: 6px solid #ffff00 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body #carouselContainer #carouselTitle .carousel-site-name {
  color: #ffff00 !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body #carouselContainer #carouselTitle .carousel-site-subtitle {
  color: #fff !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body #carouselContainer .ecms-user-top {
  color: #fff !important;
  background: #000 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body #carouselContainer .ecms-user-top :where(a, i) {
  color: #ffff00 !important;
}

html.fd-a11y-high-contrast body .detail-page-container h1.mb-4,
html.fd-a11y-high-contrast body .detail-page-container h1.mb-4 .fd-inline-edit {
  color: #fff !important;
  background: transparent !important;
  text-shadow: none !important;
}

html.fd-a11y-high-contrast body .detail-page-container h1.mb-4 i.detail-title-icon {
  color: #ffff00 !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .detail-page-container .detail-share-links {
  gap: .65rem;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .detail-page-container .detail-share-links a {
  display: inline-grid !important;
  place-items: center !important;
  width: 46px;
  height: 46px;
  color: #ffff00 !important;
  background: #000 !important;
  border: 2px solid #fff !important;
  border-radius: 50%;
  box-shadow: none !important;
  transition: none !important;
}

html.fd-a11y-high-contrast body .detail-page-container .detail-share-links a i {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffff00 !important;
  background: transparent !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

html.fd-a11y-high-contrast body .detail-page-container .detail-share-links a i::before {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  line-height: 1 !important;
  text-align: center !important;
}

html.fd-a11y-high-contrast body .detail-page-container .detail-share-links a:hover,
html.fd-a11y-high-contrast body .detail-page-container .detail-share-links a:focus-visible {
  color: #000 !important;
  background: #ffff00 !important;
  border-color: #ffff00 !important;
  outline: 3px solid #fff !important;
  outline-offset: 2px !important;
}

html.fd-a11y-high-contrast body .detail-page-container .detail-share-links a:hover i,
html.fd-a11y-high-contrast body .detail-page-container .detail-share-links a:focus-visible i {
  color: #000 !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .detail-page-container .similaires,
html.fd-a11y-high-contrast body .detail-page-container .similaires .card,
html.fd-a11y-high-contrast body .detail-page-container .similaires .card-body {
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .detail-page-container .similaires > h2,
html.fd-a11y-high-contrast body .detail-page-container .similaires > h2 b {
  color: #fff !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .detail-page-container .similaires > h2 i {
  color: #ffff00 !important;
}

html.fd-a11y-high-contrast body .detail-page-container .similaires .card-title.h2,
html.fd-a11y-high-contrast body .detail-page-container .similaires .card-title.h2 a,
html.fd-a11y-high-contrast body .detail-page-container .similaires .card-title.h2 i {
  color: #ffff00 !important;
  background: transparent !important;
  text-decoration-color: #ffff00 !important;
}

html.fd-a11y-high-contrast body .detail-page-container .similaires .card-text,
html.fd-a11y-high-contrast body .detail-page-container .similaires .text-muted,
html.fd-a11y-high-contrast body .detail-page-container .similaires .card-text :where(span, a) {
  color: #fff !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .detail-page-container .similaires .badge.detail-similar-badge {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border: 1px solid #ffff00 !important;
  text-decoration: none !important;
}

html.fd-a11y-high-contrast body .detail-page-container .similaires .badge.detail-similar-badge:hover,
html.fd-a11y-high-contrast body .detail-page-container .similaires .badge.detail-similar-badge:focus-visible {
  color: #ffff00 !important;
  background: #000 !important;
  background-color: #000 !important;
  border-color: #fff !important;
  outline: 2px solid #ffff00 !important;
  outline-offset: 2px !important;
}

/* Page d'accueil : présentation du fonds ou du catalogue. */
html.fd-a11y-high-contrast body .structure-mode-showcase,
html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-copy,
html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-feature,
html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-item,
html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-item > div {
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase {
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-item {
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-copy h1,
html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-feature strong {
  color: #ffff00 !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-copy p,
html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-feature small {
  color: #fff !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-eyebrow,
html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-feature em {
  color: #ffff00 !important;
  background: #000 !important;
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-actions .btn {
  color: #ffff00 !important;
  background: #000 !important;
  background-color: #000 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-actions .btn:hover,
html.fd-a11y-high-contrast body .structure-mode-showcase .structure-mode-actions .btn:focus-visible,
html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:hover,
html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:focus-visible {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border-color: #ffff00 !important;
  outline: 3px solid #fff !important;
  outline-offset: 2px !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:hover :where(strong, small, em),
html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:focus-visible :where(strong, small, em) {
  color: #000 !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:hover > div,
html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:focus-visible > div {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:hover :where(strong, small),
html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:focus-visible :where(strong, small) {
  color: #000 !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:hover em,
html.fd-a11y-high-contrast body .structure-mode-showcase a.structure-mode-item:focus-visible em {
  color: #ffff00 !important;
  background: #000 !important;
  background-color: #000 !important;
  border-color: #000 !important;
}

/* Page d'accueil : message de présentation. */
html.fd-a11y-high-contrast body .welcome-message {
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border: 2px solid #fff !important;
  border-left: 6px solid #ffff00 !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .welcome-message :where(h1, h2, h3, h4, strong) {
  color: #ffff00 !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .welcome-message :where(p, span, li, em) {
  color: #fff !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .welcome-message a {
  color: #ffff00 !important;
}

/* Page d'accueil : widgets des derniers documents. */
html.fd-a11y-high-contrast body .home-widget,
html.fd-a11y-high-contrast body .home-widget .card-header,
html.fd-a11y-high-contrast body .home-widget .card-header > div,
html.fd-a11y-high-contrast body .home-widget .card-body,
html.fd-a11y-high-contrast body .home-widget .home-item,
html.fd-a11y-high-contrast body .home-widget .home-item > div {
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .home-widget {
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body .home-widget .card-header {
  border-bottom: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body .home-widget .card-header :where(i, strong) {
  color: #ffff00 !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .home-widget .home-title {
  color: #ffff00 !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .home-widget .home-item {
  border-bottom: 1px dashed #fff !important;
}

html.fd-a11y-high-contrast body .home-widget .home-item:last-child {
  border-bottom: 0 !important;
}

html.fd-a11y-high-contrast body .home-widget .text-muted,
html.fd-a11y-high-contrast body .home-widget .text-muted :where(span, i) {
  color: #fff !important;
}

html.fd-a11y-high-contrast body .card.home-widget .text-muted i,
html.fd-a11y-high-contrast body .card.home-widget .text-muted i.fa,
html.fd-a11y-high-contrast body .card.home-widget .text-muted i.fas,
html.fd-a11y-high-contrast body .card.home-widget .text-muted i.fa-solid {
  color: #ffff00 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .home-widget .home-thumb img {
  background: #000 !important;
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body .home-widget :where(.btn-primary, .btn-outline-primary) {
  color: #ffff00 !important;
  background: #000 !important;
  background-color: #000 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .card.home-widget .card-header a.btn.btn-outline-primary,
html.fd-a11y-high-contrast body .card.home-widget .card-header a.btn.btn-outline-primary:visited {
  color: #ffff00 !important;
  background: #000 !important;
  background-color: #000 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .home-widget :where(.btn-primary, .btn-outline-primary):hover,
html.fd-a11y-high-contrast body .home-widget :where(.btn-primary, .btn-outline-primary):focus-visible {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border-color: #ffff00 !important;
}

html.fd-a11y-high-contrast body .card.home-widget .card-header a.btn.btn-outline-primary:hover,
html.fd-a11y-high-contrast body .card.home-widget .card-header a.btn.btn-outline-primary:focus-visible {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border-color: #ffff00 !important;
}

html.fd-a11y-high-contrast .fd-a11y-panel,
html.fd-a11y-high-contrast .fd-a11y-panel * {
  color: #fff !important;
  background: #000 !important;
  border-color: #fff !important;
}

/* Les quatre vues de index.php doivent neutraliser les couleurs du thème et de Bootstrap. */
html.fd-a11y-high-contrast body .result-container,
html.fd-a11y-high-contrast body .result-container .result-item,
html.fd-a11y-high-contrast body .result-container .result-gallery,
html.fd-a11y-high-contrast body .result-container .gallery-item,
html.fd-a11y-high-contrast body .result-container .gallery-body,
html.fd-a11y-high-contrast body .result-container .result-table,
html.fd-a11y-high-contrast body .result-container .result-table :where(thead, tbody, tr, th, td),
html.fd-a11y-high-contrast body .result-container .details-row,
html.fd-a11y-high-contrast body .result-container .result-thumb {
  --bs-table-color: #fff;
  --bs-table-bg: #000;
  --bs-table-border-color: #fff;
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  background-image: none !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .result-container :where(h1, h2, h3, p, span, strong, em, li, .gallery-meta, .gallery-author, i) {
  color: #fff !important;
  background-color: transparent !important;
}

html.fd-a11y-high-contrast body .result-container a,
html.fd-a11y-high-contrast body .result-container a :where(span, strong, em) {
  color: #ffff00 !important;
}

html.fd-a11y-high-contrast body .view-options button,
html.fd-a11y-high-contrast body .pagination .page-link {
  color: #ffff00 !important;
  background: #000 !important;
  border-color: #fff !important;
}

html.fd-a11y-high-contrast body .view-options button i {
  color: inherit !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .pagination .page-item.disabled .page-link {
  color: #fff !important;
  background: #000 !important;
  opacity: .72;
}

html.fd-a11y-high-contrast body .view-options button.active-view,
html.fd-a11y-high-contrast body .view-options button[aria-pressed="true"],
html.fd-a11y-high-contrast body .pagination .page-item.active .page-link,
html.fd-a11y-high-contrast .fd-a11y-panel .fd-a11y-button[aria-pressed="true"],
html.fd-a11y-high-contrast .fd-a11y-panel .fd-a11y-button[aria-checked="true"] {
  color: #000 !important;
  background: #ffff00 !important;
  border-color: #ffff00 !important;
  outline: 2px solid #fff !important;
  outline-offset: 2px !important;
}

html.fd-a11y-high-contrast body .view-options button.active-view i,
html.fd-a11y-high-contrast body .view-options button[aria-pressed="true"] i {
  color: #000 !important;
}

/* Administration : mots-clés de ajout.php et modif.php. */
html.fd-a11y-high-contrast body .keywords-form-group .tag-container {
  gap: .35rem;
  background: transparent !important;
  border: 0 !important;
}

html.fd-a11y-high-contrast body .keywords-form-group .tag {
  color: #000 !important;
  background: #ffff00 !important;
  border: 2px solid #fff !important;
  box-shadow: none !important;
}

html.fd-a11y-high-contrast body .keywords-form-group .tag .remove-btn {
  display: inline-grid;
  place-items: center;
  min-width: 1.5rem;
  min-height: 1.5rem;
  margin-left: .45rem;
  color: #000 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 3px;
}

html.fd-a11y-high-contrast body .keywords-form-group .tag .remove-btn:hover,
html.fd-a11y-high-contrast body .keywords-form-group .tag .remove-btn:focus-visible {
  color: #ffff00 !important;
  background: #000 !important;
  outline: 2px solid #000 !important;
  outline-offset: 1px;
}

/* Plan du site : rubriques et sous-rubriques. */
html.fd-a11y-high-contrast body .sitemap-page .block-title,
html.fd-a11y-high-contrast body .sitemap-page .sublist {
  color: #fff !important;
  background: #000 !important;
  background-color: #000 !important;
  border-color: #fff !important;
}

html.fd-a11y-high-contrast body .sitemap-page .block-title > a,
html.fd-a11y-high-contrast body .sitemap-page .sublist > a {
  color: #ffff00 !important;
  background: #000 !important;
  background-color: #000 !important;
  border: 2px solid #fff !important;
}

html.fd-a11y-high-contrast body .sitemap-page .block-title > a {
  border: 0 !important;
}

html.fd-a11y-high-contrast body .sitemap-page :where(.block-title, .sublist) > a .count {
  color: #fff !important;
  background: transparent !important;
}

html.fd-a11y-high-contrast body .sitemap-page :where(.block-title, .sublist) > a:hover,
html.fd-a11y-high-contrast body .sitemap-page :where(.block-title, .sublist) > a:focus-visible {
  color: #000 !important;
  background: #ffff00 !important;
  background-color: #ffff00 !important;
  border-color: #ffff00 !important;
  outline: 3px solid #fff !important;
  outline-offset: 2px;
}

html.fd-a11y-high-contrast body .sitemap-page :where(.block-title, .sublist) > a:hover .count,
html.fd-a11y-high-contrast body .sitemap-page :where(.block-title, .sublist) > a:focus-visible .count {
  color: #000 !important;
}

@media (max-width: 575.98px) {
  .fd-a11y-launcher span { display: none; }
  .fd-a11y-launcher { width: 52px; justify-content: center; padding: .6rem; }
  .fd-a11y-options { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
