:root{--qg-gap:14px;--qg-radius:16px;--qg-border:#e5e7eb;--qg-muted:#6b7280;}
.qg-wrap{max-width:1200px;margin:24px auto;padding:0 12px;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;color:#0f172a}
.qg-section{margin-bottom:28px}
.qg-h{margin:0 0 12px;font-size:22px;font-weight:900;letter-spacing:-.2px}
.qg-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--qg-gap)}
@media (max-width:1100px){.qg-tiles{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){.qg-tiles{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.qg-tiles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:400px){.qg-tiles{grid-template-columns:1fr}}
.qg-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--qg-border);border-radius:var(--qg-radius);overflow:hidden}
.qg-thumb{aspect-ratio:1/1;background:#f8fafc;border-bottom:1px solid var(--qg-border);display:grid;place-items:center;position:relative}
.qg-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.qg-body{padding:10px 12px 12px;display:grid;gap:8px}
.qg-name{font-weight:800;font-size:14px;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.qg-meta{display:flex;gap:6px;align-items:center}
.qg-badge{font-size:11px;font-weight:800;padding:4px 8px;border-radius:999px;background:#ecfeff;color:#0369a1;border:1px dashed #bae6fd}
.qg-price{display:flex;align-items:baseline;gap:8px}
.qg-sale{font-weight:900;font-size:18px}
.qg-compare{font-size:13px;color:#9ca3af}
.qg-compare del{text-decoration-thickness:2px;text-decoration-color:#ef4444}
.qg-cta{margin-top:6px;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 12px;width:100%;border:0;border-radius:12px;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-weight:900;font-size:14px;text-decoration:none;text-align:center}
.qg-cta:hover{filter:brightness(1.06)}
.qg-cta-secondary{margin-top:6px;display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:10px 12px;width:100%;border:1px solid #d1d5db;border-radius:12px;cursor:pointer;background:#f9fafb;color:#111827;font-weight:700;font-size:14px;text-decoration:none;text-align:center}
.qg-cta-secondary:hover{background:#f3f4f6}
.qg-flag{position:absolute;top:8px;left:8px;background:#111827;color:#fff;border-radius:999px;font-size:11px;font-weight:800;padding:4px 10px;opacity:.95;line-height:1}


/* --- Visible yellow stars before review count (fallback-safe) --- */
.qg-stars{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  color:var(--qg-muted);
  margin-top:2px;
}
.qg-stars-stars{
  font-size:14px;
  letter-spacing:1px;
  line-height:1;
  color:#fbbf24; /* yellow */
}
.qg-stars-count{
  font-variant-numeric: tabular-nums;
}

