/* Customer Reviews */

.hb-reviews { --hb-gap: clamp(14px, 1.8vw, 28px); }

.hb-reviews__grid { display: grid; grid-template-columns: 1fr; gap: var(--hb-gap); }
@media (min-width: 700px) { .hb-reviews__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .hb-reviews__grid { grid-template-columns: repeat(var(--hb-cols, 3), 1fr); } }

/* Restrained slider: native scroll-snap, no script */
.hb-reviews__track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(86%, 380px);
    gap: var(--hb-gap);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    padding-bottom: 10px;
}
.hb-reviews__track .hb-review { scroll-snap-align: start; }
@media (min-width: 1000px) {
    .hb-reviews__track { grid-auto-columns: calc((100% - (var(--hb-cols, 3) - 1) * var(--hb-gap)) / var(--hb-cols, 3)); }
}

.hb-review {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin: 0;
    padding: clamp(20px, 2.4vw, 32px);
    background: var(--_surface);
    border-radius: var(--hb-radius, 4px);
}
.hb-bg--surface .hb-review { background: var(--_bg); }
.hb-bg--dark .hb-review { background: rgba(255, 255, 255, .06); }

.hb-review__text { margin: 0; flex: 1; }
.hb-review__text p { margin: 0; font-size: 1rem; line-height: 1.7; }

.hb-review__by { display: flex; align-items: center; gap: 12px; font-size: .85rem; }
.hb-review__photo { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; }
.hb-review__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hb-review__name { font-weight: 600; }
.hb-review__verified { color: var(--_muted); font-size: .78rem; }
.hb-review__product { color: var(--_muted); font-size: .78rem; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.hb-reviews__more { margin: clamp(20px, 3vw, 36px) 0 0; text-align: center; }
