/* ==============================================================================
   MakarenaLabs - Partners Widget Component Styles
   ============================================================================== */

partners-widget {
  display: block;
  width: 100%;
}

.partner-section {
  background: transparent;
  box-sizing: border-box;
  width: calc(100% - 48px);
  max-width: 1312px;
  margin: 0 auto 34px;
  padding: 16px 40px 32px;
  box-shadow: none;
  border: 0;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  overflow: hidden;
}

.partner-marquee {
  overflow: hidden;
  margin: 0 -40px;
  padding: 16px 0;
  mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}

.partner-track {
  display: flex;
  width: max-content;
  animation: partners-scroll 65s linear infinite;
  will-change: transform;
}

.partner-group {
  display: flex;
  align-items: center;
  gap: 65px;
  padding-right: 65px;
}

.partner-logo {
  flex: 0 0 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 88px;
  text-decoration: none;
}

.partner-logo img {
  max-width: 145px;
  max-height: 65px;
  object-fit: contain;
  background: transparent;
  filter: brightness(0) invert(1) drop-shadow(0 2px 5px rgba(255, 255, 255, 0.2)) !important;
  transition: transform 0.25s ease, filter 0.25s ease;
}

.partner-logo:hover img,
.partner-logo:focus img,
.partner-logo:focus-visible img {
  transform: scale(1.05);
  filter: brightness(0) invert(1) drop-shadow(0 4px 12px rgba(255, 255, 255, 0.5)) !important;
}

.partner-logo svg {
  width: 110px;
  height: 60px;
  display: block;
  filter: drop-shadow(0 2px 5px rgba(255, 255, 255, 0.2));
  transition: transform 0.25s ease, filter 0.25s ease;
}

.partner-logo svg rect {
  fill: #ffffff !important;
}

.partner-logo:hover svg,
.partner-logo:focus svg,
.partner-logo:focus-visible svg {
  transform: scale(1.05);
  filter: drop-shadow(0 4px 12px rgba(255, 255, 255, 0.5));
}

.partner-marquee:hover .partner-track,
.partner-marquee:focus .partner-track,
.partner-marquee:focus-within .partner-track {
  animation-play-state: paused;
}

/* Primary partners backdrop */
.partner-section .primary-partners {
  background: linear-gradient(110deg, rgba(2, 11, 35, 0.7), rgba(3, 16, 47, 0.6));
  border-radius: 0;
  box-shadow: inset 0 1px 1px rgba(212, 232, 255, 0.12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  margin-bottom: 8px;
}

.partner-section .primary-partners .partner-group {
  align-items: center;
}

.partner-section .primary-partners .partner-logo {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Compensate for asset internal transparent padding to ensure exact optical vertical centering */
.partner-section .primary-partners img[src*="enclustra"] {
  position: relative;
  top: -8.5px;
}

.partner-section .primary-partners a.partner-logo:focus-visible {
  outline: 2px solid #90caff;
  outline-offset: -6px;
  border-radius: 0;
}

/* Secondary partners speed */
.partner-section .secondary-partners .partner-track {
  animation-duration: 80s;
}

/* SVG Negative Masks luminance */
.partner-logo .athena-negative {
  width: 110px;
  height: 60px;
  display: block;
}

.partner-logo mask {
  mask-type: luminance;
}

.partner-section > .link {
  display: inline-block;
  color: #d8edff;
  font-size: 13px;
  font-weight: 500;
  margin-top: 18px;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.partner-section > .link:hover {
  color: #ffffff;
  transform: translateX(4px);
}

@keyframes partners-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/* Responsive Breakpoints */
@media (max-width: 850px) {
  .partner-section {
    margin: 0 14px 24px;
    padding: 12px 20px 24px;
  }

  .partner-marquee {
    margin: 0 -20px;
  }

  .partner-group {
    gap: 40px;
    padding-right: 40px;
  }

  .partner-logo {
    flex: 0 0 120px;
    height: 72px;
  }

  .partner-logo img {
    max-width: 120px;
    max-height: 52px;
  }
}
