/* ========================================
   Main Partners - 2-Row Infinite Marquee
   ======================================== */

.main-partners {
  background-color: var(--color-white);
  padding: var(--space-4xl) 0;
  overflow: hidden;
}

.main-partners + .main-partners {
  padding-top: 0;
}

.main-partners__layout {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xl);
}

.main-partners__heading {
  padding: 0 var(--space-lg);
  text-align: center;
}

.main-partners__rows {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xl);
}

.main-partners__track-wrap {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 10%, black 90%, transparent 100%);
}

.main-partners__track {
  display: flex;
  gap: var(--space-2xl);
  width: max-content;
}

.main-partners__track--left {
  animation: partnersScrollLeft 80s linear infinite;
}

.main-partners__track--right {
  animation: partnersScrollRight 80s linear infinite;
}

.main-partners__track--row3 {
  animation: partnersScrollLeft 90s linear infinite;
}

@keyframes partnersScrollLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

@keyframes partnersScrollRight {
  0% {
    transform: translateX(-50%);
  }
  100% {
    transform: translateX(0);
  }
}

.main-partners__item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 120px;
  height: 55px;
  background: transparent;
  padding: 0;
}

.main-partners__item img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: 0.5;
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.main-partners__item:hover img {
  filter: grayscale(0%);
  opacity: 1;
}

/* Tablet */
@media (min-width: 768px) {
  .main-partners {
    padding: var(--space-5xl) 0;
  }

  .main-partners__heading {
    padding: 0 var(--space-2xl);
  }

  .main-partners__rows {
    gap: var(--space-xl);
  }

  .main-partners__item {
    width: 145px;
    height: 65px;
  }

  .main-partners__track {
    gap: var(--space-3xl);
  }
}

/* Desktop: 좌측 텍스트 + 우측 로고 2-column */
@media (min-width: 1024px) {
  .main-partners {
    padding: var(--space-section) 0;
  }

  .main-partners__layout {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--space-3xl);
    padding-left: max(var(--space-2xl), calc((100% - var(--max-width)) / 2));
    padding-right: 0;
  }

  .main-partners__heading {
    flex: 0 0 auto;
    width: 30%;
    max-width: 420px;
    padding: 0;
    text-align: left;
  }

  .main-partners__rows {
    flex: 1 1 auto;
    min-width: 0;
    gap: var(--space-xl);
  }

  .main-partners__item {
    width: 170px;
    height: 70px;
  }

  .main-partners__track {
    gap: var(--space-4xl);
  }
}
