.hero-subtitle, .filter-bar, .product-card, .cta h2, .cta p, .cta .btn, .stagger-text .char { opacity: 1; transform: none; }
.product-card.sold-out { opacity: .5; transform: none; }
.filter-bar-inner { display: flex; flex-direction: column; gap: 10px; align-items: center; }
.filter-buttons { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.shop-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px 12px; width: 100%; }
.control-label { color: var(--text-muted); font: 700 .7rem var(--font-heading); letter-spacing: 1px; text-transform: uppercase; }
.shop-select { min-height: 38px; border: 1px solid var(--border-color); border-radius: 6px; padding: 8px 34px 8px 12px; background: var(--bg-dark); color: var(--text-primary); font: 600 .9rem var(--font-body); }
.shop-select:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.result-count { min-width: 160px; color: var(--text-secondary); font-size: .85rem; text-align: left; }
.product-card-price { margin-bottom: 6px; }
.product-card-availability { margin-bottom: 10px; color: var(--text-secondary); font-size: .85rem; }
.product-card-actions { display: inline-block; margin-top: 12px; color: var(--gold); font: 700 .72rem var(--font-heading); letter-spacing: 1px; text-transform: uppercase; }
@media (max-width: 768px) {
  /* Mobile: the wrapped pill wall pushed the product grid below the fold
     (the sticky filter bar ate half the viewport). One horizontally
     scrollable chip row instead — grid stays visible immediately. */
  .filter-bar { padding: 10px 0 8px; overflow-x: visible; }
  .filter-bar-inner { gap: 8px; align-items: stretch; }
  .filter-buttons {
    /* min-width:0 lets the row shrink below its content so IT scrolls,
       instead of blowing out to content width and scrolling the whole bar */
    min-width: 0;
    width: 100%;
    max-width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    padding: 2px 24px;
    /* edge fade hints there's more to scroll */
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 20px, #000 calc(100% - 20px), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0, #000 20px, #000 calc(100% - 20px), transparent 100%);
  }
  .filter-buttons::-webkit-scrollbar { display: none; }
  .filter-btn {
    scroll-snap-align: start;
    flex: 0 0 auto;
    min-height: 44px; /* Apple HIG touch target */
    padding: 8px 16px;
    touch-action: manipulation;
  }
  .shop-controls {
    min-width: 0;
    max-width: 100%;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    padding: 0 24px;
    gap: 8px 10px;
  }
  .shop-controls::-webkit-scrollbar { display: none; }
  .shop-select { min-height: 44px; flex: 0 0 auto; }
  .control-label { flex: 0 0 auto; }
  .result-count { min-width: 0; white-space: nowrap; flex: 0 0 auto; }
}
