/* Cross-document view transitions (CSS View Transitions Module Level 2)
   Progressive enhancement — Chrome 126+, Safari 18.2+.
   IMPORTANT: @view-transition { navigation: auto } lives inline in each
   page <head> — Chrome may skip transitions if it only exists here. */

@media (prefers-reduced-motion: no-preference) {
  ::view-transition-group(root) {
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }

  ::view-transition-old(root) {
    animation: vt-page-out 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  ::view-transition-new(root) {
    animation: vt-page-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
  }

  ::view-transition-group(site-header),
  ::view-transition-group(site-footer) {
    animation-duration: 0.4s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }

  ::view-transition-old(site-header),
  ::view-transition-new(site-header),
  ::view-transition-old(site-footer),
  ::view-transition-new(site-footer) {
    animation: none;
  }

  ::view-transition-group(solution-freizeit),
  ::view-transition-group(solution-pakete),
  ::view-transition-group(solution-gutscheine),
  ::view-transition-group(solution-festzelte),
  ::view-transition-group(solution-gastronomie),
  ::view-transition-group(solution-einlass),
  ::view-transition-group(solution-kiosk),
  ::view-transition-group(solution-funktionen),
  ::view-transition-group(solution-assistent) {
    animation-duration: 0.45s;
    animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }
}

@keyframes vt-page-out {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(0.985);
  }
}

@keyframes vt-page-in {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.site-header {
  view-transition-name: site-header;
}

.site-footer {
  view-transition-name: site-footer;
}

.vt-solution-freizeit {
  view-transition-name: solution-freizeit;
}

.vt-solution-pakete {
  view-transition-name: solution-pakete;
}

.vt-solution-gutscheine {
  view-transition-name: solution-gutscheine;
}

.vt-solution-festzelte {
  view-transition-name: solution-festzelte;
}

.vt-solution-gastronomie {
  view-transition-name: solution-gastronomie;
}

.vt-solution-einlass {
  view-transition-name: solution-einlass;
}

.vt-solution-kiosk {
  view-transition-name: solution-kiosk;
}

.vt-solution-funktionen {
  view-transition-name: solution-funktionen;
}

.vt-solution-assistent {
  view-transition-name: solution-assistent;
}
