.vaso-bestsell__head {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-5); margin-bottom: 42px;
}
.vaso-bestsell__title {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(1.9rem, 3.4vw, 2.6rem); color: var(--vaso-ink);
  text-transform: capitalize; letter-spacing: 0.01em; margin: 0;
}
.vaso-bestsell__controls { display: flex; align-items: center; gap: 40px; }
.vaso-bestsell__arrows { display: flex; gap: 16px; }

.vaso-bestsell__rail {
  display: flex; gap: 20px;
  padding: 0 var(--container-pad-desktop);
  overflow-x: auto; scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.vaso-bestsell__rail::-webkit-scrollbar { display: none; }
.vaso-bestsell__cell {
  flex: 0 0 calc((min(100vw, var(--container-max)) - var(--container-pad-desktop) * 2 - 80px) / 5);
  min-width: 240px; scroll-snap-align: start;
}

/* Sample tiles (no collection wired) — mirrors the product card feel */
.vaso-sample { display: flex; flex-direction: column; gap: 12px; }
.vaso-sample__media {
  aspect-ratio: 368 / 556; overflow: hidden;
  background: var(--vaso-tile); border-radius: var(--radius-md);
}
.vaso-sample__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-slow); }
.vaso-sample:hover .vaso-sample__media img { transform: scale(1.03); }
.vaso-sample__body { display: flex; flex-direction: column; align-items: center; gap: 3px; text-align: center; }
.vaso-sample__name { font-family: var(--font-body); font-weight: 500; font-size: 20px; letter-spacing: 0.02em; color: var(--vaso-ink-2); text-transform: capitalize; }
.vaso-sample__price { font-family: var(--font-body); font-weight: 300; font-size: 20px; color: var(--vaso-muted); text-transform: uppercase; font-variant-numeric: tabular-nums; }

@media (max-width: 1024px) {
  .vaso-bestsell__cell { flex-basis: calc((100vw - var(--container-pad-desktop) * 2 - 40px) / 3); }
}
@media (max-width: 768px) {
  /* A heading of any length keeps the controls on screen: they drop below it when needed */
  .vaso-bestsell__head { margin-bottom: 28px; flex-wrap: wrap; row-gap: 16px; }
  .vaso-bestsell__title { min-width: 0; overflow-wrap: anywhere; }
  .vaso-bestsell__controls { gap: 22px; }
  .vaso-bestsell__rail { padding: 0 var(--container-pad-mobile); gap: 14px; }
  .vaso-bestsell__cell { flex-basis: 68vw; min-width: 0; }
  .vaso-sample__name, .vaso-sample__price { font-size: 17px; }
}

/* Theme blocks (blocks/*.liquid). Every rule is opt-in: an untouched block matches none of them. */
.qm-contents { display: contents; }
.av-block-group { display: flex; flex-direction: column; gap: var(--av-group-gap, 12px); align-items: var(--av-group-align, stretch); }
.av-block-group--row { flex-direction: row; flex-wrap: wrap; justify-content: var(--av-group-justify, flex-start); align-items: var(--av-group-align, center); }
.av-block-text p, .av-block-text li { font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit; }
