/* =========================================================
   Game Overdrive v217
   Fix homepage hero hover/text readability and add editorial
   section divider lines outside single posts.
   ========================================================= */

:root{
  --go-v217-divider:#2817f1;
  --go-v217-divider-soft:rgba(40,23,241,.22);
  --go-v217-hero-title:#fff;
  --go-v217-hero-subtitle:rgba(255,255,255,.92);
}

html.dark,
html[class*="dark"],
html[data-theme="dark"],
body.dark,
body.dark-mode,
body.is-dark-theme,
body.newsx-dark-mode,
body[data-theme="dark"]{
  --go-v217-divider:#c7f000;
  --go-v217-divider-soft:rgba(199,240,0,.22);
}

/* HERO: keep hover from breaking title/subtitle color or adding underline effects. */
html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card,
html body.home:not(.wp-admin) .go-ds-hero-card{
  isolation:isolate!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card > a,
html body.home:not(.wp-admin) .go-ds-hero-card > a,
html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card > a:is(:hover,:focus-visible),
html body.home:not(.wp-admin) .go-ds-hero-card > a:is(:hover,:focus-visible){
  color:var(--go-v217-hero-title)!important;
  -webkit-text-fill-color:initial!important;
  text-decoration:none!important;
  background-image:none!important;
  outline-offset:3px!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-copy,
html body.home:not(.wp-admin) .go-ds-hero-copy{
  color:var(--go-v217-hero-title)!important;
  -webkit-text-fill-color:initial!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-copy strong,
html body.home:not(.wp-admin) .go-ds-hero-copy strong,
html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card > a:is(:hover,:focus-visible) .go-ds-hero-copy strong,
html body.home:not(.wp-admin) .go-ds-hero-card > a:is(:hover,:focus-visible) .go-ds-hero-copy strong{
  color:var(--go-v217-hero-title)!important;
  -webkit-text-fill-color:var(--go-v217-hero-title)!important;
  text-decoration:none!important;
  background:none!important;
  background-image:none!important;
  opacity:1!important;
  filter:none!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-copy em,
html body.home:not(.wp-admin) .go-ds-hero-copy em,
html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card > a:is(:hover,:focus-visible) .go-ds-hero-copy em,
html body.home:not(.wp-admin) .go-ds-hero-card > a:is(:hover,:focus-visible) .go-ds-hero-copy em{
  color:var(--go-v217-hero-subtitle)!important;
  -webkit-text-fill-color:var(--go-v217-hero-subtitle)!important;
  opacity:1!important;
  filter:none!important;
  text-decoration:none!important;
  background:none!important;
  background-image:none!important;
}

/* Main hero: wider, cleaner title block. No skinny column, no unreadable subtitle. */
html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card--main .go-ds-hero-copy,
html body.home:not(.wp-admin) .go-ds-hero-card--main .go-ds-hero-copy{
  left:clamp(24px,3vw,44px)!important;
  right:clamp(22px,2.4vw,36px)!important;
  bottom:clamp(24px,2.8vw,38px)!important;
  max-width:min(82%, 860px)!important;
  gap:10px!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card--main .go-ds-hero-copy strong,
html body.home:not(.wp-admin) .go-ds-hero-card--main .go-ds-hero-copy strong{
  max-width:min(100%, 20.5ch)!important;
  font-family:"Roboto","Inter",Arial,Helvetica,sans-serif!important;
  font-size:clamp(2rem,3vw,3.45rem)!important;
  line-height:1.03!important;
  font-weight:800!important;
  letter-spacing:-.03em!important;
  text-shadow:0 2px 3px rgba(0,0,0,.62),0 10px 24px rgba(0,0,0,.48)!important;
  text-wrap:balance!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card--main .go-ds-hero-copy em,
html body.home:not(.wp-admin) .go-ds-hero-card--main .go-ds-hero-copy em{
  display:block!important;
  max-width:min(100%, 64ch)!important;
  margin-top:0!important;
  font-family:"Roboto","Inter",Arial,Helvetica,sans-serif!important;
  font-size:clamp(.94rem,.95vw,1.07rem)!important;
  line-height:1.36!important;
  font-weight:400!important;
  color:var(--go-v217-hero-subtitle)!important;
  -webkit-text-fill-color:var(--go-v217-hero-subtitle)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.78),0 6px 18px rgba(0,0,0,.36)!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card--main .go-ds-hero-shade,
html body.home:not(.wp-admin) .go-ds-hero-card--main .go-ds-hero-shade{
  background:
    linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.06) 40%,rgba(0,0,0,.52) 70%,rgba(0,0,0,.88) 100%),
    linear-gradient(90deg,rgba(0,0,0,.22) 0%,rgba(0,0,0,.12) 35%,rgba(0,0,0,0) 70%)!important;
}

/* Subtle hover: image movement only; no color inversion, no black text. */
html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card :is(.go-ds-hero-img,img),
html body.home:not(.wp-admin) .go-ds-hero-card :is(.go-ds-hero-img,img){
  transition:transform .28s ease,filter .28s ease!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card > a:is(:hover,:focus-visible) :is(.go-ds-hero-img,img),
html body.home:not(.wp-admin) .go-ds-hero-card > a:is(:hover,:focus-visible) :is(.go-ds-hero-img,img){
  transform:scale(1.025)!important;
  filter:saturate(1.04) contrast(1.03)!important;
}

html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card > a:is(:hover,:focus-visible) .go-ds-hero-shade,
html body.home:not(.wp-admin) .go-ds-hero-card > a:is(:hover,:focus-visible) .go-ds-hero-shade{
  opacity:1!important;
}

/* Latest strip/header strip: hover must never turn titles black/invisible. */
html body.home:not(.wp-admin) .go-ds-latest-strip,
html body.home:not(.wp-admin) .go-ds-latest-strip :is(a,strong,span,p,em),
html body.home:not(.wp-admin) .go-ds-latest-strip a:is(:hover,:focus-visible),
html body.home:not(.wp-admin) .go-ds-latest-strip a:is(:hover,:focus-visible) :is(strong,span,p,em){
  opacity:1!important;
  filter:none!important;
  text-decoration:none!important;
  background-image:none!important;
}

html body.home:not(.wp-admin) .go-ds-latest-strip-grid a strong,
html body.home:not(.wp-admin) .go-ds-latest-strip-grid a:is(:hover,:focus-visible) strong,
html body.home:not(.wp-admin) .go-ds-latest-strip-grid a:visited strong{
  color:#f8fafc!important;
  -webkit-text-fill-color:#f8fafc!important;
}

html body.home:not(.wp-admin) .go-ds-latest-strip-grid a span,
html body.home:not(.wp-admin) .go-ds-latest-strip-grid a:is(:hover,:focus-visible) span{
  color:rgba(248,250,252,.76)!important;
  -webkit-text-fill-color:rgba(248,250,252,.76)!important;
}

/* Editorial divider between section titles and content. Excluded from singles. */
html body:not(.wp-admin):not(.single):not(.single-post) :is(
.go-ds-section-head,
.go-ds-panel-head,
.go-ds-rail-head,
.go-home-section-head,
.go-home-section-header,
.go-portal-section-head,
.go-portal-feed-head,
.go-news-archive-section-head,
.go-platforms-section-head,
.go-review-archive-section-head,
.go-author-section-head,
.go-page-section-head,
.go-archive-section-head,
.go-section-head,
.go-template-section-head,
.go-gallery-section-head
){
  position:relative!important;
  padding-bottom:clamp(10px,1.2vw,14px)!important;
  margin-bottom:clamp(16px,2vw,24px)!important;
  border-bottom:0!important;
}

html body:not(.wp-admin):not(.single):not(.single-post) :is(
.go-ds-section-head,
.go-ds-panel-head,
.go-ds-rail-head,
.go-home-section-head,
.go-home-section-header,
.go-portal-section-head,
.go-portal-feed-head,
.go-news-archive-section-head,
.go-platforms-section-head,
.go-review-archive-section-head,
.go-author-section-head,
.go-page-section-head,
.go-archive-section-head,
.go-section-head,
.go-template-section-head,
.go-gallery-section-head
)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:3px!important;
  display:block!important;
  background:linear-gradient(90deg,var(--go-v217-divider) 0%,var(--go-v217-divider) 58%,var(--go-v217-divider-soft) 58%,rgba(0,0,0,0) 100%)!important;
  pointer-events:none!important;
}

html body:not(.wp-admin):not(.single):not(.single-post) :is(
.go-ds-section-head h2,
.go-ds-section-head h3,
.go-ds-panel-head h2,
.go-ds-panel-head h3,
.go-home-section-head h2,
.go-home-section-header h2,
.go-portal-section-head h2,
.go-portal-feed-head h2,
.go-news-archive-section-head h2,
.go-platforms-section-head h2,
.go-review-archive-section-head h2,
.go-author-section-head h2,
.go-page-section-head h2,
.go-archive-section-head h2,
.go-section-head h2,
.go-template-section-head h2,
.go-gallery-section-head h2
){
  margin-bottom:0!important;
}

/* A few templates use only headings without a wrapper. */
html body:not(.wp-admin):not(.single):not(.single-post) :is(
.go-portal-feed-title,
.go-platforms-latest-title,
#go-platforms-latest-title,
#go-gallery-latest-title
){
  position:relative!important;
  padding-bottom:12px!important;
  margin-bottom:18px!important;
}

html body:not(.wp-admin):not(.single):not(.single-post) :is(
.go-portal-feed-title,
.go-platforms-latest-title,
#go-platforms-latest-title,
#go-gallery-latest-title
)::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:3px!important;
  background:linear-gradient(90deg,var(--go-v217-divider) 0%,var(--go-v217-divider) 58%,var(--go-v217-divider-soft) 58%,rgba(0,0,0,0) 100%)!important;
}

@media (max-width:760px){
  html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card--main .go-ds-hero-copy,
  html body.home:not(.wp-admin) .go-ds-hero-card--main .go-ds-hero-copy{
    max-width:calc(100% - 28px)!important;
    left:16px!important;
    right:16px!important;
    bottom:16px!important;
  }

  html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card--main .go-ds-hero-copy strong,
  html body.home:not(.wp-admin) .go-ds-hero-card--main .go-ds-hero-copy strong{
    max-width:100%!important;
    font-size:clamp(1.5rem,6.4vw,2.05rem)!important;
    line-height:1.04!important;
  }

  html body.home:not(.wp-admin) .go-ds-home .go-ds-hero-card--main .go-ds-hero-copy em,
  html body.home:not(.wp-admin) .go-ds-hero-card--main .go-ds-hero-copy em{
    font-size:.84rem!important;
    line-height:1.28!important;
  }
}
