/* ============================================================
   MILLIANA STUDIO - toegankelijkheids- en contrastcorrecties
   Wordt na de hoofd-stylesheet geladen, overschrijft dus bewust.
   ============================================================ */

/* Footer-tekst had te weinig contrast (WCAG AA) */
footer .text-white\/40,
footer .text-white\/30,
footer .text-white\/50 {
  color: rgba(255, 255, 255, 0.82) !important;
}
footer .text-white\/60,
footer .text-white\/70 {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Links in de footer moeten niet alleen op kleur te onderscheiden zijn */
footer a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
footer a:hover,
footer a:focus-visible {
  text-decoration-thickness: 2px;
}

/* Duidelijke focusindicator voor toetsenbordgebruikers */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #7b142c;
  outline-offset: 2px;
}

/* ---- v10: overloop op mobiel voorkomen ----------------------------
   In het afreken-venster liep de kortingscode-knop ("TOEPASSEN")
   buiten het scherm, omdat een flex-item standaard niet kleiner mag
   worden dan zijn inhoud. */
#root input,
#root select,
#root textarea {
  min-width: 0;
  max-width: 100%;
}
#ms-pay-fallback a:focus-visible {
  outline: 3px solid #c9a96e;
  outline-offset: 2px;
}

/* ---- v15: rust voor GPU en accu -----------------------------------
   Buiten beeld, op de achtergrond of op lichtere toestellen zetten we
   de zware effecten uit. Het uiterlijk in beeld blijft hetzelfde. */
.ms-offscreen,
.ms-paused * {
  animation-play-state: paused !important;
}
.ms-offscreen {
  content-visibility: auto;
  contain-intrinsic-size: auto 600px;
}
html.ms-light *,
html.ms-light *::before,
html.ms-light *::after {
  animation-duration: 0.001s !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.12s !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html.ms-light [class*="blur-"] {
  filter: none !important;
}
/* Browser hoeft geen extra lagen aan te maken na de animatie */
[class*="animate-"] {
  will-change: auto;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001s !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.12s !important;
    scroll-behavior: auto !important;
  }
}
