/* Pemsler – Startseite Effekte
   Scroll-Reveal- und Hover-Animationen, nur auf der Elementor-Startseite aktiv. */

@media (prefers-reduced-motion: no-preference) {

  .pemsler-fx {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .7s cubic-bezier(.22,.61,.36,1),
                transform .7s cubic-bezier(.22,.61,.36,1);
    transition-delay: calc(var(--pemsler-i, 0) * 70ms);
  }

  .pemsler-fx.pemsler-in-view {
    opacity: 1;
    transform: translateY(0);
  }

  /* Bilder: sanftes Zoomen bei Hover */
  .elementor-widget-image img,
  .elementor-widget-icon-box .elementor-icon-box-wrapper,
  [class*="card"] img,
  [class*="service"] img,
  [class*="tile"] img {
    transition: transform .4s ease, box-shadow .4s ease;
  }
  .elementor-widget-image:hover img {
    transform: scale(1.04);
  }

  /* Icon-Boxen / Karten: leichtes Anheben bei Hover */
  .elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
  [class*="card"]:hover,
  [class*="service"]:hover,
  [class*="tile"]:hover {
    transform: translateY(-6px);
  }

  /* Buttons: anheben + Schatten bei Hover */
  .elementor-button,
  .elementor-button-link,
  .button,
  .btn {
    transition: transform .3s ease, box-shadow .3s ease;
  }
  .elementor-button:hover,
  .elementor-button-link:hover,
  .button:hover,
  .btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
  }
}

/* Nutzer mit "reduzierte Bewegung" bekommen sofort den Endzustand ohne Animation */
@media (prefers-reduced-motion: reduce) {
  .pemsler-fx {
    opacity: 1 !important;
    transform: none !important;
  }
}
