/* =========================================================
   OASIS -- SECCAO PARCEIROS
   ========================================================= */

.oasis-partners {
  /* Mesmo fundo cinza-claro da secção "Quem Somos" */
  background: var(--oasis-grey, #f1f2f2);
  padding-block: clamp(24px, 4vw, 48px);
}

.oasis-partners__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(20px, 4vw, 48px);
}

.oasis-partners__label {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 10px;
  /* flex: 0 0 auto -- em vez de só flex-shrink:0 -- garante que esta
     caixa ocupa exatamente o tamanho do seu conteúdo (ícone + texto),
     nem mais nem menos. Sem isto, o item seguinte podia começar
     antes do texto realmente acabar. */
  flex: 0 0 auto;
}

.oasis-partners__label img {
  display: block;
  /*
   * Precisa de um tamanho explícito -- sem isto, o browser usa o
   * tamanho intrínseco do SVG para calcular o espaço da caixa flex,
   * mas depois pinta a imagem com outro tamanho (por causa do
   * ".oasis-home img { max-width:100% }" global) -- os dois cálculos
   * ficam dessincronizados e é isso que causava a sobreposição.
   * Este valor corresponde ao tamanho "natural" que já tinhas visto
   * e gostado -- só que agora fixo, não calculado à deriva.
   */
  height: 90px;
  width: auto;
}

.oasis-partners__label span {
  color: var(--oasis-blue-light, #4fb3e8);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.oasis-partners__grid {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(24px, 4vw, 56px);
  flex: 1 1 auto;
  min-width: 0;
}

.oasis-partners__item {
  display: flex;
  align-items: center;
  opacity: 0.55;
  filter: grayscale(100%);
  transition: opacity 0.25s ease, filter 0.25s ease;
}

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

.oasis-partners__item img {
  max-height: 32px;
  max-width: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.oasis-partners__placeholder {
  color: var(--oasis-text-muted, #6b6f76);
  font-size: 0.95rem;
  font-style: italic;
}

/* ---------- Tablet ---------- */
@media (max-width: 960px) {
  .oasis-partners__inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  .oasis-partners__grid {
    gap: 20px 32px;
  }
  .oasis-partners__label span {
    font-size: 1rem;
  }
}
