.cards {
  position: relative;
  margin-bottom: var(--spacing-15);
  list-style: none;
}
.cards.boost-landing-cards .shop-by-goal-main-heading-container {
  display: none;
}
.cards.boost-landing-cards .shop-by-goal-main-grid {
  grid-template-columns: repeat(2, 1fr);
}
.cards.boost-landing-cards .shop-by-goal-main-item-slider,
.cards.boost-landing-cards .shop-by-goal-main-item-grid {
  background-size: cover;
}

.shop-by-goal-main {
  display: flex;
}

.shop-by-goal-anchor {
  height: 100%;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: end;
  text-decoration: none;
}
.shop-by-goal-anchor h3 {
  font-size: var(--font-size-m);
  margin-bottom: var(--spacing-30);
  padding: 0 var(--spacing-15);
}

.shop-by-goal-anchor:hover {
  text-decoration: none;
}

.text-header {
  color: var(--clr-white);
  text-align: center;
  font-size: var(--heading-font-size-xl);
  font-weight: 600;
  font-family: var(--body-font-family);
}

.cards .shop-by-goal-main-heading-container {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  position: relative;
  margin-bottom: var(--spacing-20);
  align-items: end;
}

.cards .shop-by-goal-main-heading-container h2 {
  font-size: var(--heading-font-size-xl);
  margin: 0;
}

.shop-by-goal-main-slider {
  list-style: none;
  width: 100%;
  overflow-x: auto;
  display: flex;
  padding: 0;
  align-items: flex-start;
  scroll-snap-type: x mandatory;
  flex-flow: row nowrap;
  scroll-behavior: smooth;
  margin-bottom: 0;
}

.shop-by-goal-main-slider::-webkit-scrollbar {
  display: none;
}

.shop-by-goal-main-item-slider {
  flex: 1 0 18.6%;
  aspect-ratio: 1;
  flex-flow: column nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  scroll-snap-align: start;
  box-sizing: border-box;
  margin-right: var(--spacing-20);
  margin-bottom: var(--spacing-20);
  background-position-x: 50%;
  background-position-y: 50%;
  background-size: cover;
  border-radius: 6px;
}
.shop-by-goal-main-item-slider:last-child {
  margin-right: 0;
}

.shop-by-goal-main-grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(248px, 1fr));
  grid-gap: var(--spacing-20);
  padding: 0;
  margin-bottom: 0;
}
.shop-by-goal-main-grid::before {
  display: none;
}

.shop-by-goal-main-item-grid {
  flex: none;
  aspect-ratio: auto;
  flex-flow: unset;
  justify-content: unset;
  align-items: unset;
  scroll-snap-align: unset;
  background-position-x: 50%;
  background-position-y: 50%;
  background-size: cover;
  border-radius: 6px;
  width: auto;
  height: 210px;
  background-repeat: no-repeat;
}

.cards .arrows {
  flex-grow: 1;
  display: flex;
  justify-content: flex-end;
  column-gap: var(--spacing-15);
}

.cards .carousel-arrow {
  content: "";
  padding: 0;
  background: none;
  box-shadow: none;
  right: 0;
  left: auto;
  z-index: 1;
  border: 1px solid var(--clr-border);
  height: 5.4rem;
  width: 5.4rem;
  border-radius: 50%;
}

.cards .carousel-arrow.carousel-arrow--next {
  background-image: url("../../icons/arrow_forward.svg");
  background-size: 30%;
  background-position: center center;
  background-repeat: no-repeat;
}

.cards .carousel-arrow.carousel-arrow--prev {
  background-image: url("../../icons/arrow_back.svg");
  background-size: 30%;
  background-position: center center;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .shop-by-goal-main-slider {
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: var(--spacing-15);
  }
  .shop-by-goal-main-item-slider {
    flex-basis: 40%;
    margin-right: var(--spacing-5);
    margin-bottom: var(--spacing-5);
  }
  .shop-by-goal-main-grid {
    grid-template-columns: repeat(2, minmax(48%, 1fr));
    height: auto;
    grid-gap: var(--spacing-15);
  }
  .cards .arrows {
    display: none;
  }
}
@media (max-width: 390px) {
  .shop-by-goal-main-item-grid, .shop-by-goal-main-item-slider {
    max-width: 172px;
    height: 149px;
    margin: 0;
  }
}
@media (min-width: 1025px) {
  .cards {
    margin-bottom: 4rem;
  }
  .cards .shop-by-goal-main-heading-container {
    margin-bottom: var(--spacing-30);
  }
  .shop-by-goal-main-item-slider, .shop-by-goal-main-item-grid {
    height: 280px;
    background-size: 120%;
    margin-bottom: 0;
  }
}