.custom-article-template {
  display: grid;
  grid-template-rows: auto max(auto, 14rem) 3.5rem auto auto auto;
  grid-template-columns: 3fr 1fr;
  gap: 0 5rem;
  max-width: 130rem;
  margin: auto;
  grid-template-areas:
    "featured_image featured_image"
    "title related_articles"
    "share related_articles"
    "content related_articles"
    "back related_articles"
    "comments comments";

  justify-content: start;
  align-items: start;

  & .article-template__hero-container {
    grid-area: featured_image;
    width: 100%;
    margin: 0;
  }

  & .custom-blog-title {
    grid-area: title;
    width: 100%;

    margin-left: 15px;
  }

  & .article-template__social-sharing {
    grid-area: share;
    align-self: end;
    margin-left: 15px;
  }

  & .article-template__content {
    grid-area: content;
    margin-left: 15px;
  }

  & .related-articles-container {
    grid-area: related_articles;
    top: 0;

    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 10px;
    overflow: hidden;

    & .related-article {
      background-color: rgb(var(--color-background));
      margin-bottom: 25px;

      & p {
        margin: 0;
      }
      & img {
        display: block;
        max-height: 95px;
        width: 100%;
        height: auto;
      }

      & .icon-wrap {
        margin-left: 1rem;
        transform: rotate(0);
      }

      & .article-template__link {
        justify-content: flex-start;
      }
    }
  }

  & .article-template__back {
    grid-area: back;
    & .article-template__link {
      justify-content: flex-start;
    }
  }

  & .article-template__comment-wrapper {
    grid-area: comments;
    align-self: center;
  }
}

@media screen and (max-width: 999px) {
  .custom-article-template {
    overflow-x: hidden;
    display: block;
    width: 95dvw;
  }

  .related-articles-container {
    & .related-articles {
      display: flex;
      flex-direction: row;
      align-items: flex-start;

      flex-wrap: wrap;
      gap: 15px 15px;

      & .related-article {
        flex: 0 0 calc(50% - 7.5px);
        height: 100%;

        display: flex;
        flex-direction: column;
        margin: 0;

        & :not(p) {
          flex-grow: 0;
          flex-shrink: 0;
        }
        & p {
          flex-grow: 1;
        }
      }
    }
  }
}

@media screen and (max-width: 600px) {
  .related-articles-container {
    & .related-articles {
      & .related-article {
        flex-basis: 100%;
      }
    }
  }
}
