/* PDP product rows — horizontal carousel with arrow scroll */

.content .inside .cc-productCarousel,
.cc-productCarousel {
  position: relative;
  margin: 0 0 32px 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow: visible;
}

.cc-productCarousel__viewport {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 20px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  /* Room for card border — keep padding inside scroll box */
  padding: 8px 10px 12px 10px;
  margin: -8px -10px -4px -10px;
  box-sizing: border-box;
}

.cc-productCarousel__viewport::-webkit-scrollbar {
  display: none;
}

.cc-productCarousel__slide {
  flex: 0 0 calc((100% - 60px) / 4);
  width: calc((100% - 60px) / 4);
  max-width: calc((100% - 60px) / 4);
  min-width: 0;
  scroll-snap-align: start;
  box-sizing: border-box;
}

.cc-productCarousel__slide > .cc-productCard {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* Discreet border — PDP carousel cards (recommended / recently viewed) */
.cc-productCarousel__slide > .cc-productCard.bx-productCard {
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  transition: border-color 0.22s ease;
}

.cc-productCarousel__slide > .cc-productCard.bx-productCard:hover {
  border-color: rgba(15, 23, 42, 0.16);
  box-shadow: none;
  transform: none;
}

.cc-productCarousel__slide > .cc-productCard.bx-productCard .cc-productCard__body {
  box-shadow: none;
}

/* Fixed 3-up carousel (PDP recommended) — exactly 3 visible cards, no clipped peek */
.cc-productCarousel--3up {
  overflow: hidden;
  padding: 12px 10px 16px;
  margin: -12px -10px -8px;
  box-sizing: border-box;
}

.cc-productCarousel--3up .cc-productCarousel__viewport {
  padding: 0;
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
}

.cc-productCarousel--3up .cc-productCarousel__slide {
  flex: 0 0 calc((100% - 40px) / 3);
  width: calc((100% - 40px) / 3);
  max-width: calc((100% - 40px) / 3);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.cc-productCarousel--3up .owl-nav .owl-prev { left: 2px; }
.cc-productCarousel--3up .owl-nav .owl-next { right: 2px; }

.cc-productCarousel .owl-nav {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
}

.cc-productCarousel .owl-nav .owl-prev,
.cc-productCarousel .owl-nav .owl-next {
  pointer-events: auto;
  position: absolute;
  top: 38%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(10, 10, 12, 0.72);
  color: #fff;
  cursor: pointer;
  transition: background 0.25s ease, opacity 0.25s ease;
  opacity: 0.92;
}

.cc-productCarousel:hover .owl-nav .owl-prev:not(.isDisabled),
.cc-productCarousel:hover .owl-nav .owl-next:not(.isDisabled) {
  opacity: 1;
}

.cc-productCarousel .owl-nav .owl-prev { left: -6px; }
.cc-productCarousel .owl-nav .owl-next { right: -6px; }

.cc-productCarousel .owl-nav .owl-prev.isDisabled,
.cc-productCarousel .owl-nav .owl-next.isDisabled {
  opacity: 0 !important;
  pointer-events: none;
  cursor: default;
}

.cc-productCarousel .owl-nav button:hover:not(.isDisabled) {
  background: rgba(10, 10, 12, 0.92);
}

.cc-productCarousel .owl-nav .fa {
  font-size: 22px;
  line-height: 1;
}

@media screen and (max-width: 1100px) {
  .cc-productCarousel__slide {
    flex: 0 0 calc((100% - 40px) / 3);
    width: calc((100% - 40px) / 3);
    max-width: calc((100% - 40px) / 3);
  }
}

@media screen and (max-width: 760px) {
  .cc-productCarousel__slide {
    flex: 0 0 calc((100% - 20px) / 2);
    width: calc((100% - 20px) / 2);
    max-width: calc((100% - 20px) / 2);
  }

  .cc-productCarousel--3up .cc-productCarousel__slide {
    flex: 0 0 calc((100% - 20px) / 2);
    width: calc((100% - 20px) / 2);
    max-width: calc((100% - 20px) / 2);
  }

  .cc-productCarousel .owl-nav .owl-prev,
  .cc-productCarousel .owl-nav .owl-next {
    opacity: 1;
    width: 38px;
    height: 38px;
  }

  .cc-productCarousel .owl-nav .owl-prev { left: 0; }
  .cc-productCarousel .owl-nav .owl-next { right: 0; }
}

@media screen and (max-width: 480px) {
  .cc-productCarousel__slide {
    flex: 0 0 calc((100% - 20px) / 1.35);
    width: calc((100% - 20px) / 1.35);
    max-width: calc((100% - 20px) / 1.35);
  }

  .cc-productCarousel--3up .cc-productCarousel__slide {
    flex: 0 0 calc((100% - 20px) / 1.35);
    width: calc((100% - 20px) / 1.35);
    max-width: calc((100% - 20px) / 1.35);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cc-productCarousel__viewport { scroll-behavior: auto; }
  .cc-productCarousel .owl-nav button { transition: none; }
}
