.cat-hero{padding:60px 0 30px;text-align:center}
.cat-hero h1{font-size:32px;margin:0 0 10px}
.cat-hero p{color:var(--r-muted);font-size:14px;max-width:560px;margin:0 auto}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0 70px}
@media(max-width:900px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.cat-grid{grid-template-columns:1fr}}
.cat-card{background:var(--r-panel);border:1px solid var(--r-line);border-radius:16px;overflow:hidden;transform-style:preserve-3d;transition:box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.cat-card:hover{border-color:var(--r-cyan);box-shadow:0 18px 34px rgba(0,180,255,.22)}
.cat-thumb{height:150px;background:linear-gradient(150deg,var(--r-panel2),var(--r-bg));display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center}
.cat-thumb svg{width:46px;height:46px;color:var(--r-cyan)}
.cat-body{padding:18px;display:flex;flex-direction:column;flex:1}
.cat-body h3{font-size:16px;margin:0 0 6px}
.cat-body .cat-cat{display:inline-block;font-size:10px;color:var(--r-cyan);background:rgba(19,231,255,.1);border:1px solid rgba(19,231,255,.3);padding:3px 10px;border-radius:100px;margin-bottom:10px;align-self:flex-start}
.cat-body p{font-size:12.5px;color:var(--r-muted);line-height:1.6;margin:0 0 14px;flex:1}
.cat-price{font-size:15px;font-weight:800;color:var(--r-yellow);margin-bottom:12px}
.cat-price small{font-size:10px;color:var(--r-muted);font-weight:500}
.cat-body .ref-btn{align-self:flex-start}
.cat-empty{text-align:center;padding:60px 20px;color:var(--r-muted)}
.osi-reveal{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.osi-reveal.is-visible{opacity:1;transform:none}
