/**
 * ==========================================================================
 * GO v201 — Editorial Redesign (Final Normalization Layer)
 * ==========================================================================
 *
 * Game Overdrive — Verge-inspired editorial design system.
 * This file loads LAST and overrides all 228+ existing CSS layers.
 * Every declaration uses !important.
 *
 * Table of Contents:
 *  1.  CSS Custom Properties Reset
 *  2.  Global Typography Reset
 *  3.  Global Layout & Containers
 *  4.  Header Refinements
 *  5.  Home Page (go-ds-*)
 *  6.  Portal / Archive Pages (go-portal-*)
 *  7.  Single Post / Article (go-article__*)
 *  8.  Review / Score Specific
 *  9.  Footer (go-shell-footer*)
 * 10.  Offcanvas / Mobile Menu
 * 11.  Buttons Global
 * 12.  Focus States
 * 13.  Selection
 * 14.  Images Global
 * 15.  Responsive — Tablet (max-width: 1100px)
 * 16.  Responsive — Mobile (max-width: 768px)
 * 17.  Responsive — Small Mobile (max-width: 480px)
 * 18.  Institutional Pages
 * 19.  Search Page
 * 20.  404 Page
 * 21.  Comments Section
 * 22.  Performance / Anti-FOUC
 * 23.  Accent Color Normalization
 * 24.  Breadcrumbs
 * 25.  Ad Slots
 * 26.  Author Archive Page
 * 27.  Related Posts
 * 28.  Pagination
 *  0.  Nuclear Border-Radius Reset (before everything)
 *
 * ========================================================================== */


/* ==========================================================================
   SECTION 0: Nuclear Border-Radius Reset
   No rounded corners anywhere. Editorial, sharp, firm.
   ========================================================================== */

*,
*::before,
*::after {
  border-radius: 0 !important;
}


/* ==========================================================================
   SECTION 1: CSS Custom Properties Reset
   ========================================================================== */

:root {
  /* Accent colors */
  --go-accent-light: #2817f1 !important;
  --go-accent-dark: #c7f000 !important;
  --go-accent: var(--go-accent-light) !important;

  /* Light mode defaults — backgrounds */
  --go-bg-primary: #f7f8fb !important;
  --go-bg-secondary: #ffffff !important;
  --go-bg-tertiary: #f0f1f5 !important;
  --go-bg-elevated: #ffffff !important;

  /* Light mode defaults — text */
  --go-text-primary: #0a0a0a !important;
  --go-text-secondary: #2a2a2a !important;
  --go-text-muted: #5a6170 !important;
  --go-text-on-accent: #ffffff !important;

  /* Light mode defaults — borders */
  --go-border-primary: #e2e4ea !important;
  --go-border-secondary: #eff0f3 !important;
  --go-border-accent: rgba(40, 23, 241, 0.18) !important;

  /* Shadows */
  --go-shadow-sm: 0 1px 3px rgba(0,0,0,0.04) !important;
  --go-shadow-md: 0 2px 8px rgba(0,0,0,0.06) !important;

  /* Overlay gradient */
  --go-overlay-gradient: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.4) 40%, transparent 100%) !important;

  /* Typography */
  --go-font-display: "League Spartan", system-ui, sans-serif !important;
  --go-font-text: "Familjen Grotesk", system-ui, sans-serif !important;
  --go-font-ui: "Chakra Petch", "Familjen Grotesk", system-ui, sans-serif !important;

  /* Spacing scale */
  --go-space-xs: 4px !important;
  --go-space-sm: 8px !important;
  --go-space-md: 16px !important;
  --go-space-lg: 24px !important;
  --go-space-xl: 32px !important;
  --go-space-2xl: 48px !important;
  --go-space-3xl: 64px !important;

  /* Layout */
  --go-container-max: 1200px !important;
  --go-container-padding: clamp(16px, 3vw, 40px) !important;
  --go-content-max: 760px !important;
  --go-sidebar-width: 320px !important;
  --go-grid-gap: clamp(16px, 2vw, 24px) !important;

  /* Transitions */
  --go-transition-fast: 0.15s ease !important;
  --go-transition-base: 0.2s ease !important;
  --go-transition-slow: 0.3s ease !important;

  /* Map existing GO variables to the new system */
  --go-official-accent-light: #2817f1 !important;
  --go-official-accent-dark: #c7f000 !important;
  --go-color-accent: var(--go-accent) !important;
  --go-color-bg: var(--go-bg-primary) !important;
  --go-color-text: var(--go-text-primary) !important;
  --go-color-text-muted: var(--go-text-muted) !important;
  --go-color-border: var(--go-border-primary) !important;
}

/* Dark mode — custom properties override (all 4 selectors) */
body.newsx-dark-mode,
body.dark-mode,
html.go-root-dark-mode body,
html[data-theme="dark"] body {
  --go-accent: var(--go-accent-dark) !important;
  --go-bg-primary: #0e0e10 !important;
  --go-bg-secondary: #161618 !important;
  --go-bg-tertiary: #1c1c20 !important;
  --go-bg-elevated: #222226 !important;
  --go-text-primary: #f0f0f5 !important;
  --go-text-secondary: #d0d0d8 !important;
  --go-text-muted: #8a8a98 !important;
  --go-text-on-accent: #0a0a0a !important;
  --go-border-primary: #2a2a30 !important;
  --go-border-secondary: #1e1e24 !important;
  --go-border-accent: rgba(199, 240, 0, 0.18) !important;
  --go-shadow-sm: 0 1px 3px rgba(0,0,0,0.2) !important;
  --go-shadow-md: 0 2px 8px rgba(0,0,0,0.25) !important;

  /* Existing GO variable remapping — dark */
  --go-official-accent-dark: #c7f000 !important;
  --go-color-accent: var(--go-accent) !important;
  --go-color-bg: var(--go-bg-primary) !important;
  --go-color-text: var(--go-text-primary) !important;
  --go-color-text-muted: var(--go-text-muted) !important;
  --go-color-border: var(--go-border-primary) !important;
}


/* ==========================================================================
   SECTION 2: Global Typography Reset
   ========================================================================== */

body {
  font-family: var(--go-font-text) !important;
  font-size: 16.5px !important;
  line-height: 1.6 !important;
  color: var(--go-text-primary) !important;
  background: var(--go-bg-primary) !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--go-font-display) !important;
  font-weight: 820 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.12 !important;
  color: var(--go-text-primary) !important;
}

h1, .h1 {
  font-size: clamp(2.2rem, 4vw, 3.8rem) !important;
}

h2, .h2 {
  font-size: clamp(1.6rem, 2.5vw, 2.4rem) !important;
}

h3, .h3 {
  font-size: clamp(1.2rem, 1.8vw, 1.6rem) !important;
}

h4, .h4 {
  font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important;
}

h5, .h5 {
  font-size: clamp(0.95rem, 1.1vw, 1.1rem) !important;
}

h6, .h6 {
  font-size: clamp(0.85rem, 1vw, 0.95rem) !important;
}

/* Links */
a {
  color: var(--go-accent) !important;
  text-decoration: none !important;
  transition: color var(--go-transition-fast) !important;
}

/* Article body paragraphs */
.entry-content p,
.go-article__content p {
  font-size: clamp(1.02rem, 0.5vw + 0.9rem, 1.12rem) !important;
  line-height: 1.72 !important;
  margin-bottom: 1.5em !important;
}

/* Meta text, kickers, category badges — base UI type */
.go-ds-card-cat,
.go-ds-card-meta,
.go-portal-card__kicker,
.go-article__eyebrow,
.go-ds-see-more,
.go-portal-tabs__item,
.go-shell-footer-section-label,
.go-article__tags a,
.breadcrumb,
.breadcrumbs,
.go-breadcrumb {
  font-family: var(--go-font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}


/* ==========================================================================
   SECTION 3: Global Layout & Containers
   ========================================================================== */

.go-ds-wrap,
.go-portal-shell,
.go-shell-wrap,
.go-layout-shell {
  width: min(var(--go-container-max), calc(100vw - var(--go-container-padding) * 2)) !important;
  margin-inline: auto !important;
}


/* ==========================================================================
   SECTION 4: Header Refinements
   ========================================================================== */

.go-v24-header,
#site-header {
  background: var(--go-bg-secondary) !important;
  border-bottom: 1px solid var(--go-border-primary) !important;
}

/* Light mode header */
body:not(.newsx-dark-mode):not(.dark-mode) .go-v24-header,
body:not(.newsx-dark-mode):not(.dark-mode) #site-header {
  background: #ffffff !important;
  border-bottom-color: #e2e4ea !important;
}

/* Dark mode header */
body.newsx-dark-mode .go-v24-header,
body.newsx-dark-mode #site-header,
body.dark-mode .go-v24-header,
body.dark-mode #site-header,
html.go-root-dark-mode body .go-v24-header,
html.go-root-dark-mode body #site-header,
html[data-theme="dark"] body .go-v24-header,
html[data-theme="dark"] body #site-header {
  background: #0a0b10 !important;
  border-bottom-color: var(--go-border-primary) !important;
}

/* Remove any stray accent-colored top/bottom borders on header */
.go-v24-header::before,
.go-v24-header::after,
#site-header::before,
#site-header::after {
  background: transparent !important;
  border-color: transparent !important;
}

.go-v24-header-inner {
  max-width: var(--go-container-max) !important;
  gap: var(--go-space-lg) !important;
}

/* Nav links */
.go-v24-main-nav a {
  font-family: var(--go-font-ui) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--go-text-secondary) !important;
  transition: color var(--go-transition-fast) !important;
}

.go-v24-main-nav a:hover {
  color: var(--go-accent) !important;
}

/* Search bar */
.go-v24-header-search {
  background: var(--go-bg-tertiary) !important;
  border: 1px solid var(--go-border-primary) !important;
  border-radius: 0 !important;
}

.go-v24-header-search input {
  background: transparent !important;
  border: none !important;
  color: var(--go-text-primary) !important;
  font-family: var(--go-font-text) !important;
}


/* ==========================================================================
   SECTION 5: Home Page (go-ds-*)
   Verge-inspired editorial homepage with strong visual hierarchy.
   ========================================================================== */

/* ---- 5.1 Home wrapper & vertical rhythm ---- */
.go-ds-home,
main.go-ds-home {
  background: var(--go-bg-primary) !important;
}

/* Strong vertical rhythm between homepage sections */
.go-ds-home > .go-ds-wrap > section,
.go-ds-home > .go-ds-wrap > div {
  margin-bottom: clamp(40px, 5vw, 64px) !important;
}

/* ---- 5.2 Hero ---- */
.go-ds-hero {
  gap: 16px !important;
  margin-bottom: clamp(32px, 4vw, 48px) !important;
}

.go-ds-hero-card,
.go-ds-hero-card--main,
.go-ds-hero-card--small {
  position: relative !important;
  overflow: hidden !important;
}

.go-ds-hero-card--main {
  min-height: clamp(340px, 32vw, 500px) !important;
}

/* Hero images: cover, subtle zoom on hover */
.go-ds-hero img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

.go-ds-hero-card:hover img,
.go-ds-hero-card--main:hover img,
.go-ds-hero-card--small:hover img {
  transform: scale(1.04) !important;
}

/* Hero overlay — darker, more editorial contrast */
.go-ds-hero-shade {
  background: linear-gradient(
    180deg,
    transparent 20%,
    rgba(0, 0, 0, 0.15) 40%,
    rgba(0, 0, 0, 0.75) 80%,
    rgba(0, 0, 0, 0.92)
  ) !important;
}

/* Hero text — strong contrast on image */
.go-ds-hero-copy {
  color: #ffffff !important;
}

.go-ds-hero-copy .go-ds-card-title,
.go-ds-hero-copy .go-ds-hero-title {
  font-family: var(--go-font-display) !important;
  font-weight: 870 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.03em !important;
  color: #ffffff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
}

.go-ds-hero-card--main .go-ds-card-title,
.go-ds-hero-card--main .go-ds-hero-title {
  font-size: clamp(1.6rem, 3.2vw, 2.8rem) !important;
}

.go-ds-hero-card--small .go-ds-card-title,
.go-ds-hero-card--small .go-ds-hero-title {
  font-size: clamp(0.92rem, 1.3vw, 1.25rem) !important;
}

/* Hero category badge */
.go-ds-hero-cat,
.go-ds-hero-copy .go-ds-card-cat {
  font-family: var(--go-font-ui) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--go-accent-dark) !important;
  background: rgba(0, 0, 0, 0.6) !important;
  padding: 3px 8px !important;
  display: inline-block !important;
  margin-bottom: 8px !important;
  backdrop-filter: blur(4px) !important;
}

/* Hero meta */
.go-ds-hero-copy .go-ds-card-meta {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 0.7rem !important;
}

/* ---- 5.3 Latest strip / ticker ---- */
.go-ds-latest-strip {
  border-top: 3px solid var(--go-accent) !important;
  border-bottom: 1px solid var(--go-border-primary) !important;
  margin-bottom: clamp(32px, 4vw, 48px) !important;
}

.go-ds-latest-strip-label {
  font-family: var(--go-font-ui) !important;
  font-size: 0.7rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--go-accent) !important;
}

/* ---- 5.4 Section heads — Verge-style accent bar ---- */
.go-ds-section-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: clamp(20px, 2.5vw, 32px) !important;
  position: relative !important;
}

/* Accent bar above section title */
.go-ds-section-head::before {
  content: "" !important;
  position: absolute !important;
  top: -12px !important;
  left: 0 !important;
  width: 48px !important;
  height: 3px !important;
  background: var(--go-accent) !important;
}

.go-ds-section-title {
  font-family: var(--go-font-display) !important;
  font-size: clamp(1.35rem, 1.6vw, 1.9rem) !important;
  font-weight: 880 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  color: var(--go-text-primary) !important;
  line-height: 1.1 !important;
}

/* "See more" links */
.go-ds-see-more {
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--go-accent) !important;
  transition: opacity var(--go-transition-fast) !important;
}

.go-ds-see-more:hover {
  opacity: 0.75 !important;
}

/* ---- 5.5 Anchor / Explore section ---- */
.go-ds-anchor {
  margin-bottom: clamp(32px, 4vw, 48px) !important;
}

.go-ds-anchor-card {
  position: relative !important;
  overflow: hidden !important;
}

.go-ds-anchor-card img {
  transition: transform 0.4s ease, filter 0.4s ease !important;
}

.go-ds-anchor-card:hover img {
  transform: scale(1.06) !important;
  filter: brightness(0.8) !important;
}

/* Anchor card label badge */
.go-ds-anchor-label {
  font-family: var(--go-font-ui) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* ---- 5.6 Cards — all variants ---- */
.go-ds-card {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--go-border-secondary) !important;
  padding-bottom: var(--go-space-md) !important;
  transition: border-color var(--go-transition-base) !important;
}

.go-ds-card:hover {
  border-color: var(--go-accent) !important;
  transform: none !important;
}

/* Card media container */
.go-ds-card-media {
  overflow: hidden !important;
  position: relative !important;
}

/* Card images */
.go-ds-card-img {
  object-fit: cover !important;
  width: 100% !important;
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

.go-ds-card:hover .go-ds-card-img {
  transform: scale(1.03) !important;
}

/* Card body */
.go-ds-card-body {
  padding-top: var(--go-space-sm) !important;
}

/* Card titles — weight varies by variant */
.go-ds-card-title {
  font-family: var(--go-font-display) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
  color: var(--go-text-primary) !important;
}

.go-ds-card-title a {
  color: inherit !important;
  text-decoration: none !important;
}

.go-ds-card-title a:hover {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: var(--go-accent) !important;
}

/* Feature cards — bigger titles */
.go-ds-card--feature .go-ds-card-title,
.go-ds-card--feature-list .go-ds-card-title,
.go-ds-card--wide .go-ds-card-title {
  font-size: clamp(1.2rem, 1.7vw, 1.65rem) !important;
  font-weight: 840 !important;
}

/* Standard cards */
.go-ds-card--standard .go-ds-card-title {
  font-size: clamp(0.95rem, 1.1vw, 1.2rem) !important;
}

/* Mini / list cards */
.go-ds-card--mini .go-ds-card-title,
.go-ds-card--list .go-ds-card-title {
  font-size: clamp(0.88rem, 0.95vw, 1.05rem) !important;
  font-weight: 760 !important;
}

/* Latest cards — editorial feel */
.go-ds-card--latest .go-ds-card-title {
  font-size: clamp(1.15rem, 1.5vw, 1.5rem) !important;
  font-weight: 820 !important;
}

.go-ds-card--latest {
  border-bottom: 1px solid var(--go-border-primary) !important;
  padding-bottom: var(--go-space-lg) !important;
  margin-bottom: 0 !important;
}

/* Card meta */
.go-ds-card-meta {
  font-family: var(--go-font-ui) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  color: var(--go-text-muted) !important;
  margin-top: 6px !important;
}

/* Card excerpt */
.go-ds-card-excerpt {
  font-family: var(--go-font-text) !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
  color: var(--go-text-muted) !important;
  margin-top: 6px !important;
}

/* Category badges on cards */
.go-ds-card-cat {
  font-family: var(--go-font-ui) !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--go-accent) !important;
  margin-bottom: 4px !important;
  display: inline-block !important;
}

/* ---- 5.7 Duo panels (Reviews+News, Entertainment+Tech) ---- */
.go-ds-duo {
  gap: clamp(24px, 3vw, 40px) !important;
}

/* Panel inner section heads */
.go-ds-panel .go-ds-section-head,
.go-ds-duo .go-ds-section-head {
  margin-bottom: clamp(16px, 2vw, 24px) !important;
}

/* Panel separator — vertical line between duo columns */
.go-ds-duo > *:first-child {
  border-right: 1px solid var(--go-border-secondary) !important;
  padding-right: clamp(12px, 1.5vw, 20px) !important;
}

/* ---- 5.8 Games grid ---- */
.go-ds-section--games .go-ds-card--wide .go-ds-card-title {
  font-size: clamp(1.1rem, 1.4vw, 1.45rem) !important;
}

/* ---- 5.9 Carousel ---- */
.go-ds-carousel {
  position: relative !important;
}

.go-ds-carousel-track {
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
}

.go-ds-carousel-btn--prev,
.go-ds-carousel-btn--next {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--go-bg-primary) !important;
  border: 1px solid var(--go-border-primary) !important;
  color: var(--go-text-primary) !important;
  transition: border-color var(--go-transition-fast), color var(--go-transition-fast), background var(--go-transition-fast) !important;
}

.go-ds-carousel-btn--prev:hover,
.go-ds-carousel-btn--next:hover {
  border-color: var(--go-accent) !important;
  color: var(--go-accent) !important;
  background: var(--go-bg-secondary) !important;
}

/* ---- 5.10 Content band / Bottom layout ---- */
.go-ds-content-band {
  gap: clamp(24px, 3vw, 40px) !important;
  border-top: 1px solid var(--go-border-primary) !important;
  padding-top: clamp(24px, 3vw, 40px) !important;
}

/* ---- 5.11 Side rail / Right bar ---- */
.go-ds-side-rail,
.go-ds-rightbar {
  padding: 0 !important;
}

/* Rail box styling */
.go-ds-rail-box {
  background: transparent !important;
  border: none !important;
  margin-bottom: var(--go-space-xl) !important;
}

.go-ds-rail-box .go-ds-section-head {
  margin-bottom: var(--go-space-md) !important;
}

/* ---- 5.12 Ranking (sidebar) ---- */
.go-ds-ranking {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  counter-reset: rank !important;
}

.go-ds-ranking li,
.go-ds-ranking-item {
  border-bottom: 1px solid var(--go-border-secondary) !important;
  padding: var(--go-space-sm) 0 !important;
}

.go-ds-ranking-number {
  font-family: var(--go-font-display) !important;
  font-weight: 900 !important;
  color: var(--go-accent) !important;
  font-size: 0.85rem !important;
}

.go-ds-ranking-title {
  font-family: var(--go-font-display) !important;
  font-weight: 760 !important;
  font-size: 0.9rem !important;
  line-height: 1.25 !important;
}

.go-ds-ranking-title a {
  color: var(--go-text-primary) !important;
}

.go-ds-ranking-title a:hover {
  text-decoration: underline !important;
  text-decoration-color: var(--go-accent) !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 2px !important;
}

/* ---- 5.13 Latest feed (bottom section) ---- */
.go-ds-latest-feed {
  border-top: 1px solid var(--go-border-primary) !important;
  padding-top: var(--go-space-lg) !important;
}

.go-ds-latest-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* ---- 5.14 Load more buttons ---- */
.go-ds-load-more,
.go-portal-load-more__button,
button[data-go-ds-load-more],
button[data-go-portal-load-more] {
  appearance: none !important;
  background: transparent !important;
  border: 1px solid var(--go-border-accent) !important;
  color: var(--go-accent) !important;
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 13px 36px !important;
  min-height: 46px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background var(--go-transition-fast), color var(--go-transition-fast), border-color var(--go-transition-fast), transform var(--go-transition-fast) !important;
}

/* Load more hover — light mode */
body:not(.newsx-dark-mode):not(.dark-mode) .go-ds-load-more:hover,
body:not(.newsx-dark-mode):not(.dark-mode) .go-portal-load-more__button:hover,
body:not(.newsx-dark-mode):not(.dark-mode) button[data-go-ds-load-more]:hover,
body:not(.newsx-dark-mode):not(.dark-mode) button[data-go-portal-load-more]:hover {
  background: rgba(40, 23, 241, 0.06) !important;
  border-color: rgba(40, 23, 241, 0.4) !important;
  transform: translateY(-1px) !important;
}

/* Load more hover — dark mode */
body.newsx-dark-mode .go-ds-load-more:hover,
body.newsx-dark-mode .go-portal-load-more__button:hover,
body.newsx-dark-mode button[data-go-ds-load-more]:hover,
body.newsx-dark-mode button[data-go-portal-load-more]:hover,
body.dark-mode .go-ds-load-more:hover,
body.dark-mode .go-portal-load-more__button:hover,
body.dark-mode button[data-go-ds-load-more]:hover,
body.dark-mode button[data-go-portal-load-more]:hover,
html.go-root-dark-mode body .go-ds-load-more:hover,
html.go-root-dark-mode body .go-portal-load-more__button:hover,
html.go-root-dark-mode body button[data-go-ds-load-more]:hover,
html.go-root-dark-mode body button[data-go-portal-load-more]:hover,
html[data-theme="dark"] body .go-ds-load-more:hover,
html[data-theme="dark"] body .go-portal-load-more__button:hover,
html[data-theme="dark"] body button[data-go-ds-load-more]:hover,
html[data-theme="dark"] body button[data-go-portal-load-more]:hover {
  background: rgba(199, 240, 0, 0.06) !important;
  border-color: rgba(199, 240, 0, 0.4) !important;
  transform: translateY(-1px) !important;
}

/* ---- 5.15 Ads on homepage ---- */
.go-ds-ad {
  margin: clamp(24px, 3vw, 40px) auto !important;
  text-align: center !important;
  background: transparent !important;
}


/* ==========================================================================
   SECTION 6: Portal / Archive Pages (go-portal-*)
   Verge-inspired editorial archive pages with strong hierarchy.
   ========================================================================== */

/* ---- 6.1 Portal page wrapper ---- */
.go-portal-page {
  background: var(--go-bg-primary) !important;
}

/* Remove any unnecessary inner backgrounds on portals */
.go-portal-page section,
.go-portal-page .go-portal-shell {
  background: transparent !important;
}

/* ---- 6.2 Hero — bold editorial opener ---- */
.go-portal-hero {
  padding: clamp(40px, 6vw, 80px) 0 clamp(24px, 3vw, 40px) !important;
  text-align: left !important;
  border-bottom: 3px solid var(--go-accent) !important;
  margin-bottom: clamp(24px, 3vw, 40px) !important;
}

.go-portal-hero__intro {
  max-width: 860px !important;
}

.go-portal-hero__kicker,
.go-portal-hero .go-portal-kicker {
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--go-accent) !important;
  margin-bottom: var(--go-space-sm) !important;
  display: block !important;
}

.go-portal-hero h1 {
  font-family: var(--go-font-display) !important;
  font-size: clamp(2.4rem, 5.5vw, 5rem) !important;
  font-weight: 880 !important;
  letter-spacing: -0.04em !important;
  line-height: 0.95 !important;
  color: var(--go-text-primary) !important;
  margin-bottom: var(--go-space-md) !important;
}

.go-portal-hero p {
  font-family: var(--go-font-text) !important;
  color: var(--go-text-muted) !important;
  max-width: 680px !important;
  font-size: clamp(0.95rem, 1.15vw, 1.1rem) !important;
  line-height: 1.5 !important;
}

/* ---- 6.3 Tabs — clean underline navigation ---- */
.go-portal-tabs {
  display: flex !important;
  border-bottom: 1px solid var(--go-border-primary) !important;
  gap: 0 !important;
  margin-bottom: clamp(24px, 3vw, 40px) !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

.go-portal-tabs::-webkit-scrollbar {
  display: none !important;
}

.go-portal-tabs__item {
  font-family: var(--go-font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 12px 18px !important;
  border-bottom: 2px solid transparent !important;
  color: var(--go-text-muted) !important;
  white-space: nowrap !important;
  transition: color var(--go-transition-fast), border-color var(--go-transition-fast) !important;
  margin-bottom: -1px !important;
  background: transparent !important;
}

.go-portal-tabs__item.is-active {
  color: var(--go-accent) !important;
  border-bottom-color: var(--go-accent) !important;
}

.go-portal-tabs__item:hover {
  color: var(--go-text-primary) !important;
}

/* ---- 6.4 Featured section ---- */
.go-portal-featured {
  margin-bottom: clamp(32px, 4vw, 56px) !important;
}

.go-portal-featured__grid {
  gap: clamp(20px, 2.5vw, 32px) !important;
}

/* Lead card — big, dominant */
.go-portal-card.is-lead {
  position: relative !important;
  overflow: hidden !important;
}

.go-portal-card.is-lead .go-portal-card__media {
  overflow: hidden !important;
}

.go-portal-card.is-lead .go-portal-card__media img {
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

.go-portal-card.is-lead:hover .go-portal-card__media img {
  transform: scale(1.03) !important;
}

.go-portal-card.is-lead .go-portal-card__title {
  font-size: clamp(1.5rem, 2.8vw, 2.6rem) !important;
  font-weight: 850 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.08 !important;
}

/* Compact / sidebar cards */
.go-portal-card.is-compact {
  border-bottom: 1px solid var(--go-border-secondary) !important;
  padding-bottom: var(--go-space-md) !important;
}

.go-portal-card.is-compact .go-portal-card__title {
  font-size: clamp(0.9rem, 1.05vw, 1.1rem) !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
}

/* ---- 6.5 Portal cards — standard ---- */
.go-portal-card {
  overflow: hidden !important;
  background: transparent !important;
  transition: transform var(--go-transition-base) !important;
}

.go-portal-card__media {
  overflow: hidden !important;
  position: relative !important;
}

.go-portal-card__media img {
  object-fit: cover !important;
  width: 100% !important;
  transition: transform 0.4s ease !important;
}

.go-portal-card:hover .go-portal-card__media img {
  transform: scale(1.03) !important;
}

.go-portal-card__body {
  padding-top: var(--go-space-sm) !important;
}

.go-portal-card__kicker {
  font-family: var(--go-font-ui) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--go-accent) !important;
  margin-bottom: 4px !important;
  display: inline-block !important;
}

.go-portal-card__title {
  font-family: var(--go-font-display) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.015em !important;
  font-size: clamp(1.05rem, 1.3vw, 1.35rem) !important;
  color: var(--go-text-primary) !important;
}

.go-portal-card__title a {
  color: inherit !important;
  text-decoration: none !important;
}

.go-portal-card__title a:hover {
  text-decoration: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: var(--go-accent) !important;
}

.go-portal-card__excerpt {
  font-family: var(--go-font-text) !important;
  color: var(--go-text-muted) !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
  margin-top: 6px !important;
}

.go-portal-card__meta {
  font-family: var(--go-font-ui) !important;
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.03em !important;
  color: var(--go-text-muted) !important;
  margin-top: 8px !important;
}

/* Score badge on portal cards */
.go-portal-card__score {
  font-family: var(--go-font-display) !important;
  font-weight: 900 !important;
  background: rgba(10, 12, 16, 0.82) !important;
  color: #ffffff !important;
  border: 2px solid var(--go-accent) !important;
  min-width: 48px !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ---- 6.6 Feed section — main grid of posts ---- */
.go-portal-feed {
  margin-bottom: clamp(32px, 4vw, 56px) !important;
}

.go-portal-feed__grid {
  gap: clamp(20px, 2.5vw, 36px) clamp(18px, 2vw, 28px) !important;
}

/* ---- 6.7 Section heads — accent bar style (matches home) ---- */
.go-portal-section-head {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: clamp(20px, 2.5vw, 32px) !important;
  position: relative !important;
}

.go-portal-section-head::before {
  content: "" !important;
  position: absolute !important;
  top: -12px !important;
  left: 0 !important;
  width: 48px !important;
  height: 3px !important;
  background: var(--go-accent) !important;
}

.go-portal-section-head h2 {
  font-family: var(--go-font-display) !important;
  font-size: clamp(1.35rem, 1.6vw, 1.9rem) !important;
  font-weight: 880 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  color: var(--go-text-primary) !important;
}

/* Section dividers between portal sections */
.go-portal-feed + .go-portal-section-head,
.go-portal-featured + .go-portal-section-head {
  border-top: 1px solid var(--go-border-primary) !important;
  padding-top: clamp(24px, 3vw, 40px) !important;
  margin-top: clamp(8px, 1vw, 16px) !important;
}

/* ---- 6.8 Game-specific portal extras ---- */
.go-portal-game-strip {
  gap: var(--go-space-md) !important;
  margin-bottom: var(--go-space-xl) !important;
}

.go-portal-game-tile {
  overflow: hidden !important;
  position: relative !important;
}

.go-portal-game-tile img {
  transition: transform 0.4s ease !important;
}

.go-portal-game-tile:hover img {
  transform: scale(1.04) !important;
}

.go-portal-agenda-card {
  border-bottom: 1px solid var(--go-border-secondary) !important;
  padding: var(--go-space-md) 0 !important;
}

/* ---- 6.9 Promo cards (promotions portal) ---- */
.go-promo-clean-card {
  background: transparent !important;
  border-bottom: 1px solid var(--go-border-secondary) !important;
  padding-bottom: var(--go-space-md) !important;
}

.go-promo-clean-card__body {
  padding-top: var(--go-space-sm) !important;
}

.go-promo-clean-card__button {
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: var(--go-accent) !important;
  border: 1px solid var(--go-border-accent) !important;
  padding: 8px 20px !important;
  transition: background var(--go-transition-fast), border-color var(--go-transition-fast) !important;
}

.go-promo-clean-card__button:hover {
  background: rgba(var(--go-accent), 0.06) !important;
  border-color: var(--go-accent) !important;
}


/* ==========================================================================
   SECTION 7: Single Post / Article (go-article__*)
   ========================================================================== */

/* Eyebrow */
.go-article__eyebrow {
  font-family: var(--go-font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--go-accent) !important;
  margin-bottom: var(--go-space-sm) !important;
}

/* Title */
.go-article__title {
  font-family: var(--go-font-display) !important;
  font-size: clamp(2rem, 3.8vw, 3.5rem) !important;
  font-weight: 850 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.08 !important;
  color: var(--go-text-primary) !important;
  margin-bottom: var(--go-space-md) !important;
}

/* Deck / subtitle */
.go-article__deck {
  font-size: clamp(1.05rem, 1.3vw, 1.25rem) !important;
  color: var(--go-text-muted) !important;
  line-height: 1.45 !important;
  max-width: 680px !important;
  margin-bottom: var(--go-space-lg) !important;
}

/* Meta row */
.go-article__meta-row {
  display: flex !important;
  align-items: center !important;
  gap: var(--go-space-md) !important;
  padding: var(--go-space-md) 0 !important;
  border-top: 1px solid var(--go-border-primary) !important;
  border-bottom: 1px solid var(--go-border-primary) !important;
  margin-bottom: var(--go-space-lg) !important;
}

/* Author info in meta */
.go-article__meta-row a,
.go-article__meta-row span,
.go-article__author,
.go-article__date {
  font-family: var(--go-font-ui) !important;
  font-size: 0.82rem !important;
}

/* Cover image */
.go-article__cover,
.go-article__hero-visual {
  width: 100% !important;
  margin-bottom: var(--go-space-xl) !important;
}

.go-article__cover-image,
.go-editorial-cover__image {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

/* Content grid */
.go-article__grid {
  display: grid !important;
  grid-template-columns: minmax(0, var(--go-content-max)) minmax(0, var(--go-sidebar-width)) !important;
  gap: 40px !important;
}

/* Content typography */
.go-article__content {
  font-family: var(--go-font-text) !important;
  font-size: clamp(1.02rem, 0.5vw + 0.9rem, 1.12rem) !important;
  line-height: 1.72 !important;
  color: var(--go-text-secondary) !important;
}

.go-article__content h2,
.go-article__content h3,
.go-article__content h4 {
  font-family: var(--go-font-display) !important;
  color: var(--go-text-primary) !important;
  margin-top: 2em !important;
  margin-bottom: 0.8em !important;
}

.go-article__content blockquote {
  border-left: 3px solid var(--go-accent) !important;
  padding-left: var(--go-space-lg) !important;
  margin: 1.5em 0 !important;
  font-style: italic !important;
  color: var(--go-text-muted) !important;
}

/* Sidebar */
.go-article__sidebar {
  position: sticky !important;
  top: 80px !important;
}

/* Side cards */
.go-article__side-card {
  background: var(--go-bg-tertiary) !important;
  padding: var(--go-space-lg) !important;
  margin-bottom: var(--go-space-lg) !important;
  border: 1px solid var(--go-border-secondary) !important;
  border-radius: 0 !important;
}

.go-article__side-card h3,
.go-article__side-card-title {
  font-family: var(--go-font-display) !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  margin-bottom: var(--go-space-md) !important;
  padding-bottom: var(--go-space-sm) !important;
  border-bottom: 2px solid var(--go-accent) !important;
}

/* Side story items */
.go-article__side-story {
  padding: var(--go-space-md) 0 !important;
  border-bottom: 1px solid var(--go-border-secondary) !important;
}

.go-article__side-story a {
  color: var(--go-text-primary) !important;
}

.go-article__side-story a:hover {
  color: var(--go-accent) !important;
}

/* Tags section */
.go-article__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--go-space-sm) !important;
}

.go-article__tags a {
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border: 1px solid var(--go-border-primary) !important;
  color: var(--go-text-muted) !important;
  transition: border-color var(--go-transition-fast), color var(--go-transition-fast) !important;
  border-radius: 0 !important;
}

.go-article__tags a:hover {
  border-color: var(--go-accent) !important;
  color: var(--go-accent) !important;
}


/* ==========================================================================
   SECTION 8: Review / Score Specific
   ========================================================================== */

/* Score badges */
.go-article__side-score,
.go-portal-card__score {
  font-family: var(--go-font-display) !important;
  font-weight: 900 !important;
  border-radius: 0 !important;
}

/* Score tone — excellent */
.is-score-excellent,
.go-article__side-score--excellent {
  background: #00c853 !important;
  color: #fff !important;
}

/* Score tone — great */
.is-score-great,
.go-article__side-score--great {
  background: #64dd17 !important;
  color: #0a0a0a !important;
}

/* Score tone — good */
.is-score-good,
.go-article__side-score--good {
  background: #ffd600 !important;
  color: #0a0a0a !important;
}

/* Score tone — mid */
.is-score-mid,
.go-article__side-score--mid {
  background: #ff9100 !important;
  color: #0a0a0a !important;
}

/* Score tone — low */
.is-score-low,
.go-article__side-score--low {
  background: #ff1744 !important;
  color: #fff !important;
}

/* Verdict section */
.go-article__verdict {
  border: 1px solid var(--go-border-primary) !important;
  padding: var(--go-space-lg) !important;
  margin: var(--go-space-xl) 0 !important;
  border-radius: 0 !important;
}

.go-article__verdict-title {
  font-family: var(--go-font-display) !important;
  font-weight: 850 !important;
  margin-bottom: var(--go-space-md) !important;
}

/* Pros */
.go-article__pros {
  border-left: 3px solid #00c853 !important;
  padding-left: var(--go-space-md) !important;
  margin-bottom: var(--go-space-md) !important;
}

.go-article__pros-title {
  font-family: var(--go-font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #00c853 !important;
  margin-bottom: var(--go-space-sm) !important;
}

/* Cons */
.go-article__cons {
  border-left: 3px solid #ff1744 !important;
  padding-left: var(--go-space-md) !important;
  margin-bottom: var(--go-space-md) !important;
}

.go-article__cons-title {
  font-family: var(--go-font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  color: #ff1744 !important;
  margin-bottom: var(--go-space-sm) !important;
}

.go-article__pros li,
.go-article__cons li {
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  margin-bottom: var(--go-space-xs) !important;
  color: var(--go-text-secondary) !important;
}


/* ==========================================================================
   SECTION 9: Footer (go-shell-footer*)
   ========================================================================== */

.go-shell-footer,
#site-footer {
  background: var(--go-bg-secondary) !important;
  border-top: 1px solid var(--go-border-primary) !important;
  color: var(--go-text-secondary) !important;
}

/* Dark mode footer */
body.newsx-dark-mode .go-shell-footer,
body.newsx-dark-mode #site-footer,
body.dark-mode .go-shell-footer,
body.dark-mode #site-footer,
html.go-root-dark-mode body .go-shell-footer,
html.go-root-dark-mode body #site-footer,
html[data-theme="dark"] body .go-shell-footer,
html[data-theme="dark"] body #site-footer {
  background: #0e0f12 !important;
}

.go-shell-footer-main {
  padding: var(--go-space-2xl) 0 var(--go-space-xl) !important;
}

.go-shell-footer-brand {
  margin-bottom: var(--go-space-lg) !important;
}

.go-shell-footer-grid {
  gap: var(--go-space-lg) !important;
}

.go-shell-footer-section-label {
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--go-text-muted) !important;
  margin-bottom: var(--go-space-md) !important;
}

.go-shell-footer a {
  font-size: 0.85rem !important;
  color: var(--go-text-muted) !important;
}

.go-shell-footer a:hover {
  color: var(--go-accent) !important;
}

.go-shell-footer-social-link {
  border: 1px solid var(--go-border-primary) !important;
  border-radius: 0 !important;
  transition: border-color var(--go-transition-fast), color var(--go-transition-fast), transform var(--go-transition-fast) !important;
}

.go-shell-footer-social-link:hover {
  border-color: var(--go-accent) !important;
  color: var(--go-accent) !important;
  transform: translateY(-2px) !important;
}

.go-shell-footer-bottom {
  border-top: 1px solid var(--go-border-primary) !important;
  padding-top: var(--go-space-lg) !important;
  font-size: 0.78rem !important;
  color: var(--go-text-muted) !important;
}


/* ==========================================================================
   SECTION 10: Offcanvas / Mobile Menu
   ========================================================================== */

.go-v24-drawer,
.go-offcanvas,
.newsx-offcanvas {
  background: var(--go-bg-secondary) !important;
}

/* Dark mode offcanvas */
body.newsx-dark-mode .go-v24-drawer,
body.newsx-dark-mode .go-offcanvas,
body.newsx-dark-mode .newsx-offcanvas,
body.dark-mode .go-v24-drawer,
body.dark-mode .go-offcanvas,
body.dark-mode .newsx-offcanvas,
html.go-root-dark-mode body .go-v24-drawer,
html.go-root-dark-mode body .go-offcanvas,
html.go-root-dark-mode body .newsx-offcanvas,
html[data-theme="dark"] body .go-v24-drawer,
html[data-theme="dark"] body .go-offcanvas,
html[data-theme="dark"] body .newsx-offcanvas {
  background: #0a0b10 !important;
}

/* Offcanvas nav items */
.go-v24-drawer a,
.go-offcanvas a,
.newsx-offcanvas a,
.go-v24-drawer .menu-item a,
.go-offcanvas .menu-item a,
.newsx-offcanvas .menu-item a {
  font-family: var(--go-font-display) !important;
  font-size: clamp(0.95rem, 1.2vw, 1.1rem) !important;
  font-weight: 760 !important;
  padding: 14px var(--go-space-lg) !important;
  border-bottom: 1px solid var(--go-border-secondary) !important;
  color: var(--go-text-primary) !important;
}

.go-v24-drawer a:hover,
.go-offcanvas a:hover,
.newsx-offcanvas a:hover,
.go-v24-drawer .menu-item a:hover,
.go-offcanvas .menu-item a:hover,
.newsx-offcanvas .menu-item a:hover {
  color: var(--go-accent) !important;
}

/* Offcanvas close button */
.go-v24-drawer-close,
.go-offcanvas-close,
.newsx-offcanvas-close {
  color: var(--go-text-primary) !important;
  border-radius: 0 !important;
}

.go-v24-drawer-close:hover,
.go-offcanvas-close:hover,
.newsx-offcanvas-close:hover {
  color: var(--go-accent) !important;
}


/* ==========================================================================
   SECTION 11: Buttons Global
   ========================================================================== */

button,
.btn,
.button,
input[type="submit"],
input[type="button"] {
  font-family: var(--go-font-ui) !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: all var(--go-transition-fast) !important;
}


/* ==========================================================================
   SECTION 12: Focus States
   ========================================================================== */

:focus-visible {
  outline: 2px solid var(--go-accent) !important;
  outline-offset: 2px !important;
}


/* ==========================================================================
   SECTION 13: Selection
   ========================================================================== */

::selection {
  background: var(--go-accent) !important;
  color: var(--go-text-on-accent) !important;
}

/* Dark mode selection */
body.newsx-dark-mode ::selection,
body.dark-mode ::selection,
html.go-root-dark-mode body ::selection,
html[data-theme="dark"] body ::selection {
  background: var(--go-accent-dark) !important;
  color: #0a0a0a !important;
}


/* ==========================================================================
   SECTION 14: Images Global
   ========================================================================== */

.go-ds-card img,
.go-ds-card-img,
.go-portal-card img,
.go-portal-card__image,
.go-article__cover-image,
.go-editorial-cover__image,
.go-article__side-card img,
.go-article__related img,
.go-ds-hero img,
.go-portal-hero img,
img.wp-post-image {
  border-radius: 0 !important;
}

/* Ensure no rounded corners anywhere */
.go-ds-card,
.go-portal-card,
.go-article__side-card,
.go-ds-hero-card,
.go-ds-hero-card--main {
  border-radius: 0 !important;
}


/* ==========================================================================
   SECTION 15: Responsive — Tablet (max-width: 1100px)
   ========================================================================== */

@media (max-width: 1100px) {
  /* ---- Article layout ---- */
  .go-article__grid {
    grid-template-columns: 1fr !important;
  }

  .go-article__sidebar {
    position: static !important;
    top: auto !important;
    width: 100% !important;
  }

  .go-article__title {
    font-size: clamp(1.8rem, 3.5vw, 2.8rem) !important;
  }

  /* ---- Container ---- */
  .go-ds-wrap,
  .go-portal-shell,
  .go-shell-wrap,
  .go-layout-shell {
    width: min(var(--go-container-max), calc(100vw - var(--go-space-lg) * 2)) !important;
  }

  /* ---- Homepage hero ---- */
  .go-ds-hero-card--main {
    min-height: clamp(250px, 25vw, 360px) !important;
  }

  .go-ds-hero-card--main .go-ds-card-title,
  .go-ds-hero-card--main .go-ds-hero-title {
    font-size: clamp(1.4rem, 2.8vw, 2.2rem) !important;
  }

  /* ---- Duo panels — tighter gap, thinner separator ---- */
  .go-ds-duo {
    gap: clamp(16px, 2vw, 28px) !important;
  }

  .go-ds-duo > *:first-child {
    padding-right: clamp(8px, 1vw, 14px) !important;
  }

  /* ---- Content band stacks ---- */
  .go-ds-content-band {
    grid-template-columns: 1fr !important;
  }

  /* ---- Side rail below content ---- */
  .go-ds-side-rail,
  .go-ds-rightbar {
    width: 100% !important;
  }

  /* ---- Portal featured grid ---- */
  .go-portal-featured-grid,
  .go-portal-featured__grid {
    grid-template-columns: 1fr !important;
  }

  /* ---- Portal hero ---- */
  .go-portal-hero h1 {
    font-size: clamp(2rem, 4vw, 3rem) !important;
  }

  /* ---- Portal lead card ---- */
  .go-portal-card.is-lead .go-portal-card__title {
    font-size: clamp(1.3rem, 2.2vw, 2rem) !important;
  }

  /* ---- Carousel buttons smaller ---- */
  .go-ds-carousel-btn--prev,
  .go-ds-carousel-btn--next {
    width: 36px !important;
    height: 36px !important;
  }
}


/* ==========================================================================
   SECTION 16: Responsive — Mobile (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {
  /* ---- Base ---- */
  body {
    font-size: 15.5px !important;
  }

  /* ---- Header ---- */
  .go-v24-header,
  #site-header {
    min-height: auto !important;
  }

  .go-v24-main-nav {
    display: none !important;
  }

  /* ---- Container ---- */
  .go-ds-wrap,
  .go-portal-shell,
  .go-shell-wrap,
  .go-layout-shell {
    width: calc(100vw - var(--go-space-md) * 2) !important;
  }

  /* ---- Homepage hero — single column ---- */
  .go-ds-hero {
    grid-template-columns: 1fr !important;
  }

  .go-ds-hero-card--main {
    min-height: 220px !important;
  }

  .go-ds-hero-card--main .go-ds-card-title,
  .go-ds-hero-card--main .go-ds-hero-title {
    font-size: clamp(1.3rem, 4.5vw, 1.8rem) !important;
  }

  .go-ds-hero-card--small .go-ds-card-title,
  .go-ds-hero-card--small .go-ds-hero-title {
    font-size: clamp(0.85rem, 2.5vw, 1.05rem) !important;
  }

  /* Hero category badge — slightly smaller */
  .go-ds-hero-cat,
  .go-ds-hero-copy .go-ds-card-cat {
    font-size: 0.62rem !important;
    padding: 2px 6px !important;
  }

  /* ---- Latest strip ---- */
  .go-ds-latest-strip {
    margin-bottom: clamp(20px, 3vw, 32px) !important;
  }

  /* ---- Section heads ---- */
  .go-ds-section-head {
    margin-bottom: var(--go-space-md) !important;
  }

  .go-ds-section-head::before {
    width: 36px !important;
    height: 2px !important;
    top: -8px !important;
  }

  .go-ds-section-title {
    font-size: clamp(1.1rem, 3vw, 1.5rem) !important;
  }

  .go-ds-see-more {
    font-size: 0.65rem !important;
  }

  /* ---- Cards — full width ---- */
  .go-ds-card {
    width: 100% !important;
  }

  .go-ds-card--feature .go-ds-card-title,
  .go-ds-card--feature-list .go-ds-card-title,
  .go-ds-card--wide .go-ds-card-title {
    font-size: clamp(1.05rem, 3vw, 1.35rem) !important;
  }

  .go-ds-card--latest .go-ds-card-title {
    font-size: clamp(1rem, 2.8vw, 1.25rem) !important;
  }

  /* ---- Duo panels — stack vertically ---- */
  .go-ds-duo {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
    gap: var(--go-space-xl) !important;
  }

  /* Remove vertical separator when stacked */
  .go-ds-duo > *:first-child {
    border-right: none !important;
    padding-right: 0 !important;
    border-bottom: 1px solid var(--go-border-secondary) !important;
    padding-bottom: var(--go-space-xl) !important;
  }

  /* ---- Content band ---- */
  .go-ds-content-band {
    grid-template-columns: 1fr !important;
    gap: var(--go-space-lg) !important;
  }

  /* ---- Side rail / sidebar ---- */
  .go-ds-side-rail,
  .go-ds-rightbar,
  .go-article__sidebar {
    width: 100% !important;
  }

  /* ---- Carousel ---- */
  .go-ds-carousel-btn--prev,
  .go-ds-carousel-btn--next {
    width: 32px !important;
    height: 32px !important;
  }

  /* ---- Ranking — compact ---- */
  .go-ds-ranking-title {
    font-size: 0.85rem !important;
  }

  .go-ds-ranking-number {
    font-size: 0.78rem !important;
  }

  /* ---- Load more — full width ---- */
  .go-ds-load-more,
  .go-portal-load-more__button,
  button[data-go-ds-load-more],
  button[data-go-portal-load-more] {
    width: 100% !important;
    text-align: center !important;
  }

  /* ---- Portal hero ---- */
  .go-portal-hero {
    padding: var(--go-space-xl) 0 !important;
    border-bottom-width: 2px !important;
  }

  .go-portal-hero h1 {
    font-size: clamp(1.8rem, 5vw, 2.5rem) !important;
  }

  .go-portal-hero p {
    font-size: 0.92rem !important;
  }

  .go-portal-hero__kicker,
  .go-portal-hero .go-portal-kicker {
    font-size: 0.65rem !important;
  }

  /* ---- Portal section heads (match home) ---- */
  .go-portal-section-head {
    margin-bottom: var(--go-space-md) !important;
  }

  .go-portal-section-head::before {
    width: 36px !important;
    height: 2px !important;
    top: -8px !important;
  }

  /* ---- Portal tabs ---- */
  .go-portal-tabs {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: nowrap !important;
  }

  .go-portal-tabs__item {
    padding: 8px 12px !important;
    font-size: 0.72rem !important;
  }

  /* ---- Portal feed / grid — 2 columns ---- */
  .go-portal-feed,
  .go-portal-grid,
  .go-portal-feed__grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Portal lead card */
  .go-portal-card.is-lead .go-portal-card__title {
    font-size: clamp(1.2rem, 3.5vw, 1.65rem) !important;
  }

  /* Portal compact cards tighter */
  .go-portal-card.is-compact .go-portal-card__title {
    font-size: clamp(0.82rem, 2vw, 0.95rem) !important;
  }

  /* Portal score badge smaller */
  .go-portal-card__score {
    min-width: 40px !important;
    min-height: 40px !important;
    font-size: 0.85rem !important;
  }

  /* ---- Footer ---- */
  .go-shell-footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .go-shell-footer-main {
    padding: var(--go-space-xl) 0 var(--go-space-lg) !important;
  }

  /* ---- Article ---- */
  .go-article__title {
    font-size: clamp(1.6rem, 5vw, 2.2rem) !important;
  }

  .go-article__content {
    font-size: 1rem !important;
  }

  .go-article__meta-row {
    flex-wrap: wrap !important;
    gap: var(--go-space-sm) !important;
  }

  .go-article__deck {
    font-size: 1rem !important;
  }
}


/* ==========================================================================
   SECTION 17: Responsive — Small Mobile (max-width: 480px)
   ========================================================================== */

@media (max-width: 480px) {
  /* ---- Container edge-to-edge ---- */
  .go-ds-wrap,
  .go-portal-shell,
  .go-shell-wrap,
  .go-layout-shell {
    width: calc(100vw - var(--go-space-sm) * 2) !important;
  }

  /* ---- Everything single column ---- */
  .go-portal-feed,
  .go-portal-grid,
  .go-portal-feed__grid {
    grid-template-columns: 1fr !important;
  }

  .go-shell-footer-grid {
    grid-template-columns: 1fr !important;
  }

  /* ---- Hero minimal ---- */
  .go-ds-hero-card--main {
    min-height: 180px !important;
  }

  .go-ds-hero-card--main .go-ds-card-title,
  .go-ds-hero-card--main .go-ds-hero-title {
    font-size: clamp(1.15rem, 5vw, 1.5rem) !important;
  }

  .go-ds-hero-card--small {
    min-height: 100px !important;
  }

  .go-ds-hero-cat,
  .go-ds-hero-copy .go-ds-card-cat {
    font-size: 0.58rem !important;
    padding: 2px 5px !important;
  }

  /* ---- Section heads — tighter accent bar ---- */
  .go-ds-section-head {
    margin-bottom: var(--go-space-sm) !important;
  }

  .go-ds-section-head::before {
    width: 28px !important;
    top: -6px !important;
  }

  .go-portal-section-head {
    margin-bottom: var(--go-space-sm) !important;
  }

  .go-portal-section-head::before {
    width: 28px !important;
    top: -6px !important;
  }

  /* ---- Latest strip ---- */
  .go-ds-latest-strip {
    margin-bottom: 20px !important;
  }

  .go-ds-latest-strip-label {
    font-size: 0.62rem !important;
  }

  /* ---- Cards — tighter spacing ---- */
  .go-ds-card {
    padding-bottom: var(--go-space-sm) !important;
  }

  .go-ds-card-body {
    padding-top: 6px !important;
  }

  .go-ds-card-meta {
    font-size: 0.62rem !important;
  }

  .go-ds-card-cat {
    font-size: 0.6rem !important;
  }

  /* ---- Duo panels — remove stacked bottom border on phones ---- */
  .go-ds-duo > *:first-child {
    padding-bottom: var(--go-space-lg) !important;
  }

  /* ---- Ranking — compact on phones ---- */
  .go-ds-ranking li,
  .go-ds-ranking-item {
    padding: 6px 0 !important;
  }

  .go-ds-ranking-title {
    font-size: 0.82rem !important;
  }

  /* ---- Carousel buttons — smaller ---- */
  .go-ds-carousel-btn--prev,
  .go-ds-carousel-btn--next {
    width: 28px !important;
    height: 28px !important;
  }

  /* ---- Portal hero ---- */
  .go-portal-hero {
    padding: var(--go-space-lg) 0 !important;
  }

  .go-portal-hero h1 {
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
  }

  .go-portal-hero p {
    font-size: 0.88rem !important;
  }

  /* ---- Portal cards tighter ---- */
  .go-portal-card__title {
    font-size: clamp(0.95rem, 3vw, 1.15rem) !important;
  }

  .go-portal-card.is-lead .go-portal-card__title {
    font-size: clamp(1.1rem, 4.5vw, 1.4rem) !important;
  }

  .go-portal-card.is-compact .go-portal-card__title {
    font-size: clamp(0.78rem, 2vw, 0.9rem) !important;
  }

  .go-portal-card__meta {
    font-size: 0.6rem !important;
  }

  .go-portal-card__score {
    min-width: 38px !important;
    min-height: 38px !important;
    font-size: 0.8rem !important;
  }

  /* ---- Portal tabs — extra compact ---- */
  .go-portal-tabs__item {
    padding: 6px 10px !important;
    font-size: 0.65rem !important;
  }

  /* ---- Titles reduce ---- */
  .go-article__title {
    font-size: clamp(1.4rem, 6vw, 1.8rem) !important;
  }

  h1, .h1 {
    font-size: clamp(1.6rem, 6vw, 2.2rem) !important;
  }

  h2, .h2 {
    font-size: clamp(1.3rem, 4vw, 1.8rem) !important;
  }

  h3, .h3 {
    font-size: clamp(1.1rem, 3vw, 1.4rem) !important;
  }

  /* ---- Article elements ---- */
  .go-article__cover,
  .go-article__hero-visual {
    margin-bottom: var(--go-space-lg) !important;
  }

  .go-article__verdict {
    padding: var(--go-space-md) !important;
  }

  .go-article__side-card {
    padding: var(--go-space-md) !important;
  }

  .go-article__tags {
    gap: var(--go-space-xs) !important;
  }

  .go-article__tags a {
    font-size: 0.65rem !important;
    padding: 3px 8px !important;
  }
}


/* ==========================================================================
   SECTION 18: Institutional Pages
   ========================================================================== */

.go-inst-page,
.go-institutional-page,
.page-template-page-institutional {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: var(--go-space-2xl) var(--go-container-padding) !important;
}

.go-inst-page h1,
.go-institutional-page h1 {
  font-family: var(--go-font-display) !important;
  font-weight: 850 !important;
  margin-bottom: var(--go-space-lg) !important;
}

.go-inst-page p,
.go-institutional-page p {
  font-family: var(--go-font-text) !important;
  line-height: 1.72 !important;
  color: var(--go-text-secondary) !important;
  margin-bottom: 1.5em !important;
}

.go-inst-page h2,
.go-institutional-page h2 {
  font-family: var(--go-font-display) !important;
  margin-top: 2em !important;
  margin-bottom: 0.8em !important;
}

/* Remove unnecessary backgrounds */
.go-inst-page,
.go-institutional-page {
  background: transparent !important;
}


/* ==========================================================================
   SECTION 19: Search Page
   ========================================================================== */

.go-search-results,
.search-results {
  padding: var(--go-space-xl) 0 !important;
}

.go-search-results .go-portal-card,
.search-results .go-portal-card,
.go-search-results .go-ds-card,
.search-results .go-ds-card {
  background: var(--go-bg-secondary) !important;
  border: 1px solid var(--go-border-secondary) !important;
  border-radius: 0 !important;
}

.search-results h2,
.go-search-results h2 {
  font-family: var(--go-font-display) !important;
  font-weight: 850 !important;
}

/* Search form on search page */
.search-form input[type="search"],
.go-search-form input[type="search"] {
  background: var(--go-bg-tertiary) !important;
  border: 1px solid var(--go-border-primary) !important;
  border-radius: 0 !important;
  color: var(--go-text-primary) !important;
  font-family: var(--go-font-text) !important;
  padding: var(--go-space-sm) var(--go-space-md) !important;
}

.search-form input[type="submit"],
.go-search-form input[type="submit"] {
  background: var(--go-accent) !important;
  color: var(--go-text-on-accent) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--go-font-ui) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: var(--go-space-sm) var(--go-space-lg) !important;
  cursor: pointer !important;
}


/* ==========================================================================
   SECTION 20: 404 Page
   ========================================================================== */

.error-404,
.not-found {
  text-align: center !important;
  padding: var(--go-space-3xl) var(--go-container-padding) !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}

.error-404 h1,
.not-found h1 {
  font-family: var(--go-font-display) !important;
  font-size: clamp(3rem, 8vw, 6rem) !important;
  font-weight: 900 !important;
  color: var(--go-accent) !important;
  margin-bottom: var(--go-space-md) !important;
}

.error-404 p,
.not-found p {
  color: var(--go-text-muted) !important;
  font-size: clamp(1rem, 1.2vw, 1.15rem) !important;
  margin-bottom: var(--go-space-lg) !important;
}

.error-404 .search-form,
.not-found .search-form {
  max-width: 480px !important;
  margin: 0 auto !important;
}


/* ==========================================================================
   SECTION 21: Comments Section
   ========================================================================== */

.go-article__comments,
.comments-area {
  padding: var(--go-space-xl) 0 !important;
  border-top: 1px solid var(--go-border-primary) !important;
  margin-top: var(--go-space-xl) !important;
}

.go-article__comments h2,
.comments-area h2,
.comments-title {
  font-family: var(--go-font-display) !important;
  font-weight: 850 !important;
  font-size: clamp(1.3rem, 1.5vw, 1.8rem) !important;
  margin-bottom: var(--go-space-lg) !important;
}

/* Comment form */
.comment-form textarea,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"] {
  background: var(--go-bg-tertiary) !important;
  border: 1px solid var(--go-border-primary) !important;
  border-radius: 0 !important;
  color: var(--go-text-primary) !important;
  font-family: var(--go-font-text) !important;
  padding: var(--go-space-sm) var(--go-space-md) !important;
  width: 100% !important;
  transition: border-color var(--go-transition-fast) !important;
}

.comment-form textarea:focus,
.comment-form input[type="text"]:focus,
.comment-form input[type="email"]:focus,
.comment-form input[type="url"]:focus {
  border-color: var(--go-accent) !important;
}

.comment-form label {
  font-family: var(--go-font-ui) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--go-text-muted) !important;
  margin-bottom: var(--go-space-xs) !important;
  display: block !important;
}

/* Submit button */
.comment-form input[type="submit"],
.comment-form .submit {
  background: var(--go-accent) !important;
  color: var(--go-text-on-accent) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--go-font-ui) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 12px 32px !important;
  min-height: 44px !important;
  cursor: pointer !important;
  transition: opacity var(--go-transition-fast), transform var(--go-transition-fast) !important;
}

.comment-form input[type="submit"]:hover,
.comment-form .submit:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}

/* Individual comments */
.comment,
.comment-body {
  padding: var(--go-space-lg) 0 !important;
  border-bottom: 1px solid var(--go-border-secondary) !important;
}

.comment-author {
  font-family: var(--go-font-ui) !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
}

.comment-meta {
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  color: var(--go-text-muted) !important;
}

.comment-content {
  font-family: var(--go-font-text) !important;
  line-height: 1.6 !important;
  color: var(--go-text-secondary) !important;
  margin-top: var(--go-space-sm) !important;
}

.comment-reply-link {
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: var(--go-accent) !important;
}


/* ==========================================================================
   SECTION 22: Performance / Anti-FOUC
   ========================================================================== */

/* Prevent layout shifts by establishing dimensions early */
.go-ds-card-img,
.go-portal-card__image,
img.wp-post-image {
  aspect-ratio: auto !important;
  max-width: 100% !important;
  height: auto !important;
}

/* Disable transitions on page load, enable after load */
.go-no-transitions,
.go-no-transitions * {
  transition: none !important;
}

/* Smooth transitions only after DOMContentLoaded */
.go-transitions-ready .go-ds-card,
.go-transitions-ready .go-portal-card,
.go-transitions-ready .go-shell-footer-social-link,
.go-transitions-ready .go-article__tags a,
.go-transitions-ready a {
  transition-duration: var(--go-transition-fast) !important;
}


/* ==========================================================================
   SECTION 23: Accent Color Normalization
   ========================================================================== */

/* Light mode accent — ensure all existing variables point to the correct blue */
:root {
  --go-official-accent-light: #2817f1 !important;
  --go-official-accent-dark: #c7f000 !important;
  --go-color-accent: var(--go-accent) !important;
  --go-mode-accent: var(--go-accent) !important;
  --go-cat-accent: var(--go-accent) !important;
}

/* Dark mode accent — override all existing accent variables to the correct lime */
body.newsx-dark-mode,
body.dark-mode,
html.go-root-dark-mode body,
html[data-theme="dark"] body {
  --go-official-accent-dark: #c7f000 !important;
  --go-color-accent: var(--go-accent) !important;
  --go-mode-accent: var(--go-accent) !important;
  --go-cat-accent: var(--go-accent) !important;
}

/* Explicitly set accent on elements that may have inline or hard-coded accent values */
.go-ds-section-head,
.go-portal-section-head,
.go-article__side-card h3,
.go-article__side-card-title {
  border-bottom-color: var(--go-accent) !important;
}

.go-ds-card-cat,
.go-portal-card__kicker,
.go-article__eyebrow,
.go-ds-see-more {
  color: var(--go-accent) !important;
}


/* ==========================================================================
   SECTION 24: Breadcrumbs
   ========================================================================== */

.breadcrumb,
.breadcrumbs,
.go-breadcrumb,
.go-breadcrumbs,
nav.breadcrumb,
.rank-math-breadcrumb,
.yoast-breadcrumb {
  font-family: var(--go-font-ui) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.04em !important;
  color: var(--go-text-muted) !important;
}

.breadcrumb a,
.breadcrumbs a,
.go-breadcrumb a,
.go-breadcrumbs a,
.rank-math-breadcrumb a,
.yoast-breadcrumb a {
  color: var(--go-text-muted) !important;
  font-size: 0.72rem !important;
}

.breadcrumb a:hover,
.breadcrumbs a:hover,
.go-breadcrumb a:hover,
.go-breadcrumbs a:hover,
.rank-math-breadcrumb a:hover,
.yoast-breadcrumb a:hover {
  color: var(--go-accent) !important;
}

/* Separator */
.breadcrumb .separator,
.breadcrumbs .separator,
.go-breadcrumb .separator,
.rank-math-breadcrumb .separator,
.yoast-breadcrumb .separator {
  color: var(--go-border-primary) !important;
}


/* ==========================================================================
   SECTION 25: Ad Slots
   ========================================================================== */

.go-ds-ad {
  margin: var(--go-space-xl) auto !important;
  text-align: center !important;
  background: transparent !important;
  overflow: hidden !important;
}

.go-ds-ad::before {
  content: "" !important;
  display: block !important;
}

/* Subtle border for ad containers if needed */
.go-ds-ad[data-ad-border="true"] {
  border: 1px solid var(--go-border-secondary) !important;
  padding: var(--go-space-sm) !important;
}

/* Ad label */
.go-ds-ad-label {
  font-family: var(--go-font-ui) !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--go-text-muted) !important;
  margin-bottom: var(--go-space-xs) !important;
}


/* ==========================================================================
   SECTION 26: Author Archive Page
   ========================================================================== */

.go-author-archive,
.author-archive,
.author .go-portal-shell {
  padding: var(--go-space-xl) 0 !important;
}

/* Author header */
.go-author-header,
.author-header {
  margin-bottom: var(--go-space-xl) !important;
}

.go-author-header h1,
.author-header h1 {
  font-family: var(--go-font-display) !important;
  font-weight: 850 !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
}

.go-author-header p,
.go-author-bio,
.author-header p {
  color: var(--go-text-muted) !important;
  font-size: clamp(0.92rem, 1.1vw, 1.05rem) !important;
  line-height: 1.6 !important;
  max-width: 680px !important;
}

.go-author-header img,
.author-header img {
  border-radius: 0 !important;
}

/* Author archive cards — consistent with portal cards */
.go-author-archive .go-portal-card,
.author .go-portal-card {
  background: var(--go-bg-secondary) !important;
  border: 1px solid var(--go-border-secondary) !important;
  border-radius: 0 !important;
}


/* ==========================================================================
   SECTION 27: Related Posts
   ========================================================================== */

.go-article__related {
  padding: var(--go-space-xl) 0 !important;
  margin-top: var(--go-space-xl) !important;
}

/* Section head with accent border */
.go-article__related-head,
.go-article__related h2,
.go-article__related h3 {
  font-family: var(--go-font-display) !important;
  font-weight: 850 !important;
  font-size: clamp(1.3rem, 1.5vw, 1.8rem) !important;
  padding-bottom: var(--go-space-sm) !important;
  margin-bottom: var(--go-space-lg) !important;
  border-bottom: 2px solid var(--go-accent) !important;
}

/* Related post cards — consistent with home cards */
.go-article__related .go-ds-card,
.go-article__related .go-portal-card,
.go-article__related-card {
  background: var(--go-bg-secondary) !important;
  border: 1px solid var(--go-border-secondary) !important;
  border-radius: 0 !important;
  transition: border-color var(--go-transition-base), transform var(--go-transition-base) !important;
}

.go-article__related .go-ds-card:hover,
.go-article__related .go-portal-card:hover,
.go-article__related-card:hover {
  border-color: var(--go-border-primary) !important;
  transform: translateY(-2px) !important;
}

.go-article__related-card img {
  border-radius: 0 !important;
  object-fit: cover !important;
  width: 100% !important;
}

.go-article__related-card-title {
  font-family: var(--go-font-display) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
}

.go-article__related-card-title a {
  color: var(--go-text-primary) !important;
}

.go-article__related-card-title a:hover {
  color: var(--go-accent) !important;
}


/* ==========================================================================
   SECTION 28: Pagination
   ========================================================================== */

nav.go-portal-pagination,
.go-portal-pagination,
.pagination,
.nav-links {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--go-space-sm) !important;
  padding: var(--go-space-xl) 0 !important;
}

nav.go-portal-pagination a,
.go-portal-pagination a,
.pagination a,
.nav-links a,
.page-numbers {
  font-family: var(--go-font-ui) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  min-width: 40px !important;
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--go-border-primary) !important;
  color: var(--go-text-muted) !important;
  border-radius: 0 !important;
  transition: background var(--go-transition-fast), color var(--go-transition-fast), border-color var(--go-transition-fast) !important;
}

nav.go-portal-pagination a:hover,
.go-portal-pagination a:hover,
.pagination a:hover,
.nav-links a:hover,
a.page-numbers:hover {
  border-color: var(--go-accent) !important;
  color: var(--go-accent) !important;
}

/* Active page */
nav.go-portal-pagination .is-active,
.go-portal-pagination .is-active,
.pagination .current,
.nav-links .current,
span.page-numbers.current {
  background: var(--go-accent) !important;
  color: var(--go-text-on-accent) !important;
  border-color: var(--go-accent) !important;
}

/* Pagination prev/next arrows */
nav.go-portal-pagination .prev,
nav.go-portal-pagination .next,
.go-portal-pagination .prev,
.go-portal-pagination .next,
.nav-links .prev,
.nav-links .next {
  font-family: var(--go-font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}


/* ==========================================================================
   END — GO v201 Editorial Redesign
   ========================================================================== */
