/** Shopify CDN: Minification failed

Line 264:32 Expected number but found "var("
Line 306:75 Expected "}" to go with "{"

**/
/* ==========================================================================
   Cura — Bestsellers Grid
   ========================================================================== */

.cura-bsg {
  background-color: rgb(var(--color-background));
  padding-top: var(--cura-bsg-pt, 64px);
  padding-bottom: var(--cura-bsg-pb, 64px);
}

.cura-bsg__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 3.2rem;
}

.cura-bsg__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.6rem;
  margin-bottom: 3.2rem;
}

.cura-bsg__heading {
  font-family: var(--font-heading-family);
  font-size: 2.6rem;
  font-weight: 700;
  margin: 0;
  color: rgb(var(--color-foreground));
}

.cura-bsg__viewall {
  flex: 0 0 auto;
  font-size: 1.3rem;
  text-decoration: none;
  color: rgb(var(--color-foreground));
  opacity: 0.8;
}
.cura-bsg__viewall:hover { opacity: 1; }

/* ---- Grid: columns per breakpoint; hide overflow beyond each count ---- */
.cura-bsg__grid {
  display: grid;
  grid-template-columns: repeat(var(--cura-bsg-d-cols, 4), 1fr);
  gap: 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Desktop: hide cells beyond desktop count */
.cura-bsg__cell {
  display: flex;
}
.cura-bsg__cell[data-index] {
  /* shown by default; per-breakpoint hiding below */
}

/* ---- Card ---- */
.cura-bsg-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  border: 1px solid rgba(var(--color-foreground), 0.12);
  border-radius: 12px;
  overflow: hidden;
  background: #ffff;
  cursor: pointer;
  transition: box-shadow 0.2s ease;
  padding: 1.4rem;
}

.cura-bsg-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.cura-bsg-card__media {
  display: block;
  aspect-ratio: 4 / 3; /* landscape, matching Figma's image proportion */
  background: rgba(var(--color-foreground), 0.06);
}
.cura-bsg-card__media img,
.cura-bsg-card__placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.cura-bsg-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  flex: 1 1 auto; /* body fills remaining card height */
  padding-top:1.4rem;
}

.cura-bsg-card__herb {
  align-self: flex-start;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.4rem 0.8rem;
  border-radius: 4px;
  background: rgba(var(--color-foreground), 0.08);
  color: rgb(var(--color-foreground));
}

.cura-bsg-card__title {
  font-family: var(--font-heading-family);
  font-size: 1.7rem;
  font-weight: 700;
  margin: 0.2rem 0 0;
}
.cura-bsg-card__title-link {
  color: rgb(var(--color-foreground));
  text-decoration: none;
}

.cura-bsg-card__desc {
  font-size: 1.2rem;
  line-height: 1.4;
  margin: 0;
  opacity: 0.75;
}

.cura-bsg-card__tagline {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0;
  color: rgb(var(--color-foreground));
  opacity: 0.9;
}

/* ---- Variant pills ---- */
.cura-bsg-card__variants {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: 0.4rem 0;
}
.cura-bsg-card__variant {
  padding: 0.6rem 1.2rem;
  font-size: 1.2rem;
  border: 1px solid rgba(var(--color-foreground), 0.25);
  border-radius: 6px;
  background: transparent;
  color: rgb(var(--color-foreground));
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}
.cura-bsg-card__variant.is-selected {
  background: rgb(var(--color-foreground));
  color: rgb(var(--color-background));
  border-color: rgb(var(--color-foreground));
}
.cura-bsg-card__variant:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
}

/* ---- Price + stepper row ---- */
.cura-bsg-card__price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
}

.cura-bsg-card__prices {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.cura-bsg-card__price {
  font-size: 1.8rem;
  font-weight: 700;
  color: rgb(var(--color-foreground));
}
.cura-bsg-card__compare {
  font-size: 1.3rem;
  text-decoration: line-through;
  opacity: 0.55;
}
.cura-bsg-card__discount {
  font-size: 1.1rem;
  font-weight: 600;
  color: #c0392b;
}
.cura-bsg-card__compare[hidden],
.cura-bsg-card__discount[hidden] { display: none; }

.cura-bsg-card__stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(var(--color-foreground), 0.25);
  border-radius: 6px;
  overflow: hidden;
}
.cura-bsg-card__step {
  width: 2.8rem;
  height: 2.8rem;
  border: none;
  background: transparent;
  color: rgb(var(--color-foreground));
  font-size: 1.6rem;
  cursor: pointer;
}
.cura-bsg-card__qty {
  width: 3.2rem;
  height: 2.8rem;
  text-align: center;
  border: none;
  border-left: 1px solid rgba(var(--color-foreground), 0.25);
  border-right: 1px solid rgba(var(--color-foreground), 0.25);
  background: transparent;
  color: rgb(var(--color-foreground));
  font-size: 1.3rem;
  -moz-appearance: textfield;
}
.cura-bsg-card__qty::-webkit-outer-spin-button,
.cura-bsg-card__qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ---- Add to cart ---- */
.cura-bsg-card__atc.button {
  width: 100%;
  margin-top: 1.2rem;
  padding: 1.2rem;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 6px;
  cursor: pointer;
}
.cura-bsg-card__atc[disabled] { opacity: 0.5; cursor: not-allowed; }
.cura-bsg-card__atc.is-loading { opacity: 0.7; pointer-events: none; }

.cura-bsg__empty {
  text-align: center;
  padding: 3rem;
  border: 1px dashed rgba(0, 0, 0, 0.2);
}

/* ==========================================================================
   Responsive: switch column counts + hide cells beyond each breakpoint's total
   ========================================================================== */

/* Desktop (default): hide cells past desktop count */
@media (min-width: 990px) {
  .cura-bsg__cell { display: flex; }
  .cura-bsg__cell:nth-child(n + var(--cura-bsg-d-count)) { /* placeholder, see JS note */ }
}

/* Tablet */
@media (min-width: 750px) and (max-width: 989px) {
  .cura-bsg__grid {
    grid-template-columns: repeat(var(--cura-bsg-t-cols, 3), 1fr);
  }
}

/* Mobile */
@media (max-width: 749px) {
  .cura-bsg__inner { padding: 0 1.6rem; }
  .cura-bsg__grid {
    grid-template-columns: repeat(var(--cura-bsg-m-cols, 2), 1fr);
    gap: 1.2rem;
  }
  .cura-bsg-card__body { padding: 1rem; gap: 0.6rem; }
  .cura-bsg-card__title { font-size: 1.4rem; }
  .cura-bsg__heading { font-size: 2rem; }

  /* Stack price + stepper vertically so they don't collide/wrap on narrow cards */
  /* Price + stepper on ONE row; compare-at stacks below the price */
  .cura-bsg-card__price-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
  }
  .cura-bsg-card__prices {
    flex-direction: column;     /* main price on top, compare/discount below */
    align-items: flex-start;
    gap: 0.2rem;
    min-width: 0;
  }
  .cura-bsg-card__price { font-size: 1.4rem; }
  .cura-bsg-card__compare { font-size: 1.1rem; }
  .cura-bsg-card__discount { font-size: 1rem; }

  /* Compact stepper sitting beside the price */
  .cura-bsg-card__stepper { flex: 0 0 auto; }
  .cura-bsg-card__step { width: 2.4rem; height: 2.6rem; font-size: 1.4rem; }
  .cura-bsg-card__qty { width: 2.6rem; height: 2.6rem; font-size: 1.2rem; }