/* Product Grid */
.bel-product-grid__grid { display: grid; grid-template-columns: repeat(var(--bel-cols, 3), minmax(0, 1fr)); gap: 40px 30px; }
.bel-product-card__media { position: relative; display: block; aspect-ratio: 1 / 1.02; overflow: hidden; background: var(--bel-grey); }
.bel-product-card__media img, .bel-product-card__media .bel-ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--bel-ease); }
.bel-product-card:hover .bel-product-card__media img { transform: scale(1.06); }
.bel-product-card__badge { position: absolute; top: 0; left: 0; padding: 13px 20px; background: var(--bel-dark); color: #fff; font-size: 14px; font-weight: 500; }
.bel-product-card__sale { position: absolute; top: 14px; right: 14px; padding: 4px 12px; background: var(--bel-accent); color: var(--bel-on-accent); font-size: 13px; font-weight: 700; text-transform: uppercase; }
.bel-product-card__body { padding-top: 24px; }
.bel-product-card__title { margin: 0 0 8px; font-size: clamp(1.25rem, 1.8vw, 1.5rem); }
.bel-product-card__title a:hover { color: var(--bel-accent); }
.bel-product-card__price { margin-bottom: 10px; color: var(--bel-heading); font-size: 18px; font-weight: 600; }
.bel-product-card__price del { margin-right: 8px; color: #8a8a8a; font-weight: 400; }
.bel-product-card__price ins { text-decoration: none; }
.bel-product-card__text { display: -webkit-box; margin-bottom: 14px; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.bel-product-card__cart.added { color: var(--bel-accent); }
.bel-product-card .added_to_cart { display: inline-block; margin-left: 14px; font-size: 14px; font-weight: 600; text-decoration: underline; }
.bel-product-grid__more { margin-top: 56px; text-align: center; }
.bel-product-grid__notice { padding: 24px; border: 1px dashed var(--bel-line); text-align: center; }
@media (max-width: 1024px) { .bel-product-grid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .bel-product-grid__grid { grid-template-columns: 1fr; } }
