
/* Core review box */
.grp-review-box{
  --grp-sep-color:#e5e7eb; --grp-cover:none; --grp-cover-opacity:0.18;
  position:relative; border:1px solid #e5e7eb; border-radius:12px; overflow:hidden;
  background:#fff; color:#111; margin:16px 0; box-sizing:border-box;
}
.grp-review-box *{box-sizing:border-box; max-width:100%}
.grp-review-box .grp-cover{position:absolute; inset:0; background-image:var(--grp-cover);
  background-size:cover; background-position:center; opacity:var(--grp-cover-opacity); pointer-events:none}
.grp-outer-grid{position:relative; display:grid; grid-template-columns:120px 1fr; gap:16px; padding:16px; align-items:start}
@media (max-width:780px){.grp-outer-grid{grid-template-columns:90px 1fr}}
.grp-score-label{font-weight:700; margin-bottom:6px; opacity:.9}
.grp-score-badge-inner{min-width:82px; min-height:82px; background:#111; color:#fff; border-radius:12px; font-weight:900; font-size:28px;
  display:flex; align-items:center; justify-content:center; box-shadow:0 16px 36px rgba(0,0,0,.14); text-align:center; padding:6px}
.grp-title{margin:0 0 6px; font-weight:800; font-size:24px; overflow-wrap:anywhere; word-break:break-word}
.grp-meta-row{display:flex; flex-wrap:wrap; gap:14px; padding:8px 0 12px; border-top:1px solid var(--grp-sep-color); position:relative}
.grp-seps-off .grp-meta-row{border-top:none}
.grp-proscons-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:12px 0; border-top:1px solid var(--grp-sep-color); position:relative}
.grp-seps-off .grp-proscons-grid{border-top:none}
.grp-subtitle{font-weight:800; margin:0 0 8px; font-size:0.92em}
.grp-pros-title{color:#059669}
.grp-cons-title{color:#dc2626}
.grp-list{list-style:none; margin:0; padding:0}
.grp-list li{font-size:0.85em; margin:6px 0; overflow-wrap:anywhere; word-break:break-word}
.grp-bonus-wrap{padding:12px 0; border-top:1px solid var(--grp-sep-color); position:relative}
.grp-seps-off .grp-bonus-wrap{border-top:none}
.grp-bonus{background:#111; color:#fff; border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:12px 14px}

/* Latest block — redesigned */
.grp-latest{position:relative; overflow:hidden; box-sizing:border-box}
.grp-latest *{box-sizing:border-box; max-width:100%}
.grp-latest .grp-latest-title{font-weight:800; margin:0 0 12px; overflow:hidden; text-overflow:ellipsis; white-space:normal; overflow-wrap:anywhere; word-break:break-word}
.grp-latest.grp-latest--grid .grp-cards{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px}
@media (max-width:1024px){.grp-latest.grp-latest--grid .grp-cards{grid-template-columns:repeat(2, minmax(0,1fr));}}
@media (max-width:640px){.grp-latest.grp-latest--grid .grp-cards{grid-template-columns:1fr;}}
.grp-card{display:block; border:1px solid #e5e7eb; border-radius:12px; padding:14px; text-decoration:none; color:inherit; background:#fff;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.grp-card:hover{transform:translateY(-2px); box-shadow:0 12px 24px rgba(0,0,0,.08); border-color:#d1d5db}
.grp-card-top{display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:6px}
.grp-card-title{font-weight:800; line-height:1.2; overflow:hidden; text-overflow:ellipsis}
.grp-card-badge{flex-shrink:0}
.grp-card .grp-card-meta{font-size:.9em; color:#6b7280}
.grp-badge{display:inline-block; padding:2px 8px; border-radius:8px; border:1px solid #e5e7eb; font-size:.85em; background:#f9fafb}

/* Admin */
.grp-media-wrap img{border:1px solid #e5e7eb; border-radius:8px}
