    /* Bazaar override: parchment card, gilt hairline, pomegranate tags/CTA */
    .bz-shop {
      background: linear-gradient(180deg, var(--paper-2), var(--paper));
      border: 1px solid var(--rule);
      border-radius: 18px;
      box-shadow: inset 0 0 0 1px rgba(184,134,47,.10), var(--shadow, 0 1px 3px rgba(74,30,20,.06));
      transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      position: relative;
    }
    .bz-shop:hover {
      border-color: var(--bz-gold);
      box-shadow: inset 0 0 0 1px rgba(184,134,47,.26), var(--shadow-md, 0 8px 20px -6px rgba(74,30,20,.18));
      transform: translateY(-3px);
    }

    .bz-shop .bz-plate {
      position: relative; overflow: hidden;
      background: var(--paper-2);
      border-bottom: 1px solid var(--rule);
    }

    /* Discount tag — pomegranate */
    .bz-shop .bz-tag {
      position: absolute; top: 12px; right: 12px; z-index: 4;
      padding: 0.26rem 0.6rem;
      background: var(--bz-primary);
      color: #fff5ec; border-radius: 0.6rem;
      font-size: 11px; font-weight: 700; letter-spacing: 0.01em;
      box-shadow: 0 2px 8px rgba(74,30,20,.2);
    }

    /* Stock chip (semantic colors kept) */
    .bz-shop .bz-stock {
      position: absolute; top: 12px; left: 12px; z-index: 4;
      display: inline-flex; align-items: center; gap: 5px;
      padding: 0.26rem 0.6rem; border-radius: 0.6rem;
      font-size: 10.5px; font-weight: 700; letter-spacing: 0.01em;
      box-shadow: 0 2px 6px rgba(74,30,20,.12);
      white-space: nowrap; color: #fff;
    }
    .bz-shop .bz-stock--low  { background: #dc2626; }
    .bz-shop .bz-stock--med  { background: #d97706; }
    .bz-shop .bz-stock--free { background: #059669; }

    .bz-shop .bz-veil {
      position: absolute; inset: 0; z-index: 5;
      display: flex; align-items: center; justify-content: center;
      background: rgba(36,16,22,0.4);
      pointer-events: none;
    }
    .bz-shop .bz-veil span {
      background: #241016; color: #f4e7d2;
      font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em;
      padding: 0.4rem 0.9rem; border-radius: 0.7rem;
    }

    .bz-shop .bz-price-now { color: var(--bz-primary); }
    html.dark .bz-shop .bz-price-now { color: var(--bz-gold-strong); }
    .bz-shop .bz-price-was { color: var(--ink-soft); text-decoration: line-through; font-size: 12px; }
    .bz-shop .bz-price-off { color: #059669; font-size: 12px; font-weight: 700; }
    .bz-shop .bz-price-free { color: #059669; }

    /* Flash-sale ring + tag */
    .bz-shop--flash {
      border-color: var(--bz-gold);
      box-shadow: 0 0 0 2px rgba(184,134,47,.4), var(--shadow, 0 1px 3px rgba(74,30,20,.06));
    }
    .bz-shop .bz-flash {
      position: absolute; top: 12px; left: 12px; z-index: 6;
      display: inline-flex; align-items: center; gap: 5px;
      padding: 0.26rem 0.6rem; border-radius: 0.6rem;
      font-size: 10.5px; font-weight: 700; letter-spacing: 0.01em; white-space: nowrap;
      background: var(--bz-primary); color: #fff5ec;
      box-shadow: 0 2px 8px rgba(74,30,20,.2);
    }
    .bz-shop--flash .bz-stock { top: 3.05rem; }
