
.rpg-wrap{
  --rpg-gap: 18px;
  --rpg-overlay: rgba(0,0,0,.35);
}
.rpg-grid{
  display:grid;
  gap: var(--rpg-gap);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rpg-card{
  overflow:hidden;
  position:relative;
  background:#fff;
  display:flex;
  flex-direction:column;
  min-height: 100%;
}
.rpg-card__media{
  position:relative;
  overflow:hidden;
}
.rpg-card__imglink{ display:block; }
.rpg-card__img{
  width:100%;
  height: 220px;
  object-fit: cover;
  display:block;
  transition: transform .35s ease;
}
.rpg-card__img--ph{
  height:220px;
  background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
}
.rpg-card:hover .rpg-card__img{ transform: scale(1.04); }

.rpg-card__media.has-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  background: var(--rpg-overlay);
  pointer-events:none;
  opacity:1;
}

.rpg-card__content{ padding:18px; display:flex; flex-direction:column; gap:10px; }
.rpg-card__title{ margin:0; font-size:18px; line-height:1.25; }
.rpg-card__title a{ text-decoration:none; }
.rpg-card__excerpt{ font-size:14px; line-height:1.6; opacity:.9; }
.rpg-card__actions{ margin-top:auto; padding-top:6px; }
.rpg-card__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  padding:10px 14px;
  border-radius:12px;
  background:#111827;
  color:#fff;
  transition: transform .2s ease, filter .2s ease;
}
.rpg-card__btn:hover{ transform: translateY(-1px); filter: brightness(1.05); }
.rpg-empty{ padding:14px 0; opacity:.8; }

/* Preset 1: Modern Card (default) */
.preset-1 .rpg-card{ }

/* Preset 2: Image Overlay */
.preset-2 .rpg-card__content{
  margin-top:-52px;
  position:relative;
  z-index:2;
}
.preset-2 .rpg-card{
  background: transparent;
}
.preset-2 .rpg-card__content{
  background:#fff;
  border-radius:16px;
  margin-left:16px;
  margin-right:16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Preset 3: Split (Horizontal) */
.preset-3 .rpg-card{
  flex-direction:row;
}
.preset-3 .rpg-card__media{ flex: 0 0 42%; }
.preset-3 .rpg-card__img, .preset-3 .rpg-card__img--ph{ height: 100%; min-height: 220px; }
.preset-3 .rpg-card__content{ flex: 1 1 auto; }

/* Preset 4: Minimal Border */
.preset-4 .rpg-card{
  background:#fff;
  border: 1px solid rgba(17,24,39,.10);
}
.preset-4 .rpg-card__btn{
  background: transparent;
  color: #111827;
  border: 1px solid rgba(17,24,39,.18);
}
.preset-4 .rpg-card__btn:hover{ filter:none; }

/* Preset 5: Glass/Blur */
.preset-5 .rpg-card{
  background: rgba(255,255,255,.75);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,.35);
}
.preset-5 .rpg-card__btn{
  background: rgba(17,24,39,.92);
}

/* Responsive */
@media (max-width: 1024px){
  .rpg-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .preset-3 .rpg-card{ flex-direction:column; }
  .preset-3 .rpg-card__media{ flex: 0 0 auto; }
}
@media (max-width: 767px){
  .rpg-grid{ grid-template-columns: repeat(1, minmax(0, 1fr)); }
}
