body.no-animation * {
  -webkit-animation: none !important;
          animation: none !important;
  -webkit-transition: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

body.no-animation a:hover img {
  -webkit-transform: none !important;
          transform: none !important;
  -webkit-transition: none !important;
  transition: none !important;
}

.no-animation .field--type-image {
  -webkit-transform: unset !important;
          transform: unset !important;
}

/* === WRAPPER & BOUTON === */
.a11y-widget-wrapper {
  -ms-flex-line-pack: center;
      align-content: center;
  position: relative;
}

.a11y-widget-button {
  background-color: transparent;
  border: none;
  cursor: pointer;
}

.a11y-widget-button .fa-universal-access {
  padding: 0.74rem;
}

header.bg-scheme-14:not(.header--mini)
  .a11y-widget-button
  .fa-universal-access {
  color: #fff;
}

/* === MODALE === */
.a11y-widget-modal {
  display: none;
  position: absolute;
  z-index: 1000;
  background: white;
  border: 1px solid #ccc;
  top: 95%;
  left: 170px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-box-shadow: 0 2px 10px rgb(0 0 0 / 20%);
          box-shadow: 0 2px 10px rgb(0 0 0 / 20%);
}

.a11y-widget-modal.open {
  display: block;
  width: 300px;
}

/* === HEADER DE LA MODALE === */
.a11y-widget-modal-header {
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #000;
  background-color: #e4dfdf;
  font-size: 1rem;
}

.a11y-widget-modal-title {
  font-weight: bold;
}

.a11y-widget-modal-close {
  background: none;
  border: none;
  font-size: 1.5em;
  color: #000;
  cursor: pointer;
  padding: 0.25rem 0.7rem;
}

/* === CONTENU DE LA MODALE === */
.a11y-widget-modal-content {
  padding: 1rem;
  font-size: 1rem;
}

/* === TOGGLE DRAGET ACCESSIBLE === */
.a11y-toggle-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 1rem;
  font-size: 1rem;
  gap: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

.a11y-switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 26px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.a11y-switch input:focus + .slider {
  -webkit-box-shadow: 0 0 0 3px rgb(33 150 243 / 99%);
          box-shadow: 0 0 0 3px rgb(33 150 243 / 99%);
}

.a11y-switch input {
  position: absolute;
  opacity: 0;
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.a11y-switch input + .slider {
  background-color: #2196f3; /* bleu actionnable */
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/* Slider actif (coche) */
.a11y-switch input:checked + .slider {
  background-color: #1976d2; /* bleu un peu plus foncé */
}

/* Slider désactivé (système) */
.a11y-switch input:disabled + .slider {
  background-color: #5f99b7; /* bleu/gris atténué */
  cursor: not-allowed;
  opacity: 0.7;
}

.a11y-switch .slider {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  background-color: #ccc;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 34px;
  top: 0;
  left: 0;
}

.a11y-switch .slider::before {
  position: absolute;
  content: '';
  height: 20px;
  width: 20px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

.a11y-switch input:checked + .slider::before {
  -webkit-transform: translateX(24px);
          transform: translateX(24px);
}

.system-enforced {
  font-size: 0.675rem;
  color: #666;
  font-style: italic;
  margin-left: 0.5em;
}

@media screen and (max-width: 1100px) {
  .a11y-widget-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .a11y-widget-wrapper .a11y-widget-modal.open {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-transform: none;
            transform: none;
    border-radius: 0;
    -webkit-box-shadow: 0 2px 10px rgb(0 0 0 / 30%);
            box-shadow: 0 2px 10px rgb(0 0 0 / 30%);
    z-index: 1000;
  }

  .a11y-widget-button .fa-universal-access {
    padding: unset;
  }
}
