.of-section{padding:56px 0 96px;background:var(--surface-alt)}.of-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}@media(max-width:1024px){.of-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.of-grid{grid-template-columns:repeat(2,1fr);gap:14px}}@media(max-width:440px){.of-grid{grid-template-columns:1fr}}.of-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:transform var(--dur) var(--ease),border-color var(--dur),box-shadow var(--dur)}.of-card:hover{transform:translateY(-4px);border-color:var(--brand-tint-strong);box-shadow:var(--shadow-md)}.of-img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--slate-100),var(--slate-200));overflow:hidden;position:relative}.of-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--dur-slow) ease}.of-card:hover .of-img img{transform:scale(1.03)}.of-img-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--brand);opacity:.5}.of-img-ph svg{width:38px;height:38px;stroke-width:1.4}.of-body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column}.of-title{font-size:15px;font-weight:600;line-height:1.3;color:var(--text);margin-bottom:6px;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.of-price{font-size:13.5px;color:var(--brand);font-weight:700;margin-bottom:10px}.of-desc{font-size:12.5px;color:var(--text-secondary);line-height:1.55;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.of-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.of-footer img,.of-avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0}.of-footer img{object-fit:cover}.of-avatar{background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.of-footer span{font-size:12px;color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
