/* Per-game articles page styles. Scoped under .gh-articles-wrap.
   Loaded by pages/game_articles.php alongside articles.css (whose
   .art-list / .art-item rules are reused for the article rows). */

.gh-articles-wrap{
  --pos:#137a4f;
  --pos-soft:#e6f5ee;
  --neg:#a83218;
  --neg-soft:#fbeae5;
  --line:#e7e4ef;
  --line-soft:#f1eff5;
  --ink:#14121a;
  --ink-soft:#4a4757;
  --muted:#8a8797;
  position:relative;z-index:1;
  max-width:1280px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;
  align-items:start;
  font-family:'Fraunces',Georgia,serif;color:var(--ink);
}
.gh-articles-wrap *{box-sizing:border-box;}
.gh-articles-wrap.is-no-aside{grid-template-columns:minmax(0,1fr);}
.gh-articles-wrap.is-no-aside .gh-aside{display:none;}

/* Breadcrumb */
.gh-articles-wrap .art-crumb{
  grid-column:1/-1;display:flex;align-items:center;gap:10px;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  margin-bottom:8px;
}
.gh-articles-wrap .art-crumb a{color:var(--muted);text-decoration:none;border-bottom:1px solid transparent;}
.gh-articles-wrap .art-crumb a:hover{color:var(--bmm-accent);border-bottom-color:var(--bmm-accent);}
.gh-articles-wrap .art-crumb .sep{opacity:.5;}

/* Hero card */
.gh-articles-wrap .gh-hero{
  grid-column:1/-1;
  position:relative;background:#fff;border:1px solid var(--line);border-radius:2px;
  padding:20px;display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;
}
.gh-articles-wrap .gh-hero .crn{position:absolute;width:10px;height:10px;border:1px solid var(--bmm-accent);opacity:.75;}
.gh-articles-wrap .gh-hero .crn.tl{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.gh-articles-wrap .gh-hero .crn.tr{top:-1px;right:-1px;border-left:none;border-bottom:none;}
.gh-articles-wrap .gh-hero .crn.bl{bottom:-1px;left:-1px;border-right:none;border-top:none;}
.gh-articles-wrap .gh-hero .crn.br{bottom:-1px;right:-1px;border-left:none;border-top:none;}

.gh-articles-wrap .gh-hero-banner{
  flex:0 0 320px;display:block;aspect-ratio:16/7;background:var(--line-soft);
  overflow:hidden;border:1px solid var(--line);border-radius:2px;
}
.gh-articles-wrap .gh-hero-banner img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.gh-articles-wrap .gh-hero-banner:hover img{transform:scale(1.03);}

.gh-articles-wrap .gh-hero-body{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:8px;}
.gh-articles-wrap .gh-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Fraunces';font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bmm-accent);font-weight:500;
}
.gh-articles-wrap .gh-kicker .dot{width:5px;height:5px;border-radius:50%;background:var(--bmm-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--bmm-accent) 15%,transparent);}
.gh-articles-wrap .gh-kicker a{color:var(--bmm-accent);text-decoration:none;border-bottom:1px dotted color-mix(in srgb,var(--bmm-accent) 40%,transparent);}
.gh-articles-wrap .gh-kicker a:hover{border-bottom-style:solid;}

.gh-articles-wrap .gh-h1{
  font-family:'Fraunces',serif;font-weight:500;
  font-size:clamp(22px,2.6vw,30px);line-height:1.15;letter-spacing:-0.015em;
  margin:0;color:var(--ink);
}
.gh-articles-wrap .gh-h1 em{font-style:italic;font-weight:400;color:var(--bmm-accent);}

.gh-articles-wrap .gh-tagline{
  font-family:'Fraunces';font-size:14px;font-style:italic;color:var(--ink-soft);
  margin:2px 0 0;line-height:1.4;
}

.gh-articles-wrap .gh-stats{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;
  font-family:'Fraunces';font-size:12.5px;color:var(--ink-soft);
  padding:8px 0 6px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);
  margin-top:6px;
}
.gh-articles-wrap .gh-stat{display:inline-flex;align-items:center;gap:5px;}
.gh-articles-wrap .gh-stat .v{color:var(--ink);font-weight:500;}
.gh-articles-wrap .gh-stat .dot{width:4px;height:4px;border-radius:50%;background:var(--bmm-accent);}
.gh-articles-wrap .gh-stat.pos{color:var(--pos);}
.gh-articles-wrap .gh-stat.neg{color:var(--neg);}
.gh-articles-wrap .gh-badge{
  display:inline-flex;align-items:center;
  font-family:'Fraunces';font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  color:var(--bmm-accent);background:var(--bmm-accent-soft);
  padding:2px 7px;border:1px solid color-mix(in srgb,var(--bmm-accent) 40%,transparent);border-radius:2px;
}

.gh-articles-wrap .gh-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:4px;}
.gh-articles-wrap .gh-action{
  font-family:'Fraunces';font-size:13px;color:var(--bmm-accent);text-decoration:none;font-weight:500;
  display:inline-flex;align-items:center;gap:6px;
  border-bottom:1px solid transparent;transition:border-color .2s;
}
.gh-articles-wrap .gh-action:hover{border-bottom-color:var(--bmm-accent);}
.gh-articles-wrap .gh-action .ico{width:13px;height:13px;color:currentColor;}
.gh-articles-wrap .gh-action-play{
  color:#fff;background:var(--bmm-accent);
  padding:5px 11px;border-radius:2px;border-bottom:none;
  transition:background .2s ease;
}
.gh-articles-wrap .gh-action-play:hover{background:var(--bmm-accent-deep);border-bottom:none;}

/* Category pills */
.gh-articles-wrap .gh-pills{
  grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;
  margin-bottom:-8px;
}
.gh-articles-wrap .gh-pills a{
  font-family:'Fraunces';font-size:12.5px;font-weight:500;color:var(--ink-soft);
  text-decoration:none;letter-spacing:.02em;
  padding:5px 11px;border:1px solid var(--line);border-radius:2px;
  transition:color .2s ease, border-color .2s ease, background .2s ease;
}
.gh-articles-wrap .gh-pills a:hover{color:var(--bmm-accent);border-color:var(--bmm-accent);}
.gh-articles-wrap .gh-pills a.on{
  color:var(--bmm-accent);border-color:var(--bmm-accent);background:var(--bmm-accent-soft);
}

/* Main column (article list lives here, uses .art-list / .art-item from articles.css) */
.gh-articles-wrap .gh-main{min-width:0;}
.gh-articles-wrap .gh-main .pagination{margin-top:18px;}

/* Sidebar */
.gh-articles-wrap .gh-aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:24px;align-self:start;}
.gh-articles-wrap .aside-card{background:#fff;border:1px solid var(--line);border-radius:2px;padding:16px 18px;position:relative;}
.gh-articles-wrap .aside-card .crn{position:absolute;width:8px;height:8px;border:1px solid var(--bmm-accent);opacity:.6;}
.gh-articles-wrap .aside-card .crn.tl{top:-1px;left:-1px;border-right:none;border-bottom:none;}
.gh-articles-wrap .aside-card .crn.br{bottom:-1px;right:-1px;border-left:none;border-top:none;}
.gh-articles-wrap .aside-label{
  font-family:'Fraunces';font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:500;
  display:flex;align-items:center;gap:8px;margin-bottom:10px;
}
.gh-articles-wrap .aside-label::before{content:"";flex:none;width:18px;height:1px;background:var(--bmm-accent);opacity:.6;}

/* Latest review card (mirrors article-single .rev-card) */
.gh-articles-wrap .revs-card .rev-item{
  padding:10px 0;
  border-bottom:1px solid var(--line-soft);
}
.gh-articles-wrap .revs-card .rev-item:first-of-type{padding-top:0;}
.gh-articles-wrap .revs-card .rev-item:last-of-type{border-bottom:none;}
.gh-articles-wrap .rev-item-head{
  display:flex;align-items:center;gap:8px;
  font-family:'Fraunces';font-size:12.5px;color:var(--ink-soft);
  margin-bottom:3px;
}
.gh-articles-wrap .rev-glyph{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:2px;
  font-size:11px;line-height:1;
  border:1px solid;
}
.gh-articles-wrap .rev-glyph.pos{color:var(--pos);background:var(--pos-soft);border-color:color-mix(in srgb,var(--pos) 35%,transparent);}
.gh-articles-wrap .rev-glyph.neg{color:var(--neg);background:var(--neg-soft);border-color:color-mix(in srgb,var(--neg) 35%,transparent);}
.gh-articles-wrap .rev-item-author{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:500;}
.gh-articles-wrap .rev-item-author a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);}
.gh-articles-wrap .rev-item-author a:hover{color:var(--bmm-accent);border-bottom-color:var(--bmm-accent);}
.gh-articles-wrap .rev-item-date{flex:none;font-size:11px;color:var(--muted);letter-spacing:.04em;}
.gh-articles-wrap .rev-item-body{
  font-family:'Fraunces';font-size:13px;font-style:italic;line-height:1.45;
  color:var(--ink-soft);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.gh-articles-wrap .rev-item-body::before{content:"\201C";color:var(--bmm-accent);font-size:18px;font-weight:500;line-height:0;display:inline-block;vertical-align:-4px;margin-right:2px;}
.gh-articles-wrap .rev-foot{
  margin-top:10px;padding-top:8px;border-top:1px solid var(--line-soft);
  display:flex;align-items:center;justify-content:flex-end;
  font-family:'Fraunces';font-size:11.5px;color:var(--muted);letter-spacing:.04em;
}
.gh-articles-wrap .rev-foot a{color:var(--bmm-accent);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--bmm-accent) 30%,transparent);}
.gh-articles-wrap .rev-foot a:hover{border-bottom-color:var(--bmm-accent);}

/* Latest game voted (ad) — mirrors article-single .lgv-card */
.gh-articles-wrap .lgv-card{padding:0;overflow:hidden;position:relative;text-decoration:none;color:inherit;display:block;}
.gh-articles-wrap .lgv-tag{
  position:absolute;top:8px;left:8px;z-index:2;
  font-family:'Fraunces';font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;
  color:var(--bmm-accent);background:#fff;
  padding:3px 8px;border:1px solid var(--bmm-accent);border-radius:2px;
}
.gh-articles-wrap .lgv-tag .pulse{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--bmm-accent);margin-right:5px;vertical-align:1px;animation:gh-lgv-pulse 1.8s ease-in-out infinite;}
@keyframes gh-lgv-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(.7);}}
@media (prefers-reduced-motion: reduce){.gh-articles-wrap .lgv-tag .pulse{animation:none;}}
.gh-articles-wrap .lgv-img{display:block;aspect-ratio:21/9;background:var(--line-soft);overflow:hidden;border-bottom:1px solid var(--line);position:relative;}
.gh-articles-wrap .lgv-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.gh-articles-wrap .lgv-card:hover .lgv-img img{transform:scale(1.04);}
.gh-articles-wrap .lgv-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(20,18,26,.62) 100%);pointer-events:none;}
.gh-articles-wrap .lgv-img .lgv-title-overlay{
  position:absolute;left:14px;right:14px;bottom:10px;z-index:1;
  font-family:'Fraunces';font-weight:500;font-size:18px;color:#fff;letter-spacing:-0.01em;
  line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.4);
}
.gh-articles-wrap .lgv-body{padding:12px 14px 14px;}
.gh-articles-wrap .lgv-tagline{font-family:'Fraunces';font-size:12.5px;font-style:italic;color:var(--ink-soft);margin:0 0 10px;line-height:1.4;}
.gh-articles-wrap .lgv-meta{
  display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;
  font-family:'Fraunces';font-size:11.5px;color:var(--ink-soft);
  padding-top:8px;border-top:1px solid var(--line-soft);
}
.gh-articles-wrap .lgv-meta .m{display:inline-flex;align-items:center;gap:4px;}
.gh-articles-wrap .lgv-meta .m .v{color:var(--ink);font-weight:500;}
.gh-articles-wrap .lgv-meta .m .k{color:var(--muted);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;}
.gh-articles-wrap .lgv-meta .m.pos .v{color:var(--pos);}
.gh-articles-wrap .lgv-cta{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:10px;}
.gh-articles-wrap .lgv-cta .visit{
  font-family:'Fraunces';font-size:13px;color:var(--bmm-accent);font-weight:500;
  display:inline-flex;align-items:center;gap:6px;
  border-bottom:1px solid transparent;transition:border-color .2s;
}
.gh-articles-wrap .lgv-cta .visit::after{content:"→";transition:transform .2s ease;}
.gh-articles-wrap .lgv-card:hover .lgv-cta .visit{border-bottom-color:var(--bmm-accent);}
.gh-articles-wrap .lgv-card:hover .lgv-cta .visit::after{transform:translateX(3px);}

/* Mobile */
@media (max-width:960px){
  .gh-articles-wrap{grid-template-columns:1fr;}
  .gh-articles-wrap .gh-aside{order:2;position:static;}
  .gh-articles-wrap .gh-hero{padding:18px;gap:16px;}
  .gh-articles-wrap .gh-hero-banner{flex:1 1 100%;}
}
@media (max-width:560px){
  .gh-articles-wrap .gh-hero{padding:14px;}
  .gh-articles-wrap .gh-h1{font-size:20px;}
}
