.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}@media (max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.product-grid{grid-template-columns:repeat(2,1fr);gap:10px}}.pcard{position:relative;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;color:var(--text);display:flex;flex-direction:column;transition:all 0.2s cubic-bezier(.4,0,.2,1)}.pcard:hover{border-color:var(--primary);box-shadow:0 8px 24px rgba(0,0,0,.06);transform:translateY(-2px)}.pcard.is-out{opacity:0.7}.pcard.is-out .pcard-image img{filter:grayscale(0.5)}.pcard-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:var(--text)}.pcard-link:hover{opacity:1}.pcard-image{width:100%;aspect-ratio:1;background:linear-gradient(135deg,#fafaf9 0%,#f5f5f4 100%);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.pcard-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}.pcard:hover .pcard-image img{transform:scale(1.06)}.pcard-emoji{font-size:48px;opacity:0.3}.badge-stack{display:none}.badge{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;font-size:12px;font-weight:700;border-radius:4px;letter-spacing:0.02em;text-transform:uppercase;backdrop-filter:blur(6px)}.badge-bpom{background:rgba(16,185,129,0.92);color:#fff}.badge-new{background:rgba(207,3,2,0.92);color:#fff}.badge-low{background:rgba(245,158,11,0.92);color:#fff}.badge-out{background:rgba(100,116,139,0.92);color:#fff}.pcard-quick{position:absolute;bottom:8px;right:8px;width:36px;height:36px;background:#fff;border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;opacity:0;transform:translateY(8px);transition:all 0.2s cubic-bezier(.4,0,.2,1);font-size:18px;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.08)}.pcard:hover .pcard-quick{opacity:1;transform:translateY(0)}.pcard-quick:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.1)}.pcard-body{padding:14px 14px 16px;flex:1;display:flex;flex-direction:column}.pcard-brand{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em;font-weight:600;margin-bottom:4px}.pcard-name{font-size:13.5px;font-weight:500;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;min-height:38px}.pcard-meta{font-size:12px;color:var(--text-muted);display:flex;align-items:center;gap:5px;margin-bottom:10px}.pcard-stock-dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0}.pcard-stock-dot.low{background:var(--warning,#f59e0b)}.pcard-stock-dot.out{background:var(--text-light,#a1a1aa)}.pcard-price{font-size:17px;font-weight:800;color:var(--text);letter-spacing:-0.02em;margin-top:auto}.pcard-price-currency{font-size:12px;font-weight:600;color:var(--text-muted);margin-right:2px}.pcard-price-original{font-size:12px;color:var(--text-muted);text-decoration:line-through;font-weight:400;margin-right:6px}.pcard-price-promo{color:var(--danger)}.pcard-promo-badge{display:inline-flex;align-items:center;gap:3px;background:var(--danger);color:#fff;font-size:12px;font-weight:700;padding:2px 7px;border-radius:4px;margin-left:6px;vertical-align:middle}.pcard-add-btn,.pcard-add-disabled{display:none}@media (min-width:1025px){.pcard-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 14px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:0;border-top:1px solid var(--border);font-size:12.5px;font-weight:600;cursor:pointer;transition:background 0.15s;font-family:inherit}.pcard-add-btn:hover:not(:disabled){background:var(--primary-dark)}.pcard-add-btn svg{flex-shrink:0}.pcard-add-disabled{display:flex;align-items:center;justify-content:center;width:100%;padding:10px 14px;background:#f1f5f9;color:#94a3b8;border:0;border-top:1px solid var(--border);font-size:12.5px;cursor:not-allowed;font-family:inherit}}@media (max-width:900px){.pcard-name{font-size:12.5px;min-height:34px}.pcard-price{font-size:15px}}@media (max-width:600px){.product-grid{gap:8px}.pcard{border-radius:10px}.pcard-body{padding:8px 9px 10px}.pcard-brand{font-size:12px;letter-spacing:0.05em;margin-bottom:2px}.pcard-name{font-size:12.5px;line-height:1.35;min-height:32px;margin-bottom:4px}.pcard-meta{font-size:12px;gap:4px;margin-bottom:6px;white-space:nowrap;overflow:hidden}.pcard-meta-extra,.pcard-meta-cat{display:none}.pcard-price{font-size:15.5px;color:var(--primary)}.pcard-price-currency{font-size:12px}.pcard-quick{display:none}.badge{font-size:12px;padding:2px 6px}}*{box-sizing:border-box;margin:0;padding:0}