/* Little Bloom shopping controls. Scoped to catalog cards, home categories and cart UI. */
.lb-shopping-card, .sf-home-categories, .mall-bag-empty, .cart-nav-badge {
  --lb-shopping-ink: #294237;
  --lb-shopping-accent: #a95436;
  --lb-shopping-line: #e7e4dc;
  --lb-shopping-muted: #87918a;
  --lb-shopping-soft: #f7f5f0;
  --lb-shopping-empty: #cbd5e1;
}

html body .lb-shopping-card { cursor: pointer; }
html body .lb-shopping-card .sf-product-card__media {
  padding: 0;
  border: 0;
  border-radius: 0;
  cursor: pointer;
  color: inherit;
  font: inherit;
}
html body .lb-shopping-card .lb-card-title-link {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: start;
  font: inherit;
  line-height: inherit;
  cursor: pointer;
}
html body .lb-shopping-card .lb-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  margin-top: auto;
  min-width: 0;
  min-height: 44px;
}
html body .lb-shopping-card .lb-card-footer .sf-product-card__prices {
  flex: 1 1 auto;
  min-width: 0;
  margin-top: 0;
  column-gap: 5px;
  row-gap: 2px;
}
html body .lb-shopping-card .sf-product-card__prices strong { overflow-wrap: normal; }
html body .lb-shopping-card .sf-product-card__prices del { white-space: nowrap; }
html body .lb-shopping-card .lb-quick-cart {
  position: relative;
  display: grid;
  flex: 0 0 44px;
  place-items: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--lb-shopping-ink);
  color: #fff;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color 140ms ease, transform 140ms ease;
}
html body .lb-shopping-card .lb-quick-cart svg { display: block; width: 21px; height: 21px; }
html body .lb-shopping-card .lb-quick-cart:active { transform: scale(.96); }
html body .lb-shopping-card .lb-quick-cart:disabled { cursor: default; }
html body .lb-shopping-card .lb-quick-cart.is-sold-out { background: var(--lb-shopping-soft); color: var(--lb-shopping-muted); }
html body .lb-shopping-card .lb-quick-cart.is-loading svg { visibility: hidden; }
html body .lb-shopping-card .lb-quick-cart.is-loading::after {
  content: '';
  position: absolute;
  width: 17px;
  height: 17px;
  border: 1.6px solid rgba(255,255,255,.35);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: lb-shopping-spin 700ms linear infinite;
}
html body .little-bloom-home .sf-home-categories .sf-home-section-head { flex-wrap: wrap; row-gap: 0; }
html body .little-bloom-home .lb-category-header-tools { display: flex; align-items: center; gap: 4px; margin-inline-start: auto; }
html body .little-bloom-home .lb-category-arrows { display: flex; flex: 0 0 auto; align-items: center; }
html body .little-bloom-home .lb-category-arrow {
  position: relative;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--lb-shopping-ink);
  cursor: pointer;
  touch-action: manipulation;
}
html body .little-bloom-home .lb-category-arrow::before { content: ''; position: absolute; inset: 5px; border: 1px solid var(--lb-shopping-line); border-radius: 50%; }
html body .little-bloom-home .lb-category-arrow svg { width: 16px; height: 16px; }
html body .little-bloom-home .lb-category-arrow:disabled { color: #b9c1bb; cursor: default; }
html body .little-bloom-home .lb-category-arrow:disabled::before { border-color: #eceee9; }
html body .little-bloom-home .sf-home-category-scroll { overscroll-behavior-x: contain; }

html body .mall-bag-page .mall-bag-empty-icon {
  display: grid;
  place-items: center;
  width: 104px;
  height: 104px;
  margin: 0 auto 12px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--lb-shopping-empty);
}
html body .mall-bag-page .mall-bag-empty-icon > .bi-icon { display: none; }
html body .mall-bag-page .mall-bag-empty-icon::before {
  content: '';
  width: 104px;
  height: 104px;
  background: currentColor;
  -webkit-mask: url('/brand/lb-bag-outline-61c2190eb978.svg') center / contain no-repeat;
  mask: url('/brand/lb-bag-outline-61c2190eb978.svg') center / contain no-repeat;
}
html body .van-tabbar-item.cart-nav-badge .van-tabbar-item__icon > .bi-icon { display: none; }
html body .van-tabbar-item.cart-nav-badge .van-tabbar-item__icon::before {
  content: '';
  display: block;
  width: 1.55rem;
  height: 1.55rem;
  background: currentColor;
  -webkit-mask: url('/brand/lb-cart-outline-cc971ffc2425.svg') center / contain no-repeat;
  mask: url('/brand/lb-cart-outline-cc971ffc2425.svg') center / contain no-repeat;
}
html body .lb-shopping-card .sf-product-card__media:focus-visible,
html body .lb-shopping-card .lb-card-title-link:focus-visible,
html body .lb-shopping-card .lb-quick-cart:focus-visible,
html body .little-bloom-home .lb-category-arrow:focus-visible {
  outline: 2px solid var(--lb-shopping-accent);
  outline-offset: -2px;
}
@media (hover: hover) and (pointer: fine) {
  html body .lb-shopping-card .lb-quick-cart:not(:disabled):hover { background: var(--lb-shopping-accent); }
  html body .little-bloom-home .lb-category-arrow:not(:disabled):hover { background: var(--lb-shopping-soft); }
}
@media (max-width: 380px) {
  html body .little-bloom-home .sf-home-section-head { column-gap: 5px; }
  html body .little-bloom-home .lb-category-header-tools { gap: 0; }
  html body .little-bloom-home .sf-home-section-link { font-size: 11px; }
  html body .lb-shopping-card .lb-card-footer .sf-product-card__prices strong { font-size: .875rem; line-height: 1.25; }
}
@keyframes lb-shopping-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  html body .lb-shopping-card .lb-quick-cart { transition: none; }
  html body .lb-shopping-card .lb-quick-cart.is-loading::after { animation: none; border-style: dotted; }
}
