/* ============================================
   Partners — minimal "In partnership with" strip
   ============================================ */

.partners {
  padding-block: var(--space-3xl);
}

.partners__label {
  text-align: center;
  font-family: var(--font-body);
  font-size: var(--text-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-secondary);
  opacity: 0.8;
  margin: 0 0 var(--space-2xl) 0;
}

.partners__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(var(--space-xl), 6vw, var(--space-4xl));
  max-width: 1100px;
  margin-inline: auto;
}

.partners__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  min-width: 96px;
  max-width: 180px;
  opacity: 0.55;
  transition:
    opacity var(--duration-base) var(--ease-out),
    filter var(--duration-base) var(--ease-out),
    transform var(--duration-base) var(--ease-out);
}

.partners__item img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.partners__item:hover,
.partners__item:focus-visible {
  opacity: 1;
  transform: translateY(-2px);
  filter: none !important;
  outline: none;
}

/* Wellness (ivory bg): grayscale + dim by default, color on hover. */
[data-brand="wellness"] .partners__item {
  filter: grayscale(100%);
}

/* Clinic (dark bg): logos are designed for light backgrounds, so invert
   them to white monotone at rest, restore color on hover. */
[data-brand="clinic"] .partners__item {
  filter: brightness(0) invert(1);
  opacity: 0.65;
}

/* Landing (neutral) — same treatment as wellness. */
[data-brand="landing"] .partners__item {
  filter: grayscale(100%);
}

/* Mobile */
@media (max-width: 767px) {
  .partners__row {
    gap: var(--space-xl);
  }
  .partners__item {
    height: 40px;
    min-width: 72px;
    max-width: 140px;
  }
}
