.rd-grid { display:grid; grid-template-columns: repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
.rd-card { border:1px solid #eee; border-radius:14px; overflow:hidden; background:#fff; display:flex; flex-direction:column; }
.rd-card .thumb { aspect-ratio: 1 / 1; display:block; width:100%; object-fit:cover; background:#f8f8f8; }
.rd-card .body { padding:12px; display:flex; flex-direction:column; gap:8px; }
.rd-price { font-size:1.1rem; font-weight:700; }
.rd-price small { font-weight:400; color:#777; text-decoration:line-through; margin-left:6px; }
.rd-badge { font-size:.85rem; font-weight:700; padding:2px 6px; border-radius:999px; background:#f0f7f4; display:inline-block; }
.rd-meta { color:#666; font-size:.86rem; }
.rd-cta { margin-top:auto; }
.rd-cta a { display:block; text-align:center; padding:10px 12px; border-top:1px solid #eee; text-decoration:none; }
.rd-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 14px; }
.rd-tabs a { padding:8px 12px; border:1px solid #ddd; border-radius:999px; text-decoration:none; background:#fafafa; }
.rd-tabs a.active { background:#111; color:#fff; border-color:#111; }
.rd-toolbar { display:flex; gap:8px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }
.rd-toolbar input[type='text']{ padding:8px 10px; border:1px solid #ddd; border-radius:10px; min-width:260px; }
.rd-toolbar select, .rd-toolbar button{ padding:8px 12px; border:1px solid #ddd; border-radius:10px; background:#fff; cursor:pointer; }
.rd-empty { padding:24px; text-align:center; color:#666; }
.rd-card{ position:relative; }
.rd-ribbon{
  position:absolute;
  top:10px; left:-6px;
  background:#14a44d;
  color:#fff;
  font-weight:800;
  font-size:16px;
  line-height:1;
  padding:8px 10px;
  border-radius:10px;
  transform: rotate(-18deg);
  box-shadow:0 8px 18px rgba(20,164,77,.25);
  z-index:3;
}
.rd-ribbon small{
  display:inline-block;
  margin-left:4px;
  font-size:11px;
  font-weight:700;
  opacity:.95;
}
.rd-card .thumb{ position:relative; z-index:1; }
