/* Página de solução — soluções relacionadas (3 cards-link com stroke gray-900; o card inteiro é link, então o hover
   só clareia o stroke e o "Ver a solução", como .btn — MODEL.md › Regra de hover) */

.sol-rel {
  padding-block: var(--section-py);
  background: var(--black-200);
  box-shadow: inset 0 1px 0 var(--gray-900);
}
.sol-rel__inner { display: flex; flex-direction: column; gap: 48px; }
.sol-rel__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
.sol-rel__item { display: flex; }
.sol-rel__card {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
  border: 1px solid var(--gray-900);
  transition: border-color .2s ease;
}
.sol-rel__card:hover { border-color: var(--gray-500); }
.sol-rel__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 24px;
  line-height: 31px;
  color: var(--gray-0);
}
.sol-rel__text { flex: 1; font-size: 16px; line-height: 1.5; color: var(--gray-300); }
.sol-rel__more { font-weight: 600; font-size: 16px; line-height: 1.5; color: var(--gray-0); transition: color .2s ease; }
.sol-rel__card:hover .sol-rel__more { color: var(--gray-300); }

@media (max-width: 1023px) {
  .sol-rel__list { grid-template-columns: minmax(0, 1fr); gap: 16px; }
}

@media (max-width: 767px) {
  .sol-rel__inner { gap: 32px; }
  .sol-rel .section-title { font-size: 28px; line-height: 34px; }
  .sol-rel__card { padding: 24px; }
  .sol-rel__name { font-size: 20px; line-height: 26px; }
}

@media (prefers-reduced-motion: reduce) {
  .sol-rel__card,
  .sol-rel__more { transition: none; }
}
