/* ==========================================================================
   Slider01-style.css - FINALE, ROBUSTE VERSION
   Die Regeln gelten nur für Slider, die vom Skript die Klasse '.slider01-initialized' erhalten.
   Dies verhindert Konflikte mit anderen Bibliotheken.
   Stand: 19.09.2025
   ========================================================================== */

.slider01-initialized {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.slider01-initialized .slider-container {
  position: relative;
  height: 100%;
}

/* --- Spezifische Stile fuer den "slide"-Effekt --- */
.slider01-initialized[data-effect="slide"] .slider-container,
.slider01-initialized:not([data-effect]) .slider-container {
  display: flex;
  transition: transform 0.5s ease-in-out;
}

.slider01-initialized[data-effect="slide"] .slide,
.slider01-initialized:not([data-effect]) .slide {
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
}

/* --- Spezifische Stile fuer den "fade"-Effekt --- */
.slider01-initialized[data-effect="fade"] .slider-container {
  background-color: #000;
}

.slider01-initialized[data-effect="fade"] .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 1;
  transition: opacity 1.0s ease-in-out;
}

.slider01-initialized[data-effect="fade"] .slide.is-active {
  opacity: 1;
  z-index: 2;
}

/* --- Allgemeine Stile (gelten fuer alle Effekte) --- */
.slider01-initialized .slide img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ===== Titel-Animation ===== */
.slider01-initialized .slide-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 5;
  padding: 1rem 1.5rem;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  transition-delay: 0.3s;
}

.slider01-initialized .slide.is-active .slide-content {
  opacity: 1;
  transform: translateY(0);
}

.slider01-initialized .slide-title {
  margin: 0;
  font-size: 2rem;
  color: #ffffff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}


@media screen and (max-width: 959px) {
  .slider01-initialized .slide-title {
    font-size: 1rem;
  }
}

/* ===== Navigations-Buttons ===== */
.slider01-initialized .prev,
.slider01-initialized .next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.4);
  color: #ffffff;
  border: none;
  cursor: pointer;
  padding: 1rem;
  font-size: 1.5rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
}

.slider01-initialized:hover .prev,
.slider01-initialized:hover .next {
  opacity: 1;
  pointer-events: auto;
}

.slider01-initialized .prev { left: 10px; }
.slider01-initialized .next { right: 10px; }