
:root{
  --occ-radius:16px;
  --occ-shadow:0 8px 30px rgba(0,0,0,.08);
  --occ-accent:#12A5F5;
  --occ-text:#0F172A;
}
.occ-grid{display:grid;grid-template-columns:repeat(var(--occ-cols,4),minmax(0,1fr));gap:var(--occ-gap,16px)}
@media (max-width:1024px){ .occ-grid{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:768px){ .occ-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:480px){ .occ-grid{grid-template-columns:1fr;} }
.occ-card{background:#fff;border:1px solid #eee;border-radius:var(--occ-radius);overflow:hidden;box-shadow:none;transition:transform .15s ease, box-shadow .15s ease;display:flex;flex-direction:column;position:relative}
.occ-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--occ-shadow)}
.occ-wish{position:absolute;right:12px;top:12px;background:#fff;border:0;border-radius:999px;width:34px;height:34px;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.occ-thumb img{width:100%;height:240px;object-fit:cover;display:block}
.occ-badge{position:absolute;left:12px;top:12px;background:#fff;border-radius:12px;padding:6px 8px;font-size:12px}
.occ-badge--verified{background:#e6f7ff;color:#0077cc}
.occ-body{padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.occ-title{font-size:16px;margin:0;color:var(--occ-text)}
.occ-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:#555}
.occ-price{margin-left:auto;font-weight:700;color:#111}
.occ-desc{font-size:13px;color:#555;margin:0}
.occ-btn{display:inline-block;padding:10px 14px;border-radius:12px;border:1px solid var(--occ-accent);background:var(--occ-accent);color:#fff;text-decoration:none;text-align:center;transition:transform .12s ease, box-shadow .12s ease}
.occ-btn:active{transform:translateY(1px) scale(.98)}
