/* ══════════════════════════════════════
   NS RATING ROW
══════════════════════════════════════ */

.ns-rating-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;

  font-family: 'Outfit', sans-serif;
  flex-wrap: nowrap;

  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.ns-rating-row::-webkit-scrollbar {
  display: none;
}

/* Stars */
.ns-rating-stars {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.ns-star {
  font-size: 15px;
  line-height: 1;
}

.ns-star.filled {
  color: #c9a84c;
}

.ns-star.empty {
  color: rgba(255,255,255,0.2);
}

/* Score */
.ns-rating-score {
  font-size: 13px;
  color: white;
  font-weight: 600;
  letter-spacing: 0.04em;
  flex-shrink: 0;
}

/* Badges — pushed to the right */
.ns-rating-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto; /* Push to right */
  flex-wrap: nowrap;
  flex-shrink: 0;
}

.ns-rbadge {
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  padding: 5px 12px;
  display: inline-block;
  font-family: 'Outfit', sans-serif;
  white-space: nowrap;
}

.ns-rbadge-blue {
  background: #0873EA;
  color: white;
}

.ns-rbadge-gold {
  background: #c9a84c;
  color: #04091a;
}

.ns-rbadge-green {
  background: #0db87a;
  color: #04091a;
}

.ns-rbadge-white {
  background: rgba(255,255,255,0.1);
  color: white;
  border: 1px solid rgba(255,255,255,0.15);
}

/* ── RESPONSIVE ── */

/* Small laptops & tablets */
@media (max-width: 1200px) {

  .ns-rating-row {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    gap: 6px;
  }

  .ns-rating-row::-webkit-scrollbar {
    display: none;
  }

  .ns-star {
    font-size: 13px;
  }

  .ns-rating-score {
    font-size: 11px;
  }

  .ns-rating-badges {
    gap: 4px;
  }

  .ns-rbadge {
    font-size: 8px;
    padding: 4px 8px;
    letter-spacing: 0.08em;
  }

}

/* Mobile */
@media (max-width: 480px) {

  .ns-rating-row {
    flex-wrap: nowrap !important;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    gap: 5px;
  }

  .ns-rating-row::-webkit-scrollbar {
    display: none;
  }

  .ns-star {
    font-size: 11px;
  }

  .ns-rating-score {
    font-size: 10px;
  }

  .ns-rating-badges {
    gap: 3px;
  }

  .ns-rbadge {
    font-size: 7px;
    padding: 3px 6px;
    letter-spacing: 0.05em;
  }

}