.ncpl { margin-top: 24px; }

.ncpl-line { margin-bottom: 15px; }

.ncpl-line__track{
  display:flex;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:4px 2px 12px;
}
.ncpl-line__item{
  flex:0 0 auto;
  width:260px;
  scroll-snap-align:start;
}
.ncpl-line__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin: 0 0 12px;
}

.ncpl-line__title{
  font-size:18px;
  margin:0;
}

/* nadpisanie w koszyku */
body.page-cart .ncpl-line__title {
    font-size: 16px;
    margin-left: 5px;
}

.ncpl-line__nav{
  display:flex;
  gap:8px;
}

.ncpl-line__btn{
  width:34px;
  height:34px;
  border:1px solid #ddd;
  border-radius:10px;
  background:#fff;
  cursor:pointer;
  line-height:32px;
  font-size:22px;
  padding:0;
}
.ncpl-line__btn:disabled{
  opacity:.35;
  cursor:default;
}

.ncpl-line__viewport{
  position:relative;
  overflow:hidden; /* ważne: brak “iframe scrolla” */
}

.ncpl-line__track{
  display:flex;
  gap:16px;
  overflow-x:auto;              /* nadal scrollujemy, ale ukryty */
  scroll-behavior:smooth;
  padding-bottom: 8px;

  scrollbar-width:none;         /* Firefox */
}
.ncpl-line__track::-webkit-scrollbar{ display:none; } /* Chrome */

/* kafelek = 1 krok */
.ncpl-line__track .nc-variantlisting__item{
  flex: 0 0 auto;
}

/* ile przerwy między kafelkami */
.ncpl-line__track{ gap:16px; }

.ncpl-line__track{
  scroll-snap-type: x mandatory;
  scroll-snap-stop: always; /* Safari/iOS pomaga */
  -webkit-overflow-scrolling: touch;
}

.ncpl-line__track .nc-variantlisting__item{
  scroll-snap-align: start;
}

/* domyślnie: 2 w rzędzie */
.ncpl-line__track .nc-variantlisting__item{
  flex:0 0 calc((100% - 1*16px)/2);
}

/* >= 768px: 3 w rzędzie */
@media (min-width: 768px){
  .ncpl-line__track .nc-variantlisting__item{
    flex-basis: calc((100% - 2*16px)/3);
  }
}

/* >= 1024px: 4 w rzędzie */
@media (min-width: 1024px){
  .ncpl-line__track .nc-variantlisting__item{
    flex-basis: calc((100% - 3*16px)/4);
  }
}

@media (min-width: 1280px){
  .ncpl-line__track .nc-variantlisting__item{
    flex-basis: calc((100% - 4*16px)/5);
  }
}

@media (min-width: 1600px){
  .ncpl-line__track .nc-variantlisting__item{
    flex-basis: calc((100% - 5*16px)/6);
  }
	/* nadpisanie w koszyku */
  body.page-cart .ncpl-line__track .nc-variantlisting__item {
    flex-basis: calc((100% - 4*16px)/5);
  }
}

@media (min-width: 1920px){
  .ncpl-line__track .nc-variantlisting__item {
    flex-basis: calc((100% - 6*16px)/7);
  }
	/* nadpisanie w koszyku */
  body.page-cart .ncpl-line__track .nc-variantlisting__item {
    flex-basis: calc((100% - 4*16px)/5);
  }
}
