.painel-ods {
  border: 1px solid #cfe2c1;
  border-radius: 12px;
  background: #f4faeb;
  padding: 0.9rem;
}

.titulo-painel-ods {
  margin: 0;
  color: var(--verde-escuro);
  font-size: clamp(1.1rem, 1.02rem + 0.25vw, 1.26rem);
  line-height: 1.3;
}

.texto-painel-ods {
  margin: 0.35rem 0 0.75rem;
  font-size: var(--fonte-texto-pequeno);
  line-height: 1.5;
}

.grade-ods-visual {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.45rem;
}

.ods-item-visual {
  position: relative;
  min-height: 128px;
  aspect-ratio: 1 / 1;
  border-radius: 8px;
  border: 2px solid #2f6a43;
  background: #cfcfcf;
  color: #1f1f1f;
  display: block;
  padding: 0;
  font-weight: 700;
  overflow: visible;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.ods-item-visual.ativo {
  z-index: 4;
}

.ods-item-visual:hover,
.ods-item-visual:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(13, 55, 30, 0.24);
  border-color: #0e7a3a;
  outline: none;
}

.ods-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  border-radius: 8px;
  background: #4a4a4a;
}

.ods-img-pb {
  filter: grayscale(100%);
}

.ods-img-cor {
  opacity: 0;
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.ods-item-visual:hover .ods-img-cor,
.ods-item-visual:focus-visible .ods-img-cor,
.ods-item-visual.ativo .ods-img-cor {
  opacity: 1;
  transform: scale(1.03);
}

.ods-item-visual.direta {
  border-width: 2px;
  border-color: #2f6a43;
  box-shadow: none;
}

.ods-item-visual.indireta {
  filter: grayscale(28%);
}

.selo-ods {
  position: absolute;
  left: 0.35rem;
  bottom: 0.3rem;
  z-index: 2;
  font-size: clamp(0.62rem, 0.58rem + 0.15vw, 0.72rem);
  font-weight: 700;
  line-height: 1;
  border-radius: 10px;
  padding: 0.24rem 0.42rem;
  text-align: center;
  white-space: nowrap;
  color: #ffffff;
  background: rgba(15, 127, 59, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.35);
}

.box-flutuante-ods {
  position: absolute;
  left: 0.22rem;
  right: 0.22rem;
  top: 0.24rem;
  bottom: 0.24rem;
  z-index: 3;
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: rgba(0, 0, 0, 0.96);
  color: #ffffff;
  border-radius: 10px;
  padding: 0.52rem 0.62rem;
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3);
  font-size: clamp(0.9rem, 0.84rem + 0.3vw, 1.05rem);
  line-height: 1.42;
  text-align: center;
  overflow-y: auto;
  overscroll-behavior: contain;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.ods-item-visual:focus-visible .box-flutuante-ods,
.ods-item-visual.ativo .box-flutuante-ods {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.ods-2 {
  background: #dba63f;
}

.ods-6 {
  background: #24a7cf;
}

.ods-7 {
  background: #f2c500;
  color: #1f1f1f !important;
}

.ods-12 {
  background: #bf8b2d;
}

.ods-13 {
  background: #4e9a39;
}

.ods-15 {
  background: #5a8d35;
}
