/*
 * Logo Cloud
 * Partner/client logo grid
 * Layout: grid (default), scrolling marquee
 */

.logo-cloud {
  padding: var(--space-12) var(--space-6);
  text-align: center;
}

.logo-cloud-header {
  max-width: 480px;
  margin: 0 auto var(--space-8);
}

.logo-cloud-header h2 {
  font-size: var(--text-2xl);
  font-weight: 700;
  margin-bottom: var(--space-3);
}

.logo-cloud-header p {
  font-size: var(--text-lg);
  color: var(--color-text-muted);
  line-height: var(--leading-relaxed);
}

.logo-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-6);
  align-items: center;
  justify-content-items: center;
  max-width: 800px;
  margin: 0 auto;
}

.logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  opacity: 0.5;
  transition: opacity var(--transition-base);
}

.logo-item:hover {
  opacity: 1;
}

.logo-item img {
  max-height: 2rem;
  width: auto;
  object-fit: contain;
  filter: grayscale(100%);
  transition: filter var(--transition-base);
}

.logo-item:hover img {
  filter: grayscale(0%);
}

/* Placeholder for logos without images */
.logo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-3) var(--space-4);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-muted);
  border: 1px dashed var(--color-border);
  border-radius: var(--radius-md);
  min-width: 120px;
  min-height: 2.5rem;
}

/* Responsive */
@media (min-width: 640px) {
  .logo-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) {
  .logo-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1024px) {
  .logo-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
