/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
  position: relative;
}
.flickity-enabled:focus {
  outline: 0;
}

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab;
}
.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

/* ===== Buttons & Dots: konsolidierte UI (Projekt-Overrides) ===== */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}
.flickity-button:hover {
  background: #fff;
  cursor: pointer;
}
.flickity-button:focus {
  outline: 0;
}
.flickity-button:active {
  opacity: 0.6;
}
.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  pointer-events: none;
}
.flickity-button-icon {
  fill: currentColor;
}

/* Prev/Next Buttons – projektweite Optik/Größe/Position */
.flickity-prev-next-button {
  position: absolute;
  top: 50%;
  width: 56px;
  height: 56px;
  border-radius: 9999px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  border: 2px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(2px);
  transform: translateY(-50%);
  transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
  z-index: 2;
}
.flickity-prev-next-button:hover {
  background: rgba(0, 0, 0, 0.78);
  border-color: rgba(255, 255, 255, 0.9);
}
.flickity-prev-next-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.6);
}
.flickity-prev-next-button.previous {
  left: 3rem;
}
.flickity-prev-next-button.next {
  right: 3rem;
}

.flickity-button-icon {
  position: relative;
}
.flickity-prev-next-button .flickity-button-icon {
  width: 60%;
  height: 60%;
  top: 4%;
  left: 0%;
}

.flickity-prev-next-button:hover {
  transform: translateY(-50%) scale(1.1);
}

/* Page Dots – größer & kontrastreich */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: 0.75rem;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}
.flickity-rtl .flickity-page-dots {
  direction: rtl;
}

.flickity-page-dots .dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 6px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 50%;
  opacity: 1; /* wir steuern Kontrast über Farbe, nicht über Opacity */
  cursor: pointer;
}
.flickity-page-dots .dot.is-selected {
  background: #fff;
}

/* Deutlicher Tastaturfokus für Dots (zusätzlich) */
.flickity-page-dots .dot:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.6);
}

/* ===== Mobile (vereinheitlicht auf 899px) ===== */
@media (max-width: 899px) {
  .flickity-prev-next-button.previous {
    left: 0.75rem;
  }
  .flickity-prev-next-button.next {
    right: 0.75rem;
  }
}

/* ===== Extra Small Screens (<= 500px) ===== */
@media (max-width: 500px) {
  /* Prev/Next Buttons kleiner */
  .flickity-prev-next-button {
    width: 44px;
    height: 44px;
  }
  .flickity-prev-next-button.previous {
    left: 0.5rem;
  }
  .flickity-prev-next-button.next {
    right: 0.5rem;
  }

  /* Pfeil-Icon innen anpassen */
  .flickity-prev-next-button .flickity-button-icon {
    width: 55%;
    height: 55%;
  }

  /* Page Dots kleiner & dichter */
  .flickity-page-dots .dot {
    width: 8px;
    height: 8px;
    margin: 0 4px;
  }
}

/* ===== Very Small Screens (<= 375px) ===== */
@media (max-width: 375px) {
  .flickity-prev-next-button {
    width: 38px;
    height: 38px;
  }
  .flickity-prev-next-button.previous {
    left: 0.4rem;
  }
  .flickity-prev-next-button.next {
    right: 0.4rem;
  }

  .flickity-prev-next-button .flickity-button-icon {
    width: 52%;
    height: 52%;
  }

  .flickity-page-dots .dot {
    width: 6px;
    height: 6px;
    margin: 0 3px;
  }
}
