/* ===== Product Slider Section ===== */
.cc_ybju7jv0_product_slider .kombos-product-slider {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  /* Declared rather than inherited from whatever the host page paints, like
     every other section on the home page. */
  background: var(--kombos-white);
}

/* --nm-section-y, the same rhythm NomellyTrustBar / Story / Certificates /
   SalesChannels use. This block ran at 16-32px between neighbours running at
   64-120px, so the product row read as squeezed between the story blocks. */
.cc_ybju7jv0_product_slider .kombos-product-slider__wrapper {
  padding-block: var(--nm-section-y);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

/* Typography comes from .nm-section-title, applied on the element. */

/* Slider wrapper */
.cc_ybju7jv0_product_slider .kombos-product-slider__slider {
  position: relative;
  overflow: hidden;
}

/* Scrollable track */
.cc_ybju7jv0_product_slider .kombos-product-slider__track {
  display: flex;
  gap: 1rem;
  width: 100%;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.cc_ybju7jv0_product_slider .kombos-product-slider__track::-webkit-scrollbar {
  display: none;
}

/* Card sizing — mobile: 2 columns, desktop: driven by --columns */
.cc_ybju7jv0_product_slider .kombos-product-slider__card {
  flex: 0 0 calc((100% - 1rem) / 2);
  min-width: 0;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cc_ybju7jv0_product_slider .kombos-product-slider__card-content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* Navigation arrows */
.cc_ybju7jv0_product_slider .kombos-product-slider__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: var(--kombos-z-dropdown);
}

.cc_ybju7jv0_product_slider .kombos-product-slider__arrow--left {
  left: 0.5rem;
}

.cc_ybju7jv0_product_slider .kombos-product-slider__arrow--right {
  right: 0.5rem;
}

/* ===== Desktop (>=1024px) ===== */
@media (min-width: 1024px) {
  .cc_ybju7jv0_product_slider .kombos-product-slider__wrapper {
    gap: 2rem;
  }

  .cc_ybju7jv0_product_slider .kombos-product-slider__track {
    gap: 1.5rem;
  }

  .cc_ybju7jv0_product_slider .kombos-product-slider__card {
    flex: 0 0 calc((100% - (var(--columns) - 1) * 1.5rem) / var(--columns));
  }

  .cc_ybju7jv0_product_slider .kombos-product-slider__arrow--left {
    left: 1rem;
  }

  .cc_ybju7jv0_product_slider .kombos-product-slider__arrow--right {
    right: 1rem;
  }
}

/* Editor-only hint shown when the section has no products picked yet.
   The customer never sees this: the component returns null off-editor. */
.cc_ybju7jv0_product_slider .kombos-product-slider__empty {
  margin: 0;
  padding: 2rem 1rem;
  border: 1px dashed var(--kombos-gray-300, #ded4c9);
  border-radius: var(--nm-radius, 8px);
  text-align: center;
  font-family: var(--nm-ff-body);
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--kombos-gray-500, #7a8a70);
}
