.fc_block_links {
  .links_container {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    gap: clamp(16px, 1.307vw + 8.471px, 32px);

    .block_link {
      flex-basis: 100%;
      text-decoration: none;
      display: flex;
      flex-direction: column;
      gap: var(--gap-s);

      .image {
        aspect-ratio: 1;
        border-radius: var(--border-radius-m);
        transition: opacity 0.4s ease;
      }

      &:is(:hover, :focus) {
        .image {
          opacity: 0.7;
        }
      }
    }
  }

  /* responsive */
  @media (width >= 576px) {
    .links_container {
      .block_link {
        &:nth-child(even) {
          flex-direction: column-reverse;
        }
      }

      &:not(.col_3) {
        .block_link {
          flex-basis: calc(50% - (clamp(16px, 1.307vw + 8.471px, 32px) / 2));
        }
      }
    }
  }

  @media (width >= 768px) {
    .links_container {
      &.col_3 {
        .block_link {
          flex-basis: calc(
            33.333% - (clamp(16px, 1.307vw + 8.471px, 32px) * 2) / 3
          );
        }
      }
    }
  }

  @media (width >= 992px) {
    .links_container {
      &.col_4 {
        .block_link {
          flex-basis: calc(
            25% - (clamp(16px, 1.307vw + 8.471px, 32px) * 3) / 4
          );
        }
      }
    }
  }
}
