/* Pakketreis V3.2. Each arrival animates ONCE; hover runs independently with 0 delay. */
:root { --pr32-in-ease: cubic-bezier(.2, .8, .2, 1); --pr32-hover-ease: cubic-bezier(.2, .72, .2, 1); }
/* Reset inherited reveal/hover transition-delay from V1/V3 for all motion candidates. */
body.pr-v3 .pr-motion-item,
body.pr-v3 #main-content .pr-motion-item,
body.pr-v3 #diensten .usp-card.pr-motion-item,
body.pr-v3 #afterservice .usp-card.pr-motion-item,
body.pr-v3 #voor-wie .grid > a.pr-motion-item,
body.pr-v3 .pr-motion-item:is(.reveal,.reveal-card,.reveal-feature,.reveal-fade) {
  transition-delay: 0ms !important;
}
/* Old reveal classes must not hide content while JS is loading or disabled. */
body.pr-v3 :is(.reveal,.reveal-fade,.reveal-card,.reveal-feature):not(.pr-motion-item) {
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  transition-delay:0ms !important;
}
html.pr-v32-motion-ready body.pr-v3 .pr-motion-item {
  opacity:1;
  filter:none;
  translate:0 0;
}
html.pr-v32-motion-ready body.pr-v3 .pr-motion-item:not(.pr-entered) {
  opacity:0;
  translate:0 24px;
}
html.pr-v32-motion-ready body.pr-v3 .pr-motion-item.pr-entered:not(.pr-enter-complete) {
  animation: pr32-enter .82s var(--pr32-in-ease) both !important;
  animation-delay:var(--pr-enter-delay,0ms) !important;
}
html.pr-v32-motion-ready body.pr-v3 .pr-motion-item.pr-enter-complete {
  opacity:1 !important;
  translate:0 0;
  filter:none !important;
  animation:none !important;
  transition-delay:0ms !important;
}
@keyframes pr32-enter {
  from { opacity:0; translate:0 24px; filter:blur(2px); }
  to   { opacity:1; translate:0 0; filter:blur(0); }
}
/* Never let an inherited transform animation override an individual card's hover. */
@media (hover:hover) {
  body.pr-v3 #main-content :is(.usp-card,.glass-card,.pr-v3-card, .reveal-card, .reveal-feature, a.reveal-fade) {
    transition: translate .38s var(--pr32-hover-ease), transform .38s var(--pr32-hover-ease),
      box-shadow .38s var(--pr32-hover-ease), border-color .30s ease,
      background-color .30s ease, filter .32s ease !important;
    transition-delay:0ms !important;
  }
  body.pr-v3 #main-content :is(.usp-card,.glass-card,.pr-v3-card, .reveal-card, .reveal-feature, a.reveal-fade).pr-enter-complete:hover {
    translate:0 -6px !important;
    transition-delay:0ms !important;
  }
  body.pr-v3 #diensten .usp-card.pr-enter-complete:hover { transform:none !important; }
  body.pr-v3 :is(.header-nav-link, footer a, #mobile-menu .drawer-link) {
    transition: color .3s ease, opacity .3s ease, translate .32s var(--pr32-hover-ease),
      background-color .3s ease, box-shadow .32s ease, border-color .3s ease !important;
    transition-delay:0ms !important;
  }
  body.pr-v3 footer a:hover { translate:3px 0; }
  body.pr-v3 #main-header .header-nav-link:hover { translate:0 -2px; }
}
/* Nav/footer introductions; keep layout & hitboxes unchanged. */
body.pr-v3 footer .grid > div { align-self:start; }
body.pr-v3 #main-header .header-nav-link { will-change:auto; }
/* Exactly one GTranslate float on screen. Any plugin-injected secondary float is
   suppressed even if the plugin originally placed it outside our toolbar. */
body.pr-v3 .pr-gt-duplicate,
body.pr-v3 .pr-gt-duplicate * { display:none !important; visibility:hidden !important; pointer-events:none !important; }
body.pr-v3:has(.floating-actions__translate .gt_float_switcher)
  #gt_float_wrapper:not(.floating-actions #gt_float_wrapper) { display:none !important; }
body.pr-v3:has(.floating-actions__translate .gt_float_switcher)
  .gt_float_switcher:not(.floating-actions .gt_float_switcher) { display:none !important; }
/* Make the two floating controls share one exact baseline and box height. */
body.pr-v3 .floating-actions {
  align-items:center !important;
  gap:clamp(12px,2vw,16px) !important;
}
body.pr-v3 .floating-actions__translate,
body.pr-v3 .floating-actions__translate > .gtranslate_wrapper,
body.pr-v3 .floating-actions #gt_float_wrapper {
  margin:0 !important;
  padding:0 !important;
  line-height:normal;
  align-self:center;
}
body.pr-v3 .floating-actions .gt_float_switcher,
body.pr-v3 .floating-actions .whatsapp-float {
  height:var(--pr-float-size) !important;
  min-height:var(--pr-float-size) !important;
  box-sizing:border-box !important;
  align-self:center;
  margin:0 !important;
  transition-delay:0ms !important;
}
body.pr-v3 .floating-actions .gt_float_switcher .gt-selected,
body.pr-v3 .floating-actions .gt_float_switcher .gt-current-lang {
  height:var(--pr-float-size);
  min-height:var(--pr-float-size);
  box-sizing:border-box;
}
body.pr-v3 .floating-actions .gt_float_switcher .gt_options {
  position:absolute;
  bottom:calc(100% + 8px);
  left:0;
  right:0;
  z-index:10;
  border-radius:14px !important;
  box-shadow:0 12px 30px rgba(0,35,42,.19);
  overflow:auto;
}
/* The GTranslate plugin owns gt_options visibility and language change logic. */
@media (max-width:767px) {
  body.pr-v3 .floating-actions { gap:14px !important; }
  body.pr-v3 .floating-actions .gt_float_switcher .gt-current-lang { padding-inline:10px !important; }
}
@media (prefers-reduced-motion:reduce) {
  html.pr-v32-motion-ready body.pr-v3 .pr-motion-item,
  html.pr-v32-motion-ready body.pr-v3 .pr-motion-item:not(.pr-entered) {
    animation:none !important; opacity:1 !important; filter:none !important; translate:0 0 !important;
  }
  body.pr-v3 :is(.pr-motion-item,.pr-motion-item:hover) { transition:none !important; }
}
/* Important: the plugin's language list opens ABOVE its selected control.
   Older V3.1 used overflow:hidden on the switcher, which clipped this popup. */
body.pr-v3 .floating-actions .gt_float_switcher { overflow:visible !important; }
body.pr-v3 .floating-actions .gt_float_switcher .gt-selected { overflow:hidden; border-radius:inherit !important; }
