/* Product Card - shared */
/* Product Card */
.pcard { background:#fff; border-radius:0.875rem; overflow:hidden; border:1px solid #f3f4f6; transition:box-shadow 0.2s, transform 0.2s; position:relative; display:flex; flex-direction:column; }
.pcard:hover { box-shadow:0 8px 24px rgba(0,0,0,0.1); }
.pcard.out-of-stock { opacity:0.7; }

.pcard__badges { position:absolute; top:0.5rem; right:0.5rem; z-index:2; display:flex; flex-direction:column; gap:0.25rem; }
.badge { display:inline-flex; align-items:center; padding:0.15rem 0.5rem; border-radius:9999px; font-size:0.6875rem; font-weight:700; white-space:nowrap; }
.badge-discount { background:#ef4444; color:#fff; }
.badge-new      { background:#3b82f6; color:#fff; }
.badge-best     { background:#f97316; color:#fff; }
.badge-out      { background:#9ca3af; color:#fff; }

.pcard__wish { position:absolute; top:0.5rem; left:0.5rem; z-index:2; width:2rem; height:2rem; background:#fff; border-radius:50%; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 1px 4px rgba(0,0,0,0.12); color:#9ca3af; transition:color 0.15s, transform 0.15s; opacity:0; }
.pcard:hover .pcard__wish, .pcard__wish.active { opacity:1; }
.pcard__wish:hover, .pcard__wish.active { color:#e0457b; transform:scale(1.1); }

.pcard__img-wrap { display:block; background:#f9fafb; overflow:hidden; aspect-ratio:1; }
.pcard__img { width:100%; height:100%; object-fit:contain; padding:0.75rem; transition:transform 0.3s; }
.pcard:hover .pcard__img { transform:scale(1.06); }
.pcard__img-placeholder { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#d1d5db; }

.pcard__body { padding:0.75rem; display:flex; flex-direction:column; gap:0.375rem; flex:1; }
.pcard__name { font-size:0.8125rem; font-weight:500; color:#1f2937; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; text-decoration:none; }
.pcard__name:hover { color:#e0457b; }

.pcard__rating { display:flex; align-items:center; gap:0.25rem; font-size:0.75rem; }
.stars { color:#fbbf24; letter-spacing:0.05em; }
.pcard__rating-count { color:#9ca3af; }

.pcard__price { margin-top:auto; }
.pcard__price-old { font-size:0.75rem; color:#9ca3af; text-decoration:line-through; }
.pcard__price-main { font-size:0.9375rem; font-weight:700; color:#111827; }
.pcard__price-out { font-size:0.875rem; color:#9ca3af; }

.pcard__footer { display:flex; align-items:center; justify-content:space-between; margin-top:0.5rem; }
.btn-add { width:2.25rem; height:2.25rem; background:#e0457b; color:#fff; border:none; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.15s, transform 0.1s; flex-shrink:0; }
.btn-add:hover { background:#c73d6e; }
.btn-add:active { transform:scale(0.92); }
.btn-notify { font-size:0.75rem; color:#6b7280; border:1px solid #e5e7eb; border-radius:0.5rem; padding:0.25rem 0.5rem; background:none; cursor:pointer; font-family:inherit; }
.btn-notify:hover { border-color:#e0457b; color:#e0457b; }

/* List view card */
.cat-grid.list-view .pcard { flex-direction:row; }
.cat-grid.list-view .pcard__img-wrap { width:7rem; height:7rem; aspect-ratio:unset; flex-shrink:0; }
.cat-grid.list-view .pcard__body { padding:0.875rem; }


/* List view */
.cat-grid.list-view .pcard { flex-direction:row; }
.cat-grid.list-view .pcard__img-wrap { width:7rem; height:7rem; aspect-ratio:unset; flex-shrink:0; }
.cat-grid.list-view .pcard__body { padding:0.875rem; }

/* Home grid */
.home-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0.75rem; }
@media(min-width:640px){ .home-grid { grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px){ .home-grid { grid-template-columns:repeat(4,1fr); } }
