/* Fallback-Grid (immer vorhanden) */

.partnerbox {
  margin-bottom: 0px;
}

.partner-grid {
  --gap: 40px;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap);
}
@media (min-width: 768px) { .partner-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px){ .partner-grid { grid-template-columns: repeat(4, 1fr); } }

.partner-col { min-width: 0; }

/* Carousel nur bei >4 Partnern */
.partner-carousel {
  --gap: 40px;
  position: relative;
  /* overflow-x: auto;  <- RAUS */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.partner-carousel::-webkit-scrollbar { display: none; }

.partner-track {
  display: flex;
  gap: var(--gap);
  /* NEU: Scrollcontainer ist der Track */
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.partner-track::-webkit-scrollbar { display: none; } /* optional */
.partner-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
}
@media (min-width: 768px)  { .partner-slide { flex-basis: calc((100% - var(--gap)) / 2); } }
@media (min-width: 1024px) { .partner-slide { flex-basis: calc((100% - (var(--gap) * 3)) / 4); } }

/* Navigation */
.partner-nav {
  position: absolute;
  bottom: -70px;
  transform: translateY(-50%);
  z-index: 5;
  background: var(--dark-1);
  border-radius: 9999px;
  border: 0px;
  width: auto; height: 40px;
  line-height: 0px; text-align: center;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease;
}
.partner-nav:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); transform: translateY(-50%) scale(1.05); }
.partner-prev { left: -8px; display: none; }
.partner-next { right: -8px; display: none; }

@media (min-width: 1200px) {
  .partner-prev { left: -16px; display: inline-block; }
  .partner-next { right: -16px; display: inline-block; }
}

.marginbottommarker {
 display: none;
 margin-bottom: 40px;
}

@media (min-width: 1200px) {
  .marginbottommarker {
    display: inline-block; 
  }
}

/* Karte – an euer Theme angelehnt (dark card, 4px Radius) */
.partner-card {
  height: 100%;
  display: grid;
  gap: 10px;
  padding: 20px 30px;
  border-radius: 4px;
  background: var(--dark-1);
  color: var(--bright);
}
.partner-logo {
  display: grid; place-items: center;
  height: 100px; padding: 0px;
}
.partner-logo img {
  max-height: 190px; max-width: 100%; object-fit: contain; border-radius: 0;
}
.partner-name { margin: 4px 0 0; font-weight: 900; }
.partner-desc { margin: 0; color: var(--greytext); }
.partner-link a { margin-top: 6px; font-weight: 900; text-decoration: none;  }
.partner-link a:hover { color: white; }

/* Intro-Abstand passend kurz halten */
.partner-intro { margin-bottom: 16px; }
