.ribka-catch-wrap{ font-family: inherit; }

.ribka-catch-msg{
  padding:12px 16px; border-radius:10px; margin-bottom:16px; font-size:14px; font-weight:600;
}
.ribka-catch-success{ background:rgba(79,191,130,0.15); color:#4fbf82; border:1px solid rgba(79,191,130,0.35); }
.ribka-catch-error{ background:rgba(224,102,102,0.15); color:#e06666; border:1px solid rgba(224,102,102,0.35); }

.ribka-catch-form{
  display:flex; flex-direction:column; gap:8px;
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08);
  border-radius:14px; padding:20px; margin-bottom:26px; max-width:480px;
}
.ribka-catch-form label{ font-weight:700; font-size:13px; margin-top:8px; }
.ribka-catch-form input[type="text"], .ribka-catch-form input[type="file"]{
  padding:10px 12px; border-radius:8px; border:1px solid rgba(255,255,255,0.15);
  background:rgba(255,255,255,0.06); color:inherit; font-size:14px;
}
.ribka-catch-btn{
  margin-top:16px; padding:12px 20px; border:none; border-radius:999px;
  background:linear-gradient(90deg,#8fe3b0,#4fbf82); color:#0b2b1c;
  font-weight:800; cursor:pointer; font-size:15px; transition: transform .2s ease;
}
.ribka-catch-btn:hover{ transform: translateY(-2px); }

.ribka-catch-login-note{ opacity:.85; margin-bottom:20px; }

.ribka-catch-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:18px;
}
.ribka-catch-item{
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.08);
  border-radius:14px; overflow:hidden; transition: transform .2s ease;
}
.ribka-catch-item:hover{ transform: translateY(-3px); }
.ribka-catch-img{ height:180px; overflow:hidden; }
.ribka-catch-img img{ width:100%; height:100%; object-fit:cover; }
.ribka-catch-info{ padding:12px 14px; }
.ribka-catch-info h4{ margin:0 0 4px; font-size:15px; }
.ribka-catch-author{ font-size:12px; opacity:.7; margin-bottom:10px; }

.ribka-catch-vote-btn{
  width:100%; padding:8px 12px; border-radius:999px; border:1px solid rgba(255,255,255,0.15);
  background:rgba(255,255,255,0.06); color:inherit; cursor:pointer; font-size:13px; font-weight:700;
  transition: background-color .2s ease;
}
.ribka-catch-vote-btn:hover{ background:rgba(79,191,130,0.2); }
.ribka-catch-vote-btn:disabled{ opacity:.6; cursor:default; }

.ribka-catch-empty{ opacity:.8; grid-column:1/-1; text-align:center; padding:30px 0; }
