.featured-collection {
  padding-top: var(--gap-xl);
  padding-bottom: var(--gap-xl);
  display: flex;
  flex-direction: column;
  gap: var(--gap-l);

  .featured-collection__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    hgroup {
      display: flex;
      flex-direction: column;
      gap: var(--gap-s);

      p {
        font-size: var(--font-14);
        color: var(--ink);
      }
    }
  }

  .featured-collection__content {
    display: grid;
    align-items: stretch;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--gap-xl) var(--gap-l);

    .featured-collection__card {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: var(--gap-xs);

      .card-media {
        position: relative;
        width: 100%;
        padding-top: 100%;
        overflow: hidden;
        background-color: var(--cloud);

        img {
          top: var(--gap-xs);
          left: var(--gap-xs);
          width: calc(100% - var(--gap-xs) * 2);
          height: calc(100% - var(--gap-xs) * 2);
          transition: var(--transition-all);
          transition-duration: .32s;
          background-color: white;
        }
      }

      h3 {
        font-size: var(--font-18);
        text-align: center;
        letter-spacing: 0;
      }

      & > span, p {
        padding: 0 var(--gap-s);
        font-size: var(--font-14);
        text-align: center;
        opacity: .64;
      }

      &.enhanced {
        grid-row: span 2 / span 2;
        grid-column: span 2 / span 2;
        background-color: var(--cloud);
        padding-bottom: var(--gap);

        .card-media {
          background-color: transparent;
        }

        h3 {
          font-size: var(--font-28);
        }

        p {
          font-size: var(--font-14);
        }
      }

      &:hover {
        .card-media {
          img {
            width: 100%;
            height: 100%;
            left: 0;
            top: 0;
          }
        }
      }
    }
  }
}

@media only screen and (max-width: 989px) {
  .featured-collection {
    .featured-collection__header {
      flex-direction: column;
      align-items: flex-start;
      gap: var(--gap);
    }

    .featured-collection__content {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--gap-l);
    }
  }
}
