/* =========================================================
   REFERENZEN-SLIDER — Stil der Vite-Version (referenzen.css)
   - Swiper: Bild links, Info-Karte rechts
   - Runde Prev/Next-Buttons, Pagination-Bullets
   ========================================================= */

:root {
  --ref-white: #ffffff;
  --ref-border: oklch(90% 0.010 253);
  --ref-gray: oklch(90% 0.010 253);
  --ref-text-2: oklch(44% 0.015 253);
  --ref-r-lg: 1rem;
  --ref-shadow-md: 0 4px 16px oklch(0% 0 0 / 0.08);
  --ref-shadow-blue: 0 8px 32px oklch(52% 0.18 253 / 0.28);
  --ref-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

.referenzen__swiper {
  width: 100%;
  height: clamp(300px, 42dvh, 460px);
  border-radius: var(--ref-r-lg);
  overflow: hidden;
  margin-top: 24px;
}

.referenzen__slide {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  height: 100% !important;
  width: 100%;
  background: var(--ref-white);
  border-radius: var(--ref-r-lg);
  overflow: hidden;
  border: 1px solid var(--ref-border);
}

.referenzen__img-wrap {
  overflow: hidden;
  background: var(--ref-gray);
}
.referenzen__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--ref-ease);
}
.referenzen__slide:hover .referenzen__img-wrap img { transform: scale(1.05); }

.referenzen__info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.75rem;
  padding: 2rem 2.5rem;
}

.referenzen__label {
  display: inline-block;
  font-size: clamp(0.75rem, 0.5vw + 0.65rem, 0.875rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--v-blue-500, oklch(52% 0.18 253));
}

.referenzen__info h3 {
  margin: 0;
  font-size: clamp(1.25rem, 2vw + 0.875rem, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.01em;
}

.referenzen__info p {
  margin: 0;
  max-width: none;
  color: var(--ref-text-2);
  line-height: 1.7;
}

/* ─ Swiper Overrides ─ */
.referenzen__swiper .swiper-button-prev,
.referenzen__swiper .swiper-button-next {
  color: var(--v-blue-500, oklch(52% 0.18 253));
  background: var(--ref-white);
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  box-shadow: var(--ref-shadow-md);
  transition: background 150ms var(--ref-ease), color 150ms var(--ref-ease), box-shadow 150ms var(--ref-ease);
}
.referenzen__swiper .swiper-button-prev:hover,
.referenzen__swiper .swiper-button-next:hover {
  background: var(--v-blue-500, oklch(52% 0.18 253));
  color: var(--ref-white);
  box-shadow: var(--ref-shadow-blue);
}
.referenzen__swiper .swiper-button-prev::after,
.referenzen__swiper .swiper-button-next::after { font-size: 0.85rem; font-weight: 800; }

.referenzen__swiper .swiper-pagination-bullet-active {
  background: var(--v-blue-500, oklch(52% 0.18 253));
}

/* ─ Responsive ─ */
@media (max-width: 720px) {
  .referenzen__swiper { height: auto; }

  .referenzen__slide {
    grid-template-columns: 1fr;
    grid-template-rows: 220px auto;
  }

  .referenzen__info { padding: 1.5rem 1.25rem 2.5rem; }

  /* Pfeile auf das Bild (Mitte der 220px-Reihe) statt mitten in den Text */
  .referenzen__swiper .swiper-button-prev,
  .referenzen__swiper .swiper-button-next {
    top: 110px;
    margin-top: 0;
    transform: translateY(-50%);
    width: 2.5rem;
    height: 2.5rem;
  }
  .referenzen__swiper .swiper-button-prev { left: 0.75rem; }
  .referenzen__swiper .swiper-button-next { right: 0.75rem; }
}
