/* =========================================
= FRONT PAGE — SLIDER PRODUITS PARTAGÉ
  (utilisé par .nl-product-slider et .nl-home-search)
========================================= */
.nl-product-slider {
  margin: 0 1rem; /* tablette + mobile */
}
@media (min-width: 64rem) {
  .nl-product-slider { margin: 0 2rem; }
}

.nl-product-slider--top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}

.nl-product-slider--title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 500;
  color: var(--primary);
  font-style: italic;
  line-height: 1;
  text-transform: capitalize;
  letter-spacing: var(--ls-tight);
}

.nl-product-slider--controls {
  display: inline-flex;
  gap: 0.625rem;
}

/* Bouton nav : pastille ronde pleine (6px), sans bordure */
.nl-product-slider--nav {
  inline-size: 4px;
  block-size: 4px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--primary);
  cursor: pointer;
  transition: background-color .25s ease;
}
.nl-product-slider--nav:hover {
  background: var(--primary-40);
}
.nl-product-slider--nav:disabled {
  cursor: default;
  background: var(--primary-40);
  opacity: .5;
}

.nl-product-slider--viewport { overflow: hidden; }

.nl-product-slider--track {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.nl-product-slider--track::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.nl-product-slider--track > li {
  flex: 0 0 100%;
  scroll-snap-align: start;
}
@media (min-width: 48rem) {
  /* 3,5 cartes pile : bord droit = 3.5·B + 3·gap = 100% → gap 1.25 × 3 = 3.75rem */
  .nl-product-slider--track > li { flex-basis: calc((100% - 3.75rem) / 3.5); }
}
@media (min-width: 64rem) {
  /* 4,5 cartes pile : bord droit = 4.5·B + 4·gap = 100% → gap 1.25 × 4 = 5rem */
  .nl-product-slider--track > li { flex-basis: calc((100% - 5rem) / 4.5); }
}

.nl-product-slider--progress { margin-top: 1.25rem; }

.nl-product-slider--progress-track {
  inline-size: 100%;
  block-size: 1.5px;
  background: var(--muted);
  overflow: hidden;
}

.nl-product-slider--progress-bar {
  display: block;
  block-size: 100%;
  inline-size: 0%;
  background: var(--primary);
  transition: inline-size 0.2s ease;
}

@media (prefers-reduced-motion: reduce) {
  .nl-product-slider--progress-bar { transition: none; }
}

.nl-empty {
  padding: 1rem;
  border: 0.0625rem solid var(--primary-40);
}

.nl-single--main .nl-product-slider {
  margin: 5rem 0 5rem 2rem;
}
.nl-single--main .nl-product-slider .nl-product-slider--top {

  margin-right: 2rem;
}

.nl-single--main .nl-product-slider .nl-product-slider--progress { margin-right: 2rem; }



.nl-home .nl-home-search {
  margin: 0 2rem;
  padding: 7rem 0;
}