/* ============================================
   PRODUCT CARDS
   ============================================ */
.pc { background:var(--bg); border-radius:16px; border:1px solid var(--bdr); overflow:hidden; transition:transform .3s cubic-bezier(.25,.1,.25,1),box-shadow .2s,border-color .2s; display:flex; flex-direction:column; }
.pc:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--c-n300); }
.pc-img { aspect-ratio:1; position:relative; overflow:hidden; background:var(--c-n100); }
.pc-img img { width:100%; height:100%; object-fit:cover; }
.pc-badges { position:absolute; top:12px; display:flex; flex-direction:column; gap:4px; z-index:2; }
.pc-badges--l { left:12px; }
.pc-badges--r { right:12px; }
.b-custom { background:var(--c-info-lt); color:var(--c-info-base); }
.pc-acts { position:absolute; bottom:0; left:0; right:0; background:color-mix(in srgb, var(--c-p800) 90%, transparent); display:flex; gap:1px; transform:translateY(100%); transition:transform .26s cubic-bezier(.25,.1,.25,1); z-index:3; }
.pc:hover .pc-acts { transform:translateY(0); }
.pc-atc { flex:1; height:44px; background:var(--c-p500); color:var(--txi); border:none; font-size:13px; font-weight:600; font-family:var(--fb); cursor:pointer; transition:background .15s; letter-spacing:.03em; }
.pc-atc:hover { background:var(--c-p600); }
.pc-body { padding:16px; display:flex; flex-direction:column; gap:7px; flex:1; }
.pc-title { font-family:var(--fd); font-size:17px; font-weight:400; color:var(--tx); line-height:1.3; }
.pc-title a { color:inherit; text-decoration:none; }
.pc-title a:hover { color:var(--c-p500); }
.pc-price { font-size:16px; font-weight:700; color:var(--tx); display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pc-was { text-decoration:line-through; color:var(--txm); font-size:13px; font-weight:400; }
.pc-sale { color:var(--c-sale); }
.pc-foot { margin-top:auto; padding-top:8px; }
.pc--oos .pc-img { filter:grayscale(.3); }
.pc--oos .pc-oo { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:var(--bg-ov); color:var(--txi); font-size:13px; font-weight:600; }

/* ============================================
   PRODUCT GRIDS
   ============================================ */
.prod-sec { padding:56px 32px; border-radius:24px; border:1px solid var(--bdr); margin:24px 24px 0; }
.prod-sec--alt { background:var(--c-n100); }
.prod-g4 { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
