/* RR Premium Recs – clean, unified, premium */
.rrpr-wrap{ --_cols:3; margin: 0 auto 24px; color: var(--rrpr-text); }
.rrpr-wrap .rrpr-header{ display:flex; align-items:baseline; justify-content:space-between; margin: 0 0 14px; }
.rrpr-wrap .rrpr-title{ font-size: clamp(20px, 3vw, 30px); color: var(--rrpr-title); margin:0; letter-spacing: -0.2px; font-weight:800; }

.rrpr-grid{
  display:grid;
  grid-template-columns: repeat(var(--_cols), minmax(260px,1fr));
  gap: var(--rrpr-gap);
}

@media (max-width: 1100px){
  .rrpr-grid{ grid-template-columns: repeat(2, minmax(220px,1fr)); }
}
@media (max-width: 640px){
  .rrpr-grid{ grid-template-columns: 1fr; }
}

.rrpr-card{
  background: var(--rrpr-card-bg);
  border-radius: var(--rrpr-radius);
  box-shadow: var(--rrpr-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height: 100%;
  transition: transform .18s ease, box-shadow .18s ease;
  border: 1px solid rgba(17,24,39,.06);
}
.rrpr-card:hover{ transform: translateY(-3px); box-shadow: 0 10px 36px rgba(0,0,0,.12); }

.rrpr-media{ position:relative; display:block; aspect-ratio: 16/9; overflow:hidden; background:#f2f4f7; }
.rrpr-media img{ width:100%; height:100%; object-fit: cover; display:block; }
.rrpr-placeholder{ width:100%; height:100%; background: repeating-linear-gradient(45deg,#e5e7eb,#e5e7eb 10px,#f3f4f6 10px,#f3f4f6 20px); }

.rrpr-badge{
  position:absolute; inset-inline-end: 10px; inset-block-start: 10px;
  background: var(--rrpr-accent);
  color:#fff; font-size:12px; font-weight:700; padding:6px 10px; border-radius:999px;
  box-shadow: 0 6px 18px rgba(10,102,255,.25);
}

.rrpr-body{ padding: 16px 16px 14px; display:flex; flex-direction:column; gap:8px; flex:1; }
.rrpr-post-title{ margin:0; line-height:1.25; font-size: clamp(18px, 2vw, 22px); font-weight:800; }
.rrpr-post-title a{ color: var(--rrpr-title); text-decoration:none; }
.rrpr-post-title a:hover{ text-decoration: underline; text-underline-offset: 3px; }

.rrpr-meta{ color: var(--rrpr-meta); font-size: 12px; letter-spacing:.2px; }
.rrpr-excerpt{ margin:0; color: var(--rrpr-text); font-size: 14px; line-height:1.6; display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical; overflow:hidden; }

.rrpr-actions{ margin-top:auto; display:flex; justify-content:flex-start; }
.rrpr-button{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 14px; font-size:14px; font-weight:800; border-radius:12px;
  background: var(--rrpr-button); color: var(--rrpr-button-text); text-decoration:none;
  transition: opacity .18s ease, transform .18s ease;
}
.rrpr-button:hover{ opacity:.9; transform: translateY(-1px); }

/* RTL niceties */
[dir="rtl"] .rrpr-title{ letter-spacing: 0; }
[dir="rtl"] .rrpr-badge{ inset-inline-end: 10px; inset-inline-start: auto; }
[dir="rtl"] .rrpr-actions{ justify-content:flex-start; }

/* Columns from wrapper class */
.rrpr-wrap.rrpr-cols-1 .rrpr-grid{ --_cols:1; }
.rrpr-wrap.rrpr-cols-2 .rrpr-grid{ --_cols:2; }
.rrpr-wrap.rrpr-cols-3 .rrpr-grid{ --_cols:3; }
.rrpr-wrap.rrpr-cols-4 .rrpr-grid{ --_cols:4; }

/* Clamp long titles to 2 lines for uniformity */
.rrpr-post-title{ display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical; overflow:hidden; }
