/* MeerwerkPro 5.6 — toegankelijke, schaalbare bewegingslaag.
 * Inhoud blijft zichtbaar wanneer JS, IntersectionObserver of animaties ontbreken.
 * Gebruik uitsluitend transform/opacity voor scrollintroducties; geen layout-shift.
 */
body.mwp-motion-subtle{--mwp-motion-time:280ms;--mwp-motion-distance:16px;--mwp-motion-ease:cubic-bezier(.2,.7,.2,1)}
body.mwp-motion-lively{--mwp-motion-time:430ms;--mwp-motion-distance:24px;--mwp-motion-ease:cubic-bezier(.16,1,.3,1)}
body.mwp-motion-off{--mwp-motion-time:0ms;--mwp-motion-distance:0px}

/* Alleen JS markeert echte, nog niet zichtbare secties als reveal. */
body:not(.mwp-motion-off) .mwp56-reveal{
  opacity:0;transform:translate3d(0,var(--mwp-motion-distance,16px),0);
  transition:opacity 620ms var(--mwp-motion-ease,ease),transform 620ms var(--mwp-motion-ease,ease);
  transition-delay:var(--mwp56-delay,0ms);
}
body:not(.mwp-motion-off) .mwp56-reveal.mwp56-visible{opacity:1;transform:none}
body.mwp-motion-subtle .mwp56-reveal{transition-duration:510ms}
body.mwp-motion-lively .mwp56-reveal{transition-duration:760ms}

/* Premium hero inlopen: alleen op publieke homepage, nooit in betaal-/inlogformulieren. */
body:not(.mwp-motion-off) .home-hero .hero-copy{animation:mwp56-fade-up .75s var(--mwp-motion-ease,ease) both}
body:not(.mwp-motion-off) .home-hero .hero-visual{animation:mwp56-fade-up .9s .14s var(--mwp-motion-ease,ease) both}
@keyframes mwp56-fade-up{from{opacity:.02;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}

/* Alle CTA's, ook buiten homepage: compacte hover zonder knopafmeting te veranderen. */
@media(hover:hover) and (pointer:fine){
  body:not(.mwp-motion-off) :is(.mwp-button,.mwp54-text-link,.header-login){transition:transform var(--mwp-motion-time,280ms) var(--mwp-motion-ease,ease),box-shadow var(--mwp-motion-time,280ms) ease,background-color .23s ease,color .23s ease}
  body:not(.mwp-motion-off) :is(.mwp-button,.mwp54-text-link):hover{transform:translate3d(0,-2px,0)}
  body:not(.mwp-motion-off) .mwp-button:hover{box-shadow:0 12px 24px #13495626}
  body:not(.mwp-motion-off) :is(.mwp-phase-card,.mwp-journey-feature,.features-grid>article,.mwp54-feature-grid article,.mwp54-step-grid article,.mwp54-two-phases>div,.mwp55-trust-grid article,.mwp55-review-card,.mwp-price-card,.mwp54-old-work,.mwp54-home-story-art,.mwp54-neighbor-story,.mwp-b2b-band){transition:transform var(--mwp-motion-time,280ms) var(--mwp-motion-ease,ease),box-shadow var(--mwp-motion-time,280ms) ease,border-color .24s ease}
  body:not(.mwp-motion-off) :is(.mwp-phase-card,.mwp-journey-feature,.features-grid>article,.mwp54-feature-grid article,.mwp54-step-grid article,.mwp54-two-phases>div,.mwp55-trust-grid article,.mwp55-review-card,.mwp-price-card):hover{transform:translate3d(0,-4px,0);box-shadow:0 18px 40px #0b344019;border-color:#b3dcd3}
  body:not(.mwp-motion-off) .mwp54-home-story-art:hover{box-shadow:0 19px 40px #174c4f18;transform:translate3d(0,-3px,0)}
  body:not(.mwp-motion-off) .mwp54-feature-grid article:hover .mwp54-icon{transform:rotate(-5deg) scale(1.06)}
}
body:not(.mwp-motion-off) .mwp54-icon{transition:transform .3s var(--mwp-motion-ease,ease)}

/* FAQ's bewaren native <details> gedrag; animatie alleen op inhoud na openen. */
body:not(.mwp-motion-off) :is(.mwp54-how-faq,.mwp-faq-section,.mwp55-faq) details[open] > :not(summary){animation:mwp56-answer .28s ease-out both}
@keyframes mwp56-answer{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* Rustig voortgangsbalkje, geen overlay in het dossier en geen tekst die springt. */
.mwp56-reading-progress{position:fixed;inset:0 auto auto 0;width:0;height:3px;background:linear-gradient(90deg,#1b887f,#5fe6d2);z-index:10020;pointer-events:none;box-shadow:0 1px 9px #18bca34d;transition:width .12s linear}
body.admin-bar .mwp56-reading-progress{top:32px}
@media(max-width:782px){body.admin-bar .mwp56-reading-progress{top:46px}}

/* Subtiel, gecontroleerd headeraccent. */
body:not(.mwp-motion-off) .site-header{transition:box-shadow .25s ease,border-color .25s ease}
body:not(.mwp-motion-off).mwp56-scrolled .site-header{box-shadow:0 12px 28px rgba(12,45,60,.09);border-bottom-color:#d9eae6}

/* Portalen: géén reveal of animaties op bedragen, formulieren, dialogs of tabeldata. */
@media(hover:hover) and (pointer:fine){
  body:not(.mwp-motion-off):not(.mwp-motion-portal-disabled) .mwp-app :is(button,.mwp-card,.mwp-panel):not(:disabled):not([aria-disabled="true"]){transition:box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
  body:not(.mwp-motion-off):not(.mwp-motion-portal-disabled) .mwp-app :is(button,.mwp-card,.mwp-panel):not(:disabled):not([aria-disabled="true"]):hover{box-shadow:0 5px 16px rgba(14,58,69,.12)}
}

/* Beperkte duur/intensiteit op telefoons en trage apparaten. */
@media(max-width:780px){
  body:not(.mwp-motion-off) .mwp56-reveal{transition-duration:390ms;transition-delay:0ms}
  body:not(.mwp-motion-off) .home-hero .hero-visual{animation-duration:.65s}
}
@media(prefers-reduced-motion:reduce){
  body .mwp56-reveal{opacity:1!important;transform:none!important;transition:none!important}
  body :is(.home-hero .hero-copy,.home-hero .hero-visual,.mwp54-how-faq details[open] > :not(summary),.mwp-faq-section details[open] > :not(summary)){animation:none!important}
  body .mwp56-reading-progress{display:none!important}
  body .site-header{transition:none!important}
  body :is(.mwp-button,.mwp54-text-link,.mwp-phase-card,.mwp-price-card,.mwp-app button){transition:none!important;transform:none!important}
}

/* De globale uitschakelaar onderdrukt alleen de decoratieve theme-animaties. */
body.mwp-motion-off :is(.site-header .primary-nav a,.site-header .mwp-navigation-list a,.mwp-button,.mwp54-text-link,.mwp54-feature-grid article,.mwp-price-card,.mwp-app button){animation:none!important;transition:none!important;transform:none!important}
