.article-category-grid {
  padding: var(--space-40px) 0;

  .article-category-grid__wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-16px);
  }

  .article-category-grid__heading-container {
    text-align: center;
    margin-bottom: var(--space-10px);
    @media(width >=1024px) {
        margin-bottom: var(--space-40px);
    }
    .article-category-grid__heading {
      position: relative;
      display: inline-block;
      font-family: var(--body-font-family);
      font-size: 25px;
      font-weight: var(--fw-700);
      color: var(--secondary-black);
      text-transform: uppercase;
      letter-spacing: 0.1em;
      margin: 0;
      padding-top: var(--space-20px);
      
      @media(width >=1024px) {
        font-size: 40px;
      }
      &:hover {
        &::before {
          width: 100%;
        }
      }
      &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 60%;
        height: 3px;
        background-color: var(--primary-red);
        transition: all .5s;;
      }
    }
  }

  .article-category-grid__items {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--space-12px);

    @media (width >= 1024px) {
      gap: var(--space-16px);
    }
  }

  .article-category-grid__item {
    flex: 100%;
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;

    @media (width >= 768px) {
      flex: 0 0 calc((100% - 2 * var(--space-12px)) / 3);
    }

    @media (width >= 1024px) {
      flex: 0 0 calc((100% - 4 * var(--space-16px)) / 5);
    }

    .article-category-grid__link {
      display: block;
      width: 100%;
      height: 100%;
      text-decoration: none;

      &::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.3) 100%);
        z-index: 1;
        transition: background 0.3s ease;
      }

      &:hover::after {
        background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 100%);
      }
    }

    .article-category-grid__picture {
      display: block;
      width: 100%;
      height: 100%;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.4s ease;
      }
    }

    &:hover .article-category-grid__picture img {
      transform: scale(1.05);
    }

    .article-category-grid__label {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: var(--tertiary-white);
      font-family: var(--body-font-family);
      font-size: 17px;
      font-weight: var(--fw-700);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      text-align: center;
      width: 100%;
      padding: 0 var(--space-8px);
      z-index: 2;

      @media (width >= 1024px) {
        font-size: 24px;
      }
    }
  }
}
