.souq-product-card{
	background:var(--souq-surface); border:1px solid var(--souq-border); border-radius:var(--souq-radius-lg);
	overflow:hidden; display:flex; flex-direction:column; transition:box-shadow var(--souq-motion-base), transform var(--souq-motion-base);
}
.souq-product-card:hover{ box-shadow:var(--souq-shadow-md); transform:translateY(-2px); }
.souq-product-card--outofstock .souq-product-card__image img{ opacity:.55; filter:grayscale(.2); }

/* Phase 3.1: wrapper holds the image <a> and the wishlist <button> as
   siblings (previously the button was nested inside the anchor, which is
   invalid/inaccessible interactive-in-interactive markup). Visual overlay
   position is unchanged. */
.souq-product-card__image-wrap{ position:relative; }
.souq-product-card__image{ position:relative; display:block; aspect-ratio:1/1; background:var(--souq-surface-secondary); overflow:hidden; }
.souq-product-card__image img{ width:100%; height:100%; object-fit:cover; transition:transform var(--souq-motion-base); }
.souq-product-card:hover .souq-product-card__image img{ transform:scale(1.04); }

.souq-product-card__wishlist{
	position:absolute; bottom:8px; inset-inline-start:8px; z-index:2; width:32px; height:32px; border-radius:999px;
	background:var(--souq-surface); border:0; box-shadow:var(--souq-shadow-sm);
	display:flex; align-items:center; justify-content:center; color:var(--souq-text-muted);
}
.souq-product-card__wishlist:hover{ color:var(--souq-danger); }
.souq-product-card__wishlist:focus-visible{ outline:2px solid var(--souq-primary); outline-offset:2px; }
.souq-product-card__wishlist svg{ width:16px; height:16px; }

.souq-product-card__body{ padding:12px; display:flex; flex-direction:column; gap:6px; flex:1; }

.souq-product-card__cat{ font-size:11px; color:var(--souq-text-muted); text-transform:uppercase; letter-spacing:.02em; }
.souq-product-card__cat a{ color:inherit; }

.souq-product-card__name{ font-size:14px; font-weight:700; margin:0; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.souq-product-card__name a{ color:var(--souq-text); }
.souq-product-card__rating{ display:flex; align-items:center; gap:6px; font-size:12px; color:var(--souq-text-muted); }
.souq-product-card__rating .star-rating{ font-size:12px; color:var(--souq-accent); }

/* WooCommerce's own price_html output (.price / ins / del) — restyled,
   not recalculated. ins = current/sale price, del = struck regular price. */
.souq-product-card__price{ margin-block-start:auto; }
.souq-product-card__price .price{ display:flex; align-items:baseline; gap:8px; font-size:17px; font-weight:900; color:var(--souq-primary); }
.souq-product-card__price .price ins{ text-decoration:none; color:var(--souq-danger); }
.souq-product-card__price .price del{ font-size:12px; font-weight:400; color:var(--souq-text-muted); opacity:1; order:2; }

.souq-product-card__cta{ margin-block-start:2px; }
/* WooCommerce's default add_to_cart_button classes, restyled to Souq buttons
   via the class-merge filter in inc/woocommerce/hooks.php — no visual
   overrides needed for .button here beyond what souq-btn already provides. */
.souq-product-card__cta .added_to_cart{ display:block; margin-block-start:6px; font-size:12px; color:var(--souq-primary); text-align:center; }
