[class^='blog-highlights-'],
[class^='feature-highlights-'] {
  overflow: hidden;

  .highlights-title {
    color: #1d1d1d;
    text-transform: unset;
    font-family: var(--font-body-family);
    font-weight: 300;
    font-size: 20px;
    line-height: 1.2;
    margin: 0 0 12px;
    padding: 0;
    letter-spacing: .01em;

    @media screen and (min-width: 800px) {
      font-size: 26px;
    }
  }

  .swiper {
    width: 100%;
    overflow: visible;

    .swiper-button-next,
    .swiper-button-prev {
      color: #1d1d1d;
      background-color: #eaeaea;
      width: 40px;
      height: 40px;
      top: 50%;

      &.swiper-button-disabled,
      &::after {
        display: none;
      }
    }

    .swiper-button-next {
      right: 0px;
    }

    .swiper-button-prev {
      left: 0px;
    }
  }

  .highlight-card {
    position: relative;
    aspect-ratio: 5/6;
    overflow: hidden;
    display: block;

    @media screen and (min-width: 800px) {
      aspect-ratio: 1;
    }

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

    &:hover img {
      transform: scale(1.05);
    }
  }

  .highlight-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 16px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 20%, transparent 100%);
    color: #fff;

    @media screen and (min-width: 800px) {
      padding: 30px;
    }

    .highlight-title {
      font-family: var(--font-heading-family);
      line-height: 1;
      color: #fff;
      font-weight: 400;
      font-size: 22px;
      margin: 0 0 8px;
      padding: 0;
      letter-spacing: -.02em;

      p {
        color: white;
        margin: 0;
        padding: 0;
      }
    }

    .highlight-link {
      color: #fff;
      border-bottom: 1px solid #fff;
      padding-bottom: 2px;
      font-weight: 400;
      font-size: 12px;
      line-height: 1.2;
      letter-spacing: 0.02em;
      font-family: var(--font-body-family);

      @media screen and (min-width: 800px) {
        font-size: 14px;
      }
    }
  }

  @media screen and (min-width: 800px) {
    .swiper-wrapper {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      transform: none;
    }

    .swiper-slide {
      width: 100%;
      margin-right: 0;
    }

    .swiper-button-next,
    .swiper-button-prev {
      display: none;
    }

    .highlight-overlay .highlight-title {
      font-size: 32px;
    }
  }
}
