/* =========================
   PRODUCT CAROUSEL
   ========================= */

.products-carousel {
  position: relative;
  width: 100%;

  /* место для стрелок */
  padding: 0 58px;
}

.product-grid {
  display: flex;
  gap: 16px;

  width: 100%;

  overflow-x: auto;
  overflow-y: hidden;

  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;

  scrollbar-width: none;

  padding: 5px 3px 20px;
  margin: -5px -3px -20px;
}

.product-grid::-webkit-scrollbar {
  display: none;
}

/* 4 карточки на экране */
.product-card {
  flex: 0 0 calc((100% - 48px) / 4);
  min-width: 0;

  scroll-snap-align: start;
}


/* =========================
   ARROWS
   ========================= */

.carousel-arrow {
  position: absolute;

  top: 50%;
  transform: translateY(-50%);

  width: 42px;
  height: 64px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(7, 13, 24, .15);
  background: #0b1423;
  color: #fff;

  font-size: 22px;
  line-height: 1;

  cursor: pointer;

  z-index: 20;

  transition:
    background .25s ease,
    border-color .25s ease,
    opacity .25s ease;
}

.carousel-arrow:hover:not(:disabled) {
  background: #2d8cff;
  border-color: #2d8cff;
}

.carousel-arrow:disabled {
  opacity: .18;
  cursor: default;
  pointer-events: none;
}

.carousel-prev {
  left: 0;
}

.carousel-next {
  right: 0;
}

@media (max-width: 1120px) {

  .products-carousel {
    padding: 0 52px;
  }

  .product-card {
    flex: 0 0 calc((100% - 16px) / 2);
  }

}

@media (max-width: 560px) {

  .products-carousel {
    padding: 0 44px;
  }

  .product-card {
    flex: 0 0 85%;
  }

  .carousel-arrow {
    width: 36px;
    height: 54px;
    font-size: 18px;
  }

}