/* Homepage Reviews Slider (ns_homereviewsslider) */
.ns-hrs {
  margin: 2rem 0;
}

.ns-hrs__head {
  margin-bottom: 1rem;
}

.ns-hrs__slider {
  position: relative;
}

.ns-hrs__viewport {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.ns-hrs__viewport::-webkit-scrollbar { display: none; }

.ns-hrs__track {
  display: flex;
  gap: 16px;
  padding: 6px 2px 10px;
}

.ns-hrs__slide {
  scroll-snap-align: start;
  flex: 0 0 100%;
}

@media (min-width: 768px) {
  .ns-hrs__slide { flex-basis: calc(50% - 8px); }
}

@media (min-width: 992px) {
  .ns-hrs__slide { flex-basis: calc(25% - 12px); }
}

.ns-hrs__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

.ns-hrs__productline{
  display:flex;
  align-items:center;
  gap:10px;
  padding: 12px 12px 0 12px;
}

.ns-hrs__thumb{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#f7f7f7;
  border-radius:6px;
  overflow:hidden;
  flex: 0 0 auto;
}
.ns-hrs__thumb--sm{
  width:48px;
  height:48px;
}
.ns-hrs__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Product name next to thumbnail (truncate like cart list) */
.ns-hrs__product-link,
.ns-hrs__product-text{
  display:block;
  font-weight:600;
  line-height:1.2;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


.ns-hrs__body {
  padding: 10px 12px 16px;
}

.ns-hrs__stars {
  display: flex;
  align-items: center;
  gap: 2px;
  margin-bottom: 8px;
  line-height: 1;
}

.ns-hrs__star {
  font-size: 16px;
  color: rgba(0,0,0,.25);
}
.ns-hrs__star.is-full { color: #f2b01e; }
.ns-hrs__star.is-half { color: #f2b01e; opacity: .65; }

.ns-hrs__grade {
  margin-left: 8px;
  font-size: 12px;
  color: rgba(0,0,0,.55);
}

.ns-hrs__title {
  font-weight: 600;
  margin-bottom: 8px;
}

.ns-hrs__content {
  font-size: 14px;
  color: rgba(0,0,0,.75);
  margin-bottom: 10px;
  min-height: 3.2em;
}

.ns-hrs__meta{
  font-size: 12px;
  color: rgba(0,0,0,.55);
  display:flex;
  align-items:center;
  gap:6px;
  margin-top: 12px;
}

.ns-hrs__name {
  font-weight: 600;
  color: rgba(0,0,0,.75);
}

.ns-hrs__product-link,
.ns-hrs__product-text {
  font-size: 13px;
  color: rgba(0,0,0,.7);
}

.ns-hrs__product-link:hover {
  text-decoration: underline;
}

.ns-hrs__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 20px rgba(0,0,0,.12);
  cursor: pointer;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  line-height: 1;
}

.ns-hrs__nav[disabled] {
  opacity: .4;
  cursor: default;
}

.ns-hrs__nav--prev { left: -10px; }
.ns-hrs__nav--next { right: -10px; }

@media (max-width: 575px) {
  .ns-hrs__nav--prev { left: -6px; }
  .ns-hrs__nav--next { right: -6px; }
}

.ns-hrs__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
}

.ns-hrs__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 0;
  background: rgba(0,0,0,.22);
  cursor: pointer;
}

.ns-hrs__dot.is-active {
  background: rgba(0,0,0,.60);
}

.ns-hrs__by, .ns-hrs__on{font-weight:400;}
