/* =============================================
   LOGO LOOP — CSS Styles
   Ported from React Bits <LogoLoop /> component
   ============================================= */

.logoloop {
  position: relative;
  width: 100%;
  overflow: hidden;
  --logoloop-gap: 40px;
  --logoloop-logoHeight: 36px;
  --logoloop-fadeColor: #FFFDF9;
}

.logoloop--scale-hover {
  padding-top: calc(var(--logoloop-logoHeight) * 0.15);
  padding-bottom: calc(var(--logoloop-logoHeight) * 0.15);
}

.logoloop__track {
  display: flex;
  width: max-content;
  will-change: transform;
  user-select: none;
  position: relative;
  z-index: 0;
}

.logoloop__list {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.logoloop__item {
  flex: 0 0 auto;
  margin-right: var(--logoloop-gap);
  display: flex;
  align-items: center;
  justify-content: center;
}

.logoloop__item img {
  height: var(--logoloop-logoHeight);
  width: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.05));
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), filter 0.3s ease;
  pointer-events: auto;
}

.logoloop__node {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-primary, 'Inter', sans-serif);
  font-weight: 600;
  font-size: 15px;
  color: var(--color-dark-teal, #052E34);
  padding: 8px 18px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 49, 61, 0.1);
  border-radius: 9999px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
  white-space: nowrap;
}

.logoloop__node img {
  height: 22px;
  width: 22px;
  object-fit: contain;
}

.logoloop--scale-hover .logoloop__item:hover img {
  transform: scale(1.2);
  filter: drop-shadow(0 6px 12px rgba(255, 115, 0, 0.25));
}

.logoloop--scale-hover .logoloop__item:hover .logoloop__node {
  transform: scale(1.08);
  border-color: rgba(255, 115, 0, 0.4);
  box-shadow: 0 4px 16px rgba(255, 115, 0, 0.18);
  color: #FF7300;
}

/* Edge Fade-Out Gradient Overlay */
.logoloop--fade::before,
.logoloop--fade::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: clamp(32px, 12%, 160px);
  pointer-events: none;
  z-index: 10;
}

.logoloop--fade::before {
  left: 0;
  background: linear-gradient(
    to right,
    var(--logoloop-fadeColor) 0%,
    rgba(255, 253, 249, 0) 100%
  );
}

.logoloop--fade::after {
  right: 0;
  background: linear-gradient(
    to left,
    var(--logoloop-fadeColor) 0%,
    rgba(255, 253, 249, 0) 100%
  );
}

/* Services page banner styling */
.services-logoloop-banner {
  padding: 28px 0;
  background: #FFFDF9;
  border-top: 1px solid rgba(0, 49, 61, 0.08);
  border-bottom: 1px solid rgba(0, 49, 61, 0.08);
  position: relative;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .logoloop__track {
    transform: translate3d(0, 0, 0) !important;
  }
  .logoloop__item img,
  .logoloop__node {
    transition: none !important;
  }
}
