/* gamblinginsider — mobile-first styles */

:root {
  --gi-red: #d80000;
  --gi-red-dark: #b40000;
  --gi-black: #111111;
  --gi-text: #1a1a1a;
  --gi-muted: #6b6b6b;
  --gi-border: #e6e6e6;
  --gi-bg: #ffffff;
  --gi-bg-soft: #f7f7f7;
  --gi-bg-hero: #f3f3f3;
  --gi-container: 1400px;
  --gi-container-article: 1400px;
  --gi-article-pad: 2rem;
  --gi-radius: 4px;
  --gi-font: "Source Sans 3", "Helvetica Neue", Helvetica, Arial, "Segoe UI", sans-serif;
  --gi-body: #363636;
  --gi-display: "Source Sans 3", "Helvetica Neue", Helvetica, Arial, "Segoe UI", sans-serif;
  --gi-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--gi-font);
  font-size: 16px;
  line-height: 1.55;
  color: var(--gi-text);
  background: var(--gi-bg);
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
select,
textarea,
.entry-title,
.page-title,
.post-title .entry-title,
.entry--single .entry-title {
  font-family: var(--gi-font);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--gi-black);
  text-decoration: none;
}

a:hover,
a:focus-visible {
  color: var(--gi-red);
}

button,
input,
textarea {
  font: inherit;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.skip-link:focus {
  clip: auto;
  clip-path: none;
  height: auto;
  width: auto;
  left: 8px;
  top: 8px;
  z-index: 100000;
  background: var(--gi-black);
  color: #fff;
  padding: 8px 12px;
}

.container {
  width: min(100% - 1.5rem, var(--gi-container));
  margin-inline: auto;
}

.container--article {
  width: min(100% - 1.5rem, var(--gi-container-article));
}

/* Buttons */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 44px;
  padding: 0.7rem 1.15rem;
  border: 1px solid transparent;
  border-radius: var(--gi-radius);
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.btn--primary {
  background: var(--gi-red);
  color: #fff;
}

.btn--primary:hover,
.btn--primary:focus-visible {
  background: var(--gi-red-dark);
  color: #fff;
}

.btn--outline {
  background: #fff;
  border-color: var(--gi-black);
  color: var(--gi-black);
}

.btn--outline:hover,
.btn--outline:focus-visible {
  border-color: var(--gi-red);
  color: var(--gi-red);
}

.btn--small {
  min-height: 36px;
  padding: 0.45rem 0.9rem;
  font-size: 0.78rem;
}

.btn--block {
  width: 100%;
}

/* Header */
.utility-bar {
  border-bottom: 1px solid var(--gi-border);
  background: #fff;
  font-size: 0.8125rem;
}

.utility-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  min-height: 36px;
}

.menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu--utility {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  /* Nudge About/Contact right so “About” optically lines up with italic GAMBLING logo */
  padding-left: 0.55rem;
}

.menu--utility a {
  color: var(--gi-muted);
}

.utility-bar__lang {
  display: flex;
  align-items: center;
  margin-right: -1rem;
}

.utility-bar__lang-label {
  color: var(--gi-muted);
}

/* Language switcher (matches gamblinginsider.com) */
.language-switcher {
  position: relative;
  font-size: 12px;
  color: #000;
}

.language-switcher-toggle {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px 16px;
  border: 0;
  border-left: 1px solid #dfdfdf;
  border-right: 1px solid #dfdfdf;
  background: transparent;
  color: #000;
  cursor: pointer;
  user-select: none;
  font: inherit;
}

.language-switcher-toggle:hover {
  color: #bc0000;
}

.language-switcher-toggle svg {
  flex-shrink: 0;
  color: inherit;
}

.language-switcher-toggle span {
  display: block;
  max-width: 300px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  color: inherit;
}

.language-switcher-dropdown {
  z-index: 999;
  display: none;
  position: absolute;
  top: 100%;
  right: -1px;
  min-width: 220px;
  max-width: 358px;
  padding: 24px;
  font-size: 14px;
  background: #fff;
  border: 1px solid #dfdfdf;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.08);
  box-sizing: border-box;
}

.language-switcher.is-open .language-switcher-dropdown,
.language-switcher-dropdown:not([hidden]) {
  display: block;
}

.language-switcher-dropdown[hidden] {
  display: none !important;
}

.language-switcher-dropdown-inner {
  max-height: 80vh;
  overflow: auto;
  margin: 0;
  padding: 0;
  scrollbar-width: thin;
}

.language-switcher-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.language-switcher-close {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #000;
}

.language-item {
  position: relative;
  margin-bottom: 16px;
}

.language-item:last-of-type {
  margin-bottom: 0;
}

.language-item > a,
.language-item > span {
  display: block;
  padding-left: 20px;
  color: #000;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 22px;
  text-decoration: none;
}

.language-item > a::before,
.language-item > span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Ccircle cx='6' cy='6' r='5.6' stroke='%2315181C' stroke-width='0.8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 12px 12px;
}

.language-item--selected > a::before,
.language-item--selected > span::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Ccircle cx='6' cy='6' r='5.6' stroke='%23BC0000' stroke-width='0.8'/%3E%3Ccircle cx='5.9999' cy='6' r='3.6' fill='%23BC0000'/%3E%3C/svg%3E");
}

.language-item:hover > a,
.language-item:hover > span {
  color: #bc0000;
}

.language-switcher svg {
  flex-shrink: 0;
}

.main-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--gi-border);
}

.main-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 64px;
  padding-block: 0.5rem;
}

.site-branding {
  flex-shrink: 0;
}

.site-logo-text {
  display: inline-flex;
  align-items: baseline;
  gap: 0;
  font-family: var(--gi-display);
  font-size: clamp(1.45rem, 5.5vw, 2rem);
  font-weight: 800;
  font-style: italic;
  letter-spacing: -0.02em;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.site-logo-text:hover,
.site-logo-text:focus-visible {
  color: inherit;
}

.site-logo-text__gambling {
  color: var(--gi-red);
}

.site-logo-text__plus {
  color: var(--gi-black);
  margin: 0 0.05em;
  font-weight: 800;
}

.site-logo-text__insider {
  color: var(--gi-black);
}

.site-logo-text--footer .site-logo-text__gambling {
  color: #ff4d4d;
}

.site-logo-text--footer .site-logo-text__plus,
.site-logo-text--footer .site-logo-text__insider {
  color: #fff;
}

/* Hide WP custom logo if a plugin/theme mod injects it */
.site-header .custom-logo-link,
.site-header .custom-logo {
  display: none !important;
}

.header-controls {
  display: none;
  align-items: center;
  gap: 0.15rem;
  flex-shrink: 0;
}

.nav-toggle {
  width: 44px;
  height: 44px;
  border: 1px solid var(--gi-border);
  background: #fff;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}

.nav-toggle__bar {
  width: 18px;
  height: 2px;
  background: var(--gi-black);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

/* Keep hamburger bars on mobile (GI style); X only as optional desktop cue */
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) {
  transform: none;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) {
  opacity: 1;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) {
  transform: none;
}

.primary-nav {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  background: #fff;
  border-bottom: 1px solid var(--gi-border);
  padding: 1rem 1.25rem 1.25rem;
  display: none;
  box-shadow: var(--gi-shadow);
}

.primary-nav.is-open {
  display: block;
}

.primary-nav__scroll {
  display: contents;
}

.primary-nav__footer {
  display: none;
}

.menu--primary {
  display: grid;
  gap: 0;
}

.menu--primary > .menu-item > a {
  display: block;
  padding: 0.7rem 0.25rem;
  font-weight: 700;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.95rem;
  color: #111;
}

.header-search {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 0;
}

.header-search--drawer {
  display: none;
}

.nav-toggle__open,
.nav-toggle__close {
  display: none;
  line-height: 0;
}

.nav-toggle--combo .nav-toggle__bar {
  display: none;
}

.nav-toggle--combo .nav-toggle__open {
  display: inline-flex;
}

.nav-toggle--combo .nav-toggle__close {
  display: none;
}

.nav-toggle--combo[aria-expanded="true"] .nav-toggle__open {
  display: none;
}

.nav-toggle--combo[aria-expanded="true"] .nav-toggle__close {
  display: inline-flex;
}

.header-search__toggle {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--gi-black);
  cursor: pointer;
  padding: 0;
  transition: color 0.2s ease, background 0.2s ease;
}

.header-search__toggle:hover,
.header-search__toggle:focus-visible,
.header-search__toggle[aria-expanded="true"] {
  color: var(--gi-red);
  background: var(--gi-bg-soft);
}

.header-search__icon {
  display: block;
}

.header-search__panel {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 60;
  display: none;
  align-items: center;
  gap: 0.4rem;
  width: min(280px, calc(100vw - 2rem));
  padding: 0.55rem;
  background: #fff;
  border: 1px solid var(--gi-border);
  border-radius: var(--gi-radius);
  box-shadow: var(--gi-shadow);
}

.header-search.is-open .header-search__panel,
.header-search__panel:not([hidden]) {
  display: flex;
}

.header-search__panel[hidden] {
  display: none !important;
}

.header-search__panel input {
  flex: 1;
  min-width: 0;
  min-height: 38px;
  border: 1px solid var(--gi-border);
  padding: 0 0.7rem;
}

.header-search__submit {
  min-height: 38px;
  border: 0;
  background: var(--gi-red);
  color: #fff;
  padding: 0 0.75rem;
  font-weight: 700;
  cursor: pointer;
  flex-shrink: 0;
}

/* Hero */
.hero {
  position: relative;
  background-color: var(--gi-bg-hero);
  background-image: linear-gradient(180deg, rgba(247, 247, 247, 0.92), rgba(247, 247, 247, 0.96)), var(--hero-bg);
  background-size: cover;
  background-position: center;
  padding: 2rem 0 2.25rem;
  overflow: hidden;
}

.hero__inner {
  display: grid;
  gap: 1.25rem;
}

.hero__title {
  margin: 0 0 0.85rem;
  font-family: var(--gi-font);
  font-size: clamp(1.35rem, 4.5vw, 1.75rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.01em;
  text-transform: none;
  max-width: none;
  overflow: visible;
  word-break: normal;
  hyphens: none;
}

.hero__line {
  display: block;
}

.hero__accent {
  color: var(--gi-red);
}

.hero__text {
  margin: 0;
  color: var(--gi-muted);
  font-size: 0.95rem;
  line-height: 1.55;
  max-width: 56ch;
}

.hero__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.65rem;
  width: 100%;
  max-width: 240px;
}

.hero__actions .btn {
  width: 100%;
  min-height: 46px;
  border-radius: 6px;
  font-size: 0.9rem;
  text-transform: none;
  letter-spacing: 0;
}

/* Framed panels like gamblinginsider.com */
.gi-frame {
  border: 1px solid #e6e6e8;
  background: #fff;
  padding: 1rem 1rem 1.15rem;
}

.gi-frame--news {
  padding: 1.15rem 1rem 1.35rem;
}

/* Section headers */
.section-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1rem;
}

.section-header--row {
  justify-content: space-between;
}

.section-header--news {
  padding-bottom: 0.85rem;
  margin-bottom: 0.85rem;
  border-bottom: 1px solid var(--gi-border);
}

.section-header__left {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.section-header__bar {
  width: 8px;
  height: 22px;
  background: var(--gi-red);
  flex-shrink: 0;
}

.section-header__bar--h {
  width: 22px;
  height: 10px;
}

.section-header--ruled {
  padding-bottom: 0.75rem;
  margin-bottom: 1rem;
  border-bottom: 1.5px solid #e6e6e8;
}

.section-header__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.section-header__more {
  color: var(--gi-red);
  font-weight: 700;
  white-space: nowrap;
}

.section-intro {
  margin: -0.25rem 0 1.25rem;
  color: var(--gi-muted);
}

/* Operators */
.operators {
  padding: 1.5rem 0 1rem;
}

.operators__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 78%);
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.35rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.operator-card {
  scroll-snap-align: start;
  color: #fff;
  border-radius: 2px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  border: 1px solid #222;
  animation: gi-fade-up 0.55s ease both;
}

.operator-card:nth-child(2) { animation-delay: 0.05s; }
.operator-card:nth-child(3) { animation-delay: 0.1s; }
.operator-card:nth-child(4) { animation-delay: 0.15s; }
.operator-card:nth-child(5) { animation-delay: 0.2s; }

.operator-card--boxed .operator-card__inner {
  display: grid;
  gap: 0.85rem;
  padding: 0.85rem 0.85rem 1rem;
  min-height: 320px;
  background: var(--op-bg, linear-gradient(216deg, #333 -14%, #000 39%));
  box-sizing: border-box;
}

.operator-card__rank {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: #000;
  color: #fff;
  font-weight: 800;
  border-radius: 2px;
  font-size: 0.9rem;
}

.operator-card__brand {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 0.45rem;
  min-height: 88px;
  color: #fff;
}

.operator-card__brand img {
  width: auto;
  max-width: 140px;
  height: 56px;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
}

.operator-card__name {
  font-family: var(--gi-display);
  font-size: 1.35rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.02em;
}

.operator-card__rating {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-self: start;
  gap: 0.3rem 0.4rem;
  font-size: 0.85rem;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  padding: 0.35rem 0.55rem;
}

.operator-card__score {
  font-weight: 800;
  font-size: 1rem;
}

.operator-card__star {
  color: #f5c518;
}

.operator-card__offer {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
  min-height: 3.4em;
  align-self: end;
}

.operator-card__offer a {
  color: #fff;
}

.operator-card--boxed .btn--primary {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 2px;
}

.affiliate-note {
  margin: 1rem 0 0;
  color: var(--gi-muted);
  font-size: 0.8rem;
}

.menu--inline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  margin-top: 0.5rem;
}

.menu--inline a {
  color: var(--gi-red);
  font-size: 0.8rem;
}

/* News — matched to gamblinginsider.com
   grid-template-areas: "feature list" / "subgrid list" */
.todays-news {
  padding: 1rem 0 2rem;
  background: transparent;
}

.todays-news__layout {
  display: grid;
  gap: 1.5rem;
  align-items: start;
}

.todays-news .widget-title::before {
  width: 22px;
  height: 10px;
}

.todays-news__main .section-header--news {
  /* red box: bold black underline under TODAY'S NEWS */
  border-bottom: 3px solid #111111;
  margin-bottom: 0.85rem;
  padding-bottom: 0.85rem;
}

.news-filters {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.15rem;
  margin-bottom: 0;
  border-bottom: 0; /* blue arrow: remove line under filters */
  -webkit-overflow-scrolling: touch;
}

.news-filters__btn {
  flex: 0 0 auto;
  border: 1px solid var(--gi-border);
  border-radius: 999px;
  background: #fff;
  color: var(--gi-black);
  padding: 0.45rem 0.9rem;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  white-space: nowrap;
}

.news-filters__btn.is-active,
.news-filters__btn:hover {
  background: var(--gi-red);
  border-color: var(--gi-red);
  color: #fff;
}

/* Core posts grid */
.news-posts {
  display: grid;
  gap: 1rem;
}

.news-lead {
  grid-area: auto;
}

.news-subgrid {
  grid-area: auto;
  display: grid;
  gap: 0.85rem;
}

.news-list {
  grid-area: auto;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.news-lead__media,
.news-list__media,
.news-subgrid__media,
.post-card__media,
.entry-thumb,
.methodology__visual {
  position: relative;
  overflow: hidden;
  background: var(--gi-bg-soft);
  display: block;
}

.news-lead__media img,
.news-list__media img,
.news-subgrid__media img,
.post-card__media img,
.entry-thumb img,
.methodology__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.news-lead__media {
  aspect-ratio: 700 / 370;
  margin-bottom: 0.85rem;
}

.news-lead:hover .news-lead__media img,
.news-list__item:hover .news-list__media img,
.post-card:hover .post-card__media img {
  transform: scale(1.03);
}

.badge--cat,
.badge--breaking {
  position: absolute;
  left: 0;
  bottom: 0;
  display: inline-block;
  width: auto;
  max-width: 45%;
  background: #111;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 0.4rem 0.55rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.badge--breaking {
  background: #000;
}

.news-lead__header {
  margin-bottom: 0.55rem;
}

.news-lead__title,
.news-list__title,
.news-subgrid__title,
.post-card__title,
.entry-title,
.page-title {
  font-family: var(--gi-font);
  font-weight: 800;
  line-height: 1.25;
  margin: 0 0 0.4rem;
}

.news-lead__title {
  font-size: clamp(1.15rem, 2.6vw, 1.55rem);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.news-lead__excerpt {
  margin: 0;
  color: var(--gi-muted);
  font-size: 0.95rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.75rem;
  align-items: center;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.meta__cat,
.popular-list__cat {
  color: var(--gi-red);
}

.meta__date {
  color: var(--gi-muted);
}

/* Middle column list cards */
.news-list__media {
  aspect-ratio: 16 / 10;
  margin-bottom: 0.55rem;
}

.news-list__body {
  min-width: 0;
}

.news-list__title {
  font-size: 0.98rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

/* Mobile-only "More" under Today's News list; hidden on desktop */
.todays-news__more {
  display: none;
}

/* 2×2 under feature */
.news-subgrid__item {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 0.65rem;
  align-items: start;
}

.news-subgrid__media {
  width: 72px;
  aspect-ratio: 1;
}

.news-subgrid__title {
  font-size: 0.88rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  margin-bottom: 0.25rem;
}

.news-lead.is-hidden,
.news-list__item.is-hidden,
.news-subgrid__item.is-hidden {
  display: none;
}

/* Popular */
.widget-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.85rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.widget-title::before {
  content: "";
  width: 4px;
  height: 1em;
  background: var(--gi-red);
}

.popular-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.popular-list__item {
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--gi-border);
}

.popular-list__item:first-child {
  padding-top: 0;
}

.popular-list__link {
  display: block;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 0.35rem;
}

.popular-list__cat {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* Q&A */
.home-qas {
  padding: 2rem 0;
  background: var(--gi-bg-soft);
}

.qa-item {
  background: #fff;
  border: 1px solid var(--gi-border);
  border-radius: var(--gi-radius);
  margin-bottom: 0.65rem;
  padding: 0.85rem 1rem;
}

.qa-item__q {
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}

.qa-item__q::-webkit-details-marker {
  display: none;
}

.qa-item__label {
  color: var(--gi-red);
  margin-right: 0.35rem;
}

.qa-item__a {
  margin-top: 0.75rem;
  color: var(--gi-muted);
}

.qa-item__a p {
  margin: 0.35rem 0 0;
}

/* Category rows — 4-column In-Depth style (Gambling news / Sports news) */
.cat-row {
  padding: 0;
}

.cat-row .container {
  position: relative;
  /* Outer L/R verticals — meet header & bottom horizontals at corners */
  border-left: 1px solid #e6e6e8;
  border-right: 1px solid #e6e6e8;
  padding: 1.75rem 1.15rem 0;
  box-sizing: border-box;
}

.cat-row__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  position: relative;
  padding-bottom: 0.85rem;
  margin-bottom: 1.15rem;
  border-bottom: 0;
}

/*
 * Bold black header line — extends to L/R verticals so corners connect (red).
 */
.cat-row__header::after {
  content: "";
  position: absolute;
  left: -1.15rem;
  right: -1.15rem;
  bottom: 0;
  border-bottom: 3px solid #111111;
}

.cat-row__heading {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.cat-row__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.cat-row__more {
  color: var(--gi-red);
  font-weight: 700;
  white-space: nowrap;
}

/* Footer More is mobile-only */
.cat-row__more--footer {
  display: none;
}

.cat-row__grid {
  display: grid;
  gap: 1.25rem;
  /* Bottom horizontal flush to outer L/R verticals (red side arrows) */
  margin-left: -1.15rem;
  margin-right: -1.15rem;
  padding-left: 1.15rem;
  padding-right: 1.15rem;
  border-bottom: 1px solid #e6e6e8;
}

.cat-row__item {
  min-width: 0;
}

.cat-row__media {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--gi-bg-soft);
  margin-bottom: 0.65rem;
}

.cat-row__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.cat-row__item:hover .cat-row__media img {
  transform: scale(1.03);
}

.cat-row__body {
  min-width: 0;
}

.cat-row__item-title {
  margin: 0 0 0.45rem;
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.cat-row__cat {
  display: inline-block;
  color: var(--gi-red);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .cat-row__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 0;
    row-gap: 0;
    align-items: stretch;
  }

  /*
   * Column verticals — gap under header line at top;
   * padding-bottom so borders run down and meet grid bottom line (red ↓).
   */
  .cat-row__item:not(:last-child) {
    border-right: 1px solid #e6e6e8;
    padding-right: 1.15rem;
    margin-right: 1.15rem;
  }

  .cat-row__item {
    padding-top: 0.85rem;
    padding-bottom: 1.5rem;
  }
}

/* Methodology */
.methodology {
  padding: 2.25rem 0 2.75rem;
  border-top: 0;
}

.methodology__inner {
  display: grid;
  gap: 1.5rem;
}

.methodology__title {
  margin: 0 0 0.85rem;
  font-size: clamp(1.4rem, 4.5vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
}

.methodology__copy p {
  color: var(--gi-muted);
}

.criteria-row {
  margin-bottom: 0.85rem;
}

.criteria-row__meta {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.9rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
}

.criteria-row__track {
  height: 8px;
  background: #ececec;
  border-radius: 999px;
  overflow: hidden;
}

.criteria-row__fill {
  display: block;
  height: 100%;
  background: var(--gi-red);
  border-radius: inherit;
  transform-origin: left center;
  animation: gi-grow 0.8s ease both;
}

.methodology__visual {
  aspect-ratio: 16 / 9;
  border-radius: 6px;
}

/* Content layouts */
.content-layout {
  display: grid;
  gap: 2rem;
  padding: 1.75rem 0 2.5rem;
}

.content-layout--single {
  display: grid;
  gap: 0;
  padding: 0.75rem 0 1.5rem;
  /* stretch so sidebar is tall enough for sticky TOC */
  align-items: stretch;
}

.content-layout--single .content-area {
  padding: 1rem var(--gi-article-pad) 0;
  min-width: 0;
}

/* Single article page — full-page white; footer stays black */
body.single-post,
body.single {
  background: #fff;
}

body.single-post .site-header,
body.single .site-header {
  background: #fff;
}

/* Image 1: thick red rule under header */
body.single-post .main-header,
body.single .main-header {
  border-bottom: 4px solid #bc292a;
}

body.single-post .site-footer,
body.single .site-footer {
  background: #111;
}

body.single-post .container,
body.single .container {
  width: min(100% - 1.5rem, var(--gi-container-article));
}

body.single-post .content-layout--single,
body.single .content-layout--single {
  background: #fff;
  padding-top: 0.75rem;
  padding-bottom: 1.5rem;
}

/*
 * GI article frame: left + right vertical lines on the shared shell
 * (article + sidebar + More News).
 */
.site__content--article {
  border-left: 1px solid #dfdfdf;
  border-right: 1px solid #dfdfdf;
  background: #fff;
}

.page-header {
  margin-bottom: 1.25rem;
}

.posts-grid {
  display: grid;
  gap: 1.25rem;
}

.post-card {
  border-bottom: 1px solid var(--gi-border);
  padding-bottom: 1.25rem;
}

.post-card__media {
  aspect-ratio: 16 / 9;
  margin-bottom: 0.75rem;
}

/* —— Category / archive listing (GI /news) —— */
.archive-shell {
  border-left: 1px solid #dfdfdf;
  border-right: 1px solid #dfdfdf;
  background: #fff;
  padding-left: 1.15rem;
  padding-right: 1.15rem;
  box-sizing: border-box;
}

.content-layout--archive {
  align-items: start;
  padding-top: 1.25rem;
  padding-bottom: 3rem;
}

.archive-feed__header {
  margin-bottom: 0.35rem;
}

.archive-feed__title {
  margin: 0 0 0.35rem;
  font-family: var(--gi-display);
  font-size: clamp(1.65rem, 3vw, 2.1rem);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--gi-black);
}

.archive-feed__desc {
  margin: 0 0 0.75rem;
  color: var(--gi-muted);
  font-size: 0.95rem;
}

.archive-feed__count {
  margin: 0 0 1rem;
  font-size: 0.82rem;
  color: var(--gi-muted);
}

.archive-feed__list {
  border-top: 1px solid #e5e5e5;
}

.archive-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
  padding: 1.15rem 0;
  border-bottom: 1px solid #e5e5e5;
  margin: 0;
}

.archive-item__media {
  display: block;
  overflow: hidden;
  background: var(--gi-bg-soft);
  aspect-ratio: 16 / 10;
}

.archive-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.archive-item:hover .archive-item__media img {
  transform: scale(1.03);
}

.archive-item__title {
  margin: 0 0 0.4rem;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--gi-black);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.archive-item__title a {
  color: inherit;
}

.archive-item__title a:hover {
  color: var(--gi-red);
}

.archive-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
  margin-bottom: 0.45rem;
}

.archive-item__cat {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--gi-red);
}

.archive-item__date {
  font-size: 0.82rem;
  color: #9a9a9a;
}

.archive-item__excerpt {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: #666;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.archive-pagination {
  margin-top: 1.75rem;
  padding-top: 0.5rem;
}

.archive-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.archive-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0.25rem 0.55rem;
  border: 1px solid #e5e5e5;
  border-radius: 2px;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--gi-black);
  background: #fff;
}

.archive-pagination .page-numbers:hover {
  border-color: var(--gi-red);
  color: var(--gi-red);
}

.archive-pagination .page-numbers.current {
  background: var(--gi-red);
  border-color: var(--gi-red);
  color: #fff;
}

.archive-pagination .page-numbers.dots {
  border: 0;
  background: transparent;
  min-width: auto;
}

.sidebar--archive .widget {
  margin-bottom: 1.75rem;
}

/* Red bar + thick black rule under Most Popular / Latest News */
.sidebar--archive .widget-title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1rem;
  padding: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.sidebar--archive .widget-title::before {
  content: "";
  width: 6px;
  height: 1.05em;
  background: var(--gi-red);
  flex-shrink: 0;
}

.sidebar--archive .widget-title::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 3px solid #111;
}

.sidebar--archive .popular-list__item {
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5e5e5;
}

.sidebar--archive .popular-list__item:first-child {
  padding-top: 0;
}

.sidebar--archive .popular-list__link {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--gi-black);
}

.sidebar--archive .popular-list__cat {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gi-red);
}

/* —— Single article (GI article layout) —— */
.post-hero {
  padding-top: 0.75rem;
  margin-bottom: 1.5rem;
  color: var(--gi-body);
}

/*
 * Blue arrow: title / intro / byline / hero image share ONE full content width.
 * Do not constrain with a secondary max-width.
 */
.the__content {
  max-width: none;
  width: 100%;
}

.gi-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.5rem;
  font-size: 0.9rem;
  color: var(--gi-body);
}

.gi-breadcrumb a {
  color: var(--gi-body);
}

.gi-breadcrumb a:hover {
  color: var(--gi-red);
}

.gi-breadcrumb__sep {
  display: inline-flex;
  line-height: 0;
}

.post-title .entry-title,
.entry--single .entry-title {
  margin: 1.25rem 0;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
  color: #000;
  letter-spacing: -0.01em;
}

.post-intro {
  margin: 0.5rem 0 1rem;
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--gi-body);
}

.post-intro em {
  font-style: italic;
}

.post-byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  margin: 0 0 1.25rem;
  padding-bottom: 0.25rem;
}

.post-byline__item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-size: 0.75rem;
  color: var(--gi-body);
}

.post-byline__item-label {
  color: #555;
  font-size: 0.75rem;
}

.post-byline__item-date {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--gi-black);
}

.social-sharing--icons {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-left: auto;
}

.share-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 3px;
  flex-shrink: 0;
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.share-icon:hover {
  opacity: 0.9;
  transform: translateY(-1px);
  color: #fff;
}

.share-icon--facebook {
  background: #3b5998;
}

.share-icon--x {
  background: #55acee;
}

.share-icon--pinterest {
  background: #cb2027;
}

.share-icon--whatsapp {
  background: #25d366;
}

.post-hero-image {
  margin: 0 0 1.5rem;
}

.post-hero-image img {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: var(--gi-bg-soft);
}

.post-hero-image-caption {
  margin-top: 0.45rem;
  font-size: 0.75rem;
  color: #888;
}

.entry--single .entry-content {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--gi-body);
}

.entry--single .entry-content > * + * {
  margin-top: 1rem;
}

.entry--single .entry-content h2 {
  margin: 2rem 0 0.5rem;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.25;
  color: #000;
}

.entry--single .entry-content h3 {
  margin: 1.5rem 0 0.45rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #000;
}

.entry--single .entry-content p {
  margin: 0.5rem 0 1rem;
}

.entry--single .entry-content a {
  color: var(--gi-red);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.entry--single .entry-content a:hover {
  color: var(--gi-red-dark);
}

.entry--single .entry-content ul,
.entry--single .entry-content ol {
  padding-left: 1.25rem;
}

.entry--single .entry-content blockquote {
  margin: 1.25rem 0;
  padding: 0.75rem 0 0.75rem 1rem;
  border-left: 3px solid var(--gi-red);
  color: #555;
  font-style: italic;
}

.entry-thumb {
  aspect-ratio: 16 / 9;
  margin: 1rem 0 1.25rem;
}

/* Single sidebar — mission + popular + sticky TOC */
.site__sidebar {
  padding: 1.25rem 0 0;
  height: 100%;
}

.site__sidebar-inner {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  height: 100%;
}

.trust-widget__card {
  position: relative;
  background: #f5f5f5;
  padding: 2.75rem 1.25rem 1.5rem;
  overflow: hidden;
}

.trust-widget__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 90% 8%, rgba(188, 41, 42, 0.08), transparent 45%),
    repeating-linear-gradient(
      -45deg,
      transparent,
      transparent 10px,
      rgba(0, 0, 0, 0.015) 10px,
      rgba(0, 0, 0, 0.015) 11px
    );
  pointer-events: none;
}

.trust-widget__label {
  position: relative;
  display: inline-block;
  margin: 0 0 1.25rem;
  padding: 0.35rem 1.1rem;
  background: #bc292a;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.trust-widget__headline {
  position: relative;
  margin: 0 0 1rem;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.35;
  color: #000;
}

.trust-widget__headline strong {
  color: #bc292a;
}

.trust-widget__list {
  position: relative;
  margin: 0 0 1.25rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.75rem;
}

.trust-widget__list li {
  position: relative;
  padding-left: 1.35rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: #222;
}

.trust-widget__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35rem;
  width: 0.7rem;
  height: 0.45rem;
  border-left: 2px solid #bc292a;
  border-bottom: 2px solid #bc292a;
  transform: rotate(-45deg);
}

.trust-widget__list strong {
  color: #bc292a;
}

.trust-widget__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0.35rem 1.35rem;
  border: 1px solid #d09e9e;
  border-radius: 4px;
  background: #fff;
  color: #bc0000;
  font-size: 0.875rem;
  font-weight: 700;
}

.trust-widget__btn:hover {
  background: #fff5f5;
  color: #bc0000;
  border-color: #bc292a;
}

/* Article sidebar: red bar + thick black rule under section titles */
.site__sidebar .widget {
  margin-bottom: 1.5rem;
}

.site__sidebar .widget-title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1rem;
  padding: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.site__sidebar .widget-title::before {
  content: "";
  width: 6px;
  height: 1.05em;
  background: var(--gi-red);
  flex-shrink: 0;
}

.site__sidebar .widget-title::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 3px solid #111;
}

.site__sidebar .popular-list__item {
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5e5e5;
}

.site__sidebar .popular-list__item:first-child {
  padding-top: 0;
}

.site__sidebar .popular-list__link {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--gi-black);
}

.site__sidebar .popular-list__cat {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gi-red);
}

/* Latest Articles — recent posts with featured images */
.latest-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.latest-list__item {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e6e6e8;
  align-items: start;
}

.latest-list__item:first-child {
  padding-top: 0;
}

.latest-list__media {
  display: block;
  overflow: hidden;
  background: var(--gi-bg-soft);
  aspect-ratio: 1;
}

.latest-list__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.latest-list__item:not(:has(.latest-list__media)) {
  grid-template-columns: 1fr;
}

.latest-list__link {
  display: block;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--gi-black);
}

.latest-list__link:hover {
  color: var(--gi-red);
}

.latest-list__cat {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gi-red);
}

/* Table of Contents — sticky at very top while scrolling */
.gi-toc {
  margin: 0;
  padding: 0.85rem 0 1rem;
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 20;
}

.gi-toc__header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid #dfdfdf;
}

.gi-toc__bar {
  width: 22px;
  height: 8px;
  background: #bc292a;
  flex-shrink: 0;
}

.gi-toc__heading {
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #000;
}

.gi-toc__list {
  list-style: none;
  margin: 0;
  padding: 0.35rem 0 0.35rem 0.85rem;
  border-left: 2px solid #e6e6e6;
  border-bottom: 1px solid #dfdfdf;
}

.gi-toc__item {
  position: relative;
  margin: 0;
  padding: 0.4rem 0;
}

.gi-toc__label {
  display: block;
  color: #222;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  cursor: pointer;
}

.gi-toc__label:hover {
  color: #bc292a;
}

.gi-toc__item.is-current .gi-toc__label {
  color: #bc292a;
  font-weight: 700;
}

.gi-toc__item.is-current::before {
  content: "";
  position: absolute;
  left: -0.95rem;
  top: 0.75rem;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #bc292a;
  transform: translateX(-50%);
}

/* More News — same left edge as article text (shared --gi-article-pad) */
.more-news {
  border-top: 1px solid #e5e5e5;
  padding: 1.25rem var(--gi-article-pad) 0;
  margin-top: 0;
  margin-bottom: 0;
}

.more-news__heading {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  /* Image 2: thick red rule under MORE NEWS */
  border-bottom: 4px solid #bc292a;
}

.more-news__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #000;
}

.more-news__grid {
  display: grid;
  gap: 1.5rem;
}

.more-news-card {
  border-bottom: 1px solid #dfdfdf;
}

.more-news-card__title {
  margin: 0 0 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.more-news-card__title a {
  color: #111;
}

.more-news-card__title a:hover {
  color: var(--gi-red);
}

.more-news-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.35rem;
  font-size: 0.75rem;
}

.more-news-card__cat {
  color: var(--gi-red);
  font-weight: 700;
}

.more-news-card__meta time {
  color: #999;
}

.more-news-card__excerpt {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #777;
}

.more-news-card__media {
  display: block;
  overflow: hidden;
  background: var(--gi-bg-soft);
}

.more-news-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.more-news-card--row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 0.85rem;
  padding-bottom: 0.85rem;
  margin-bottom: 0.65rem;
}

.more-news-card--row .more-news-card__media {
  aspect-ratio: 16 / 10;
}

.more-news-card--stack {
  padding-bottom: 1.25rem;
  margin-bottom: 0.35rem;
}

.more-news-card--stack .more-news-card__media {
  aspect-ratio: 16 / 9;
  margin-bottom: 0.65rem;
}

.more-news-card--text {
  padding: 0 0 1rem;
  margin-bottom: 0.25rem;
}

.more-news__col > .more-news-card:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0.75rem;
}

/*
 * Image 3: column verticals run full height of More News
 * so they meet the footer red rule below.
 */
.more-news__col {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  box-sizing: border-box;
}

.more-news-card--text .more-news-card__title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.gi-post-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin: 1.75rem 0 0;
  padding: 1.35rem 0 0.25rem;
  border-top: 1px solid #e5e5e5;
}

.gi-post-nav__prev,
.gi-post-nav__next {
  min-width: 0;
}

.gi-post-nav__next {
  text-align: right;
}

.gi-post-nav__link {
  display: block;
  color: inherit;
}

.gi-post-nav__label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #9a9a9a;
}

.gi-post-nav__title {
  display: block;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--gi-black);
}

.gi-post-nav__link:hover .gi-post-nav__title {
  color: var(--gi-red);
}

/* —— Mobile only (match gamblinginsider.com phone layout; desktop unchanged) —— */
@media (max-width: 767px) {
  /* Kill horizontal page scroll caused by negative margins / wide grids */
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  /* Keep site-header overflow visible so fixed mobile nav can leave the box */
  .site-header {
    max-width: 100%;
    overflow: visible;
    /* Reserve space while .main-header is position:fixed */
    min-height: 56px;
  }

  .site-main,
  .site-footer,
  .cat-row,
  .todays-news,
  .hero,
  .archive-shell {
    max-width: 100%;
    overflow-x: clip;
  }

  .container {
    width: 100%;
    max-width: 100%;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
    box-sizing: border-box;
  }

  /* GI hides utility/top bar on phone — links move into drawer footer */
  .utility-bar {
    display: none;
  }

  body.nav-open {
    overflow: hidden;
  }

  /*
   * Mobile nav: fixed to viewport.
   * sticky fails here because html/body use overflow-x:hidden and
   * ancestors previously used overflow-x:clip.
   * Hide on scroll down / show on scroll up via .is-scroll-hidden.
   */
  .main-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 80;
    border-bottom: 1px solid #e6e6e8;
    overflow: visible;
    background: #fff;
    transform: translate3d(0, 0, 0);
    transition: transform 0.28s ease;
    will-change: transform;
  }

  .main-header.is-scroll-hidden {
    transform: translate3d(0, -100%, 0);
    pointer-events: none;
  }

  body.nav-open .main-header,
  body.nav-open .main-header.is-scroll-hidden {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }

  .main-header__inner {
    position: relative;
    min-height: 56px;
    padding-block: 0.35rem;
    gap: 0.35rem;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  /* Combined menu+search icon left, logo right (GI mobile) */
  .header-controls {
    display: flex;
    order: 1;
    align-items: center;
  }

  .nav-toggle,
  .nav-toggle--combo {
    border: 0;
    background: transparent;
    width: auto;
    min-width: 40px;
    height: 40px;
    padding: 0 2px;
    flex-shrink: 0;
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .nav-toggle--combo svg {
    display: block;
  }

  /* Search box under primary menu (About Us) inside drawer */
  .header-search--drawer {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    max-width: 100%;
    margin: 0.85rem 0 0.35rem;
    padding: 0;
    box-sizing: border-box;
  }

  .header-search--drawer input[type="search"] {
    flex: 1;
    min-width: 0;
    min-height: 42px;
    border: 1px solid #dfdfdf;
    border-radius: 2px;
    padding: 0 0.75rem;
    font-size: 0.95rem;
    background: #fff;
    box-sizing: border-box;
  }

  .header-search--drawer .header-search__submit {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 0 0.9rem;
  }

  .header-search--desktop {
    display: none !important;
  }

  .site-branding {
    order: 2;
    flex: 1;
    display: flex;
    justify-content: flex-end;
    min-width: 0;
  }

  .site-logo-text {
    font-size: clamp(1.05rem, 5.2vw, 1.35rem);
  }

  /* Full-height drawer under header */
  .primary-nav {
    order: 3;
    position: fixed;
    left: 0;
    right: 0;
    top: 56px;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    height: calc(100dvh - 56px);
    height: calc(100vh - 56px);
    margin: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: #fff;
    z-index: 70;
    box-sizing: border-box;
    overflow: hidden;
  }

  .primary-nav.is-open {
    display: flex;
    flex-direction: column;
  }

  .primary-nav__scroll {
    display: block;
    flex: 1 1 auto;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 1rem;
  }

  .menu--primary {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .menu--primary > .menu-item {
    margin: 0;
  }

  .menu--primary > .menu-item > a {
    padding: 1rem 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: 0;
    border-bottom: 1px solid #e8e8e8;
    white-space: normal;
    word-break: break-word;
    color: #111;
  }

  .menu--primary > .menu-item:first-child > a {
    border-top: 0;
  }

  .primary-nav__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    flex: 0 0 auto;
    padding: 1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom, 0px));
    background: #fff;
  }

  .mobile-utility {
    width: 100%;
  }

  .menu--mobile-utility {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .menu--mobile-utility > .menu-item {
    display: inline-flex;
    align-items: center;
  }

  .menu--mobile-utility > .menu-item:not(:last-child)::after {
    content: "|";
    margin: 0 0.55rem;
    color: #b0b0b0;
    font-weight: 400;
  }

  .menu--mobile-utility > .menu-item > a {
    color: #555;
    font-size: 0.9rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    padding: 0;
    border: 0;
  }

  .mobile-lang {
    width: 100%;
    max-width: 280px;
  }

  .mobile-lang .language-switcher {
    width: 100%;
    font-size: 0.95rem;
    position: static;
  }

  .mobile-lang .language-switcher-toggle {
    width: 100%;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.7rem 1rem;
    border: 1.5px solid #111;
    border-radius: 6px;
    color: #111;
    box-sizing: border-box;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
    background: #fff;
  }

  .mobile-lang .language-switcher-toggle:hover,
  .mobile-lang .language-switcher.is-open .language-switcher-toggle {
    color: #bc0000;
    border-color: #bc0000;
  }

  /*
   * Click English → language list opens at TOP of drawer
   * (radio + label + underline under each row).
   */
  .mobile-lang .language-switcher-dropdown {
    position: fixed;
    top: 56px;
    left: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0.35rem 1rem 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    z-index: 130;
    transform: none;
    background: #fff;
  }

  .mobile-lang .language-switcher-dropdown-inner {
    position: relative;
    max-height: none;
    padding: 0;
    overflow: visible;
  }

  .mobile-lang .language-switcher-close {
    display: none;
  }

  .mobile-lang .language-switcher-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-bottom: 3px solid #4a4a4a;
  }

  .mobile-lang .language-item {
    position: relative;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e5e5e5;
  }

  .mobile-lang .language-item:last-child {
    border-bottom: 0;
  }

  .mobile-lang .language-item > a,
  .mobile-lang .language-item > span {
    display: block;
    padding: 0.95rem 0.25rem 0.95rem 1.55rem;
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.3;
    color: #111;
  }

  .mobile-lang .language-item > a::before,
  .mobile-lang .language-item > span::before {
    left: 0.15rem;
    width: 14px;
    height: 14px;
    background-size: 14px 14px;
  }

  /* Dim menu / search / utility while language list is open */
  body.nav-open.lang-sheet-open .primary-nav__scroll,
  body.nav-open.lang-sheet-open .primary-nav__footer .mobile-utility {
    opacity: 0.35;
    pointer-events: none;
  }

  body.nav-open.lang-sheet-open .primary-nav {
    overflow: visible;
  }

  body.nav-open.lang-sheet-open .mobile-lang .language-switcher-toggle {
    position: relative;
    z-index: 140;
  }

  /* Hero */
  .hero {
    padding: 1.35rem 0 1.5rem;
  }

  .hero__inner {
    gap: 1rem;
  }

  .hero__title {
    font-size: 1.45rem;
    line-height: 1.2;
    margin-bottom: 0.7rem;
  }

  .hero__text {
    font-size: 0.9rem;
    line-height: 1.5;
    max-width: none;
  }

  .hero__actions {
    max-width: none;
    width: 100%;
    gap: 0.55rem;
  }

  .hero__actions .btn {
    min-height: 48px;
    font-size: 0.95rem;
  }

  /* News frame — lighter on phone */
  .gi-frame,
  .gi-frame--news {
    border: 0;
    padding: 0;
    background: transparent;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .todays-news {
    padding: 0.75rem 0 1.5rem;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  .todays-news .container,
  .todays-news__layout,
  .todays-news__main,
  .todays-news__aside,
  .news-posts,
  .news-lead,
  .news-subgrid,
  .news-list,
  .section-header--news {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .todays-news__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
  }

  .todays-news__main .section-header--news {
    border-bottom-width: 2px;
    margin-bottom: 0.75rem;
    padding-bottom: 0.7rem;
  }

  .section-header__title {
    font-size: 0.95rem;
  }

  /*
   * Filter chips were stretching the whole section (~800px).
   * Keep them in a scrollable strip that cannot widen the page.
   */
  .news-filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 0.85rem;
    padding: 0 0 0.35rem;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
  }

  .news-filters::-webkit-scrollbar {
    display: none;
  }

  .news-filters__btn {
    flex: 0 0 auto;
    padding: 0.4rem 0.8rem;
    font-size: 0.8rem;
  }

  .news-posts {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .news-lead {
    padding-bottom: 1rem;
    margin-bottom: 0.85rem;
    border-bottom: 1px solid #e5e5e5;
    border-right: 0;
  }

  .news-lead__media {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 0.7rem;
    overflow: hidden;
  }

  .news-lead__media img,
  .news-subgrid__media img,
  .news-list__media img,
  .todays-news img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .news-lead__header,
  .news-lead__title,
  .news-lead__excerpt,
  .meta {
    max-width: 100%;
    min-width: 0;
  }

  .news-lead__title {
    font-size: clamp(1.05rem, 4.6vw, 1.2rem);
    line-height: 1.3;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
    word-break: break-word;
  }

  .news-lead__excerpt {
    font-size: 0.88rem;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
  }

  /* Compact horizontal rows (GI mobile list style) */
  .news-subgrid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    border-right: 0;
    padding: 0;
  }

  /* Hide header More; show bottom More after Latest Articles */
  .todays-news .section-header__more {
    display: none;
  }

  .todays-news__layout {
    display: flex;
    flex-direction: column;
  }

  .todays-news__main {
    order: 1;
  }

  .todays-news__aside {
    order: 2;
  }

  .todays-news__more {
    order: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin: 1rem 0 0.25rem;
    padding: 0.7rem 1rem;
    border: 1.5px solid var(--gi-red);
    border-radius: 2px;
    color: var(--gi-red);
    font-size: 0.95rem;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    text-decoration: none;
  }

  .todays-news__more:hover,
  .todays-news__more:focus-visible {
    background: #fff5f5;
    color: var(--gi-red);
  }

  .news-subgrid__item,
  .news-list__item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
    padding: 0.75rem 0;
    margin: 0;
    border-bottom: 1px solid #e5e5e5;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .news-subgrid__media,
  .news-list__media {
    width: 72px;
    max-width: 72px;
    aspect-ratio: 1;
    margin-bottom: 0;
    overflow: hidden;
  }

  .news-subgrid__body,
  .news-list__body {
    min-width: 0;
    max-width: 100%;
  }

  .news-subgrid__title,
  .news-list__title {
    font-size: 0.82rem;
    line-height: 1.3;
    margin: 0 0 0.25rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    word-break: break-word;
  }

  .news-subgrid__item .meta,
  .news-list__item .meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.65rem;
    margin: 0;
  }

  .news-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }

  /* Sidebar titles ABOVE thick black line (Most Popular + Latest) */
  .todays-news__aside {
    margin-top: 1rem;
    padding-top: 0;
    border-top: 0;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .todays-news__aside .widget {
    margin: 0;
  }

  .todays-news__aside .widget-title {
    position: relative;
    margin: 0 0 0.85rem;
    padding: 0 0 0.75rem;
  }

  .todays-news__aside .widget-title::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 3px solid #111;
  }

  .todays-news .latest-list__item {
    grid-template-columns: 72px minmax(0, 1fr);
    max-width: 100%;
  }

  .todays-news .latest-list__link {
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
  }

  /* Category rows — first large, rest compact thumbs (like Today's News) */
  .cat-row {
    padding: 0.5rem 0 1.25rem;
    overflow: hidden;
  }

  .cat-row .container {
    border-left: 0;
    border-right: 0;
    padding: 1rem 0.85rem 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .cat-row__header {
    margin-bottom: 0.85rem;
    padding-bottom: 0.7rem;
    width: 100%;
    max-width: 100%;
  }

  .cat-row__header::after {
    left: 0;
    right: 0;
    border-bottom-width: 3px;
  }

  .cat-row__more--header {
    display: none;
  }

  .cat-row__more--footer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    margin: 0.85rem 0 0.5rem;
    padding: 0.7rem 1rem;
    border: 1.5px solid var(--gi-red);
    border-radius: 2px;
    color: var(--gi-red);
    font-size: 0.95rem;
    font-weight: 700;
    text-align: center;
    box-sizing: border-box;
    text-decoration: none;
    white-space: normal;
  }

  .cat-row__more--footer:hover,
  .cat-row__more--footer:focus-visible {
    background: #fff5f5;
    color: var(--gi-red);
  }

  .cat-row__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-bottom: 0;
    width: 100%;
    max-width: 100%;
  }

  .cat-row__item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.75rem 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    box-sizing: border-box;
  }

  /* First: large featured image */
  .cat-row__item--lead,
  .cat-row__item:first-child {
    display: block;
    padding-top: 0 !important;
  }

  .cat-row__item--lead .cat-row__media,
  .cat-row__item:first-child .cat-row__media {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 0.65rem;
  }

  .cat-row__item--lead .cat-row__item-title,
  .cat-row__item:first-child .cat-row__item-title {
    font-size: 1.05rem;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  /* Rest: small thumb left + title/meta right */
  .cat-row__item:not(:first-child) {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0.7rem;
    align-items: start;
  }

  .cat-row__item:not(:first-child) .cat-row__media {
    width: 72px;
    max-width: 72px;
    aspect-ratio: 1;
    margin-bottom: 0;
  }

  .cat-row__item:not(:first-child) .cat-row__body {
    min-width: 0;
  }

  .cat-row__item:not(:first-child) .cat-row__item-title {
    font-size: 0.82rem;
    margin-bottom: 0.25rem;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .cat-row__item:not(:first-child) .cat-row__cat {
    font-size: 0.68rem;
  }

  .cat-row__item-title {
    word-break: break-word;
  }

  .cat-row__media {
    overflow: hidden;
  }

  .cat-row__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* Archive / category pages */
  .archive-shell {
    border-left: 0;
    border-right: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .content-layout--archive {
    padding-top: 0.85rem;
    padding-bottom: 2rem;
    gap: 1.5rem;
  }

  .archive-feed__title {
    font-size: 1.35rem;
  }

  .archive-item {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.9rem 0;
  }

  .archive-item__media {
    width: 100px;
    aspect-ratio: 1;
  }

  .archive-item__title {
    font-size: 0.98rem;
  }

  .archive-item__excerpt {
    font-size: 0.85rem;
  }

  .sidebar--archive .widget-title::after {
    border-bottom-width: 2px;
  }

  /* Single article */
  .site__content--article {
    border-left: 0;
    border-right: 0;
  }

  body.single-post .container,
  body.single .container {
    width: min(100% - 1.25rem, var(--gi-container-article));
  }

  .content-layout--single {
    gap: 1.25rem;
    padding-top: 0.5rem;
  }

  .content-layout--single .content-area {
    padding: 0.5rem 0 0;
  }

  .post-title .entry-title,
  .entry--single .entry-title {
    font-size: 1.45rem;
    line-height: 1.25;
  }

  .post-intro {
    font-size: 0.95rem;
  }

  .post-byline {
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .post-hero-image {
    margin: 0.75rem 0 1rem;
  }

  .entry-content {
    font-size: 1rem;
    line-height: 1.65;
  }

  .site__sidebar {
    padding: 0;
    border-top: 1px solid #e5e5e5;
    padding-top: 1rem;
  }

  .site__sidebar .widget-title::after {
    border-bottom-width: 2px;
  }

  .gi-toc {
    position: static;
  }

  .more-news {
    padding: 1rem 0 0;
  }

  .more-news__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .more-news-card--row {
    grid-template-columns: 88px 1fr;
    gap: 0.75rem;
  }

  .more-news-card--row .more-news-card__media {
    width: 88px;
    aspect-ratio: 1;
  }

  .gi-post-nav {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 1.25rem;
  }

  .gi-post-nav__next {
    text-align: left;
    padding-top: 1rem;
    border-top: 1px solid #eee;
  }

  /* Footer — force wrap inside phone width */
  .site-footer {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
  }

  .site-footer .container {
    width: 100%;
    max-width: 100%;
    padding-left: 0.85rem;
    padding-right: 0.85rem;
    box-sizing: border-box;
  }

  .footer-top {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.35rem;
    padding: 1.5rem 0 1.15rem;
    width: 100%;
    max-width: 100%;
  }

  .footer-brand,
  .footer-widgets,
  .footer-widgets__col,
  .footer-responsible__copy,
  .footer-about,
  .copyright {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .footer-widgets {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.15rem;
  }

  .footer-about {
    max-width: none;
    font-size: 0.88rem;
  }

  .site-logo-text--footer {
    font-size: 1.25rem;
    white-space: normal;
  }

  .operators__track {
    grid-auto-columns: minmax(0, 85%);
    max-width: 100%;
  }
}

.comments-area,
.post-navigation,
.search-form {
  margin-top: 2rem;
}

.search-form {
  display: flex;
  gap: 0.5rem;
}

.search-form label {
  flex: 1;
}

.search-form .search-field {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--gi-border);
  padding: 0 0.75rem;
}

.search-submit,
.comment-form input[type="submit"] {
  border: 0;
  background: var(--gi-red);
  color: #fff;
  font-weight: 700;
  padding: 0 1rem;
  min-height: 44px;
  cursor: pointer;
}

/* Footer — same thick red top rule on every page */
.site-footer {
  background: #111;
  color: #ddd;
  margin-top: 0;
  border-top: 4px solid #bc292a;
}

.site-footer a {
  color: #fff;
}

.site-footer a:hover {
  color: #ffb3b3;
}

.footer-top {
  display: grid;
  gap: 1.75rem;
  padding: 2rem 0 1.5rem;
}

.footer-about {
  color: #aaa;
  max-width: 42ch;
}

.footer-widgets {
  display: grid;
  gap: 1.25rem;
}

.site-footer .widget-title {
  color: #fff;
}

.site-footer .widget-title::before {
  background: var(--gi-red);
}

.menu--footer {
  display: grid;
  gap: 0.45rem;
}

.footer-responsible__copy {
  margin: 0;
  color: #aaa;
  line-height: 1.55;
}

.footer-bottom {
  border-top: 1px solid #2a2a2a;
}

.footer-bottom__inner {
  padding: 1rem 0;
}

.copyright {
  margin: 0;
  color: #888;
  font-size: 0.85rem;
}

/* Motion */
@keyframes gi-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes gi-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.hero__title,
.news-lead__title {
  animation: gi-fade-up 0.55s ease both;
}

/* Tablet+ */
@media (min-width: 768px) {
  .main-header__inner {
    min-height: 72px;
  }

  .site-logo-text {
    font-size: 2rem;
  }

  .header-controls {
    display: none !important;
  }

  .nav-toggle {
    display: none;
  }

  .primary-nav {
    position: static;
    display: flex !important;
    align-items: center;
    gap: 1.25rem;
    border: 0;
    box-shadow: none;
    padding: 0;
    background: transparent;
    height: auto;
    overflow: visible;
  }

  .primary-nav__scroll {
    display: flex;
    align-items: center;
    gap: 1.25rem;
  }

  .primary-nav__footer {
    display: none !important;
  }

  .menu--primary {
    display: flex;
    align-items: center;
    gap: 0.15rem 1rem;
  }

  .menu--primary > .menu-item > a {
    padding: 0.35rem 0;
    font-size: 0.88rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 0;
  }

  .header-search--drawer {
    display: none !important;
  }

  .header-search--desktop {
    display: flex !important;
    margin-top: 0;
    width: auto;
    margin-left: 0.35rem;
  }

  .hero {
    padding: 2.5rem 0 2.75rem;
  }

  .hero__inner {
    grid-template-columns: minmax(0, 1fr) 220px;
    align-items: center;
    gap: 1.5rem 2.5rem;
  }

  /*
   * Desktop: force exactly 2 title lines in every browser.
   * Each line is nowrap; font scales with viewport so long lines never wrap to a 3rd line.
   */
  .hero__title {
    font-size: clamp(1.5rem, 2.35vw, 2.5rem);
    line-height: 1.12;
    max-width: 100%;
  }

  .hero__line {
    display: block;
    white-space: nowrap;
    overflow: visible;
  }

  .hero__text {
    font-size: 1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
  }

  .hero__actions {
    width: 220px;
    max-width: 220px;
    justify-self: end;
  }

  .gi-frame {
    padding: 1.25rem 1.35rem 1.4rem;
  }

  .operators__track {
    grid-auto-flow: row;
    grid-auto-columns: unset;
    grid-template-columns: repeat(3, 1fr);
    overflow: visible;
  }

  /* Match gamblinginsider.com: "feature list" / "subgrid list" + divider lines */
  .news-posts {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 0.42fr);
    grid-template-areas:
      "feature list"
      "subgrid list";
    column-gap: 0;
    row-gap: 0;
    align-items: stretch;
    margin-top: 1rem;
  }

  .news-lead {
    grid-area: feature;
    position: relative;
    border-right: 1px solid #e6e6e8; /* vertical | col1–col2 */
    border-bottom: 0;
    padding: 0 1.15rem 1rem 0;
  }

  /* Feature / 2×2 separator — stop short of vertical (same gap style) */
  .news-lead::after {
    content: "";
    position: absolute;
    left: 0;
    right: calc(1.15rem + 16px);
    bottom: 0;
    border-bottom: 1px solid #e6e6e8;
  }

  .news-subgrid {
    grid-area: subgrid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 0;
    align-content: start;
    border-right: 1px solid #e6e6e8; /* vertical | — extend down (red ↓) */
    border-bottom: 0;
    /* extra bottom padding so vertical reaches methodology top line */
    padding: 1rem 1.15rem 2.75rem 0;
  }

  .news-list {
    grid-area: list;
    gap: 0;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    padding: 0 0 2.75rem 1.15rem; /* same bottom pad — red ↓ right vertical via aside */
    border-bottom: 0;
  }

  .news-list__item {
    padding-bottom: 1.15rem;
  }

  .news-list__item:not(:last-child) {
    margin-bottom: 1.15rem;
  }

  /*
   * Blue arrow: horizontal dividers leave gaps — not flush with verticals.
   * 2×2 first row + middle-column line between item 2 and 3.
   */
  .news-subgrid__item:nth-child(1),
  .news-subgrid__item:nth-child(2) {
    position: relative;
    border-bottom: 0;
    padding-bottom: 0.85rem;
    margin-bottom: 0.85rem;
  }

  .news-subgrid__item:nth-child(1)::after,
  .news-subgrid__item:nth-child(2)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 12px; /* gap before col1|col2 vertical */
    bottom: 0;
    border-bottom: 1px solid #e6e6e8;
  }

  .news-list__item:nth-child(2) {
    border-bottom: 0;
    padding-bottom: 1.15rem;
    margin-bottom: 1.15rem;
    position: relative;
  }

  .news-list__item:nth-child(2)::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 20px; /* blue box: do not touch Popular vertical — same gap as middle */
    bottom: 0;
    border-bottom: 1px solid #e6e6e8;
  }

  .news-lead__media {
    aspect-ratio: 700 / 370;
    max-height: none;
  }

  .news-list__media {
    aspect-ratio: 16 / 10;
    max-height: none;
  }

  .news-subgrid__item {
    grid-template-columns: 84px 1fr;
    gap: 0.7rem;
  }

  .news-subgrid__media {
    width: 84px;
  }

  .posts-grid {
    grid-template-columns: 1fr 1fr;
  }

  .methodology__inner {
    grid-template-columns: 1.1fr 1fr;
  }

  .methodology__visual {
    grid-column: 1 / -1;
  }

  .footer-widgets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .content-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
  }

  .content-layout--archive {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
    column-gap: 2rem;
  }

  .archive-item {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 1.15rem;
    align-items: start;
    padding: 1.25rem 0;
  }

  .archive-item__media {
    width: 200px;
    aspect-ratio: 16 / 10;
  }

  .archive-item__title {
    font-size: 1.28rem;
  }

  .content-layout--single {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 32%);
    column-gap: 1.75rem;
  }

  /* Same left pad as .more-news → red-arrow alignment */
  .content-layout--single .content-area {
    min-width: 0;
    padding: 1rem var(--gi-article-pad) 0 var(--gi-article-pad);
  }

  .content-layout--single .the__content {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .content-layout--single .site__sidebar {
    padding: 1rem var(--gi-article-pad) 0 0;
    border-left: 0;
  }

  .content-layout--page {
    grid-template-columns: 1fr;
  }

  /*
   * Column rules centered in gutters; stretch so verticals
   * connect down to the footer red line (image 3).
   */
  .more-news__grid {
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr) minmax(0, 0.95fr);
    column-gap: 0;
    align-items: stretch;
  }

  .more-news__col--list {
    padding-right: 1.5rem;
  }

  .more-news__col--stack {
    border-left: 1px solid #dfdfdf;
    border-right: 1px solid #dfdfdf;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .more-news__col--headlines {
    padding-left: 1.5rem;
  }

  .more-news-card--row {
    grid-template-columns: minmax(160px, 45%) 1fr;
    column-gap: 0.95rem;
  }
}

/* Desktop */
@media (min-width: 1024px) {
  .operators__track {
    grid-template-columns: repeat(5, 1fr);
    gap: 0.5rem;
  }

  .todays-news__layout {
    grid-template-columns: minmax(0, 1fr) 300px;
    align-items: stretch;
    column-gap: 0;
    row-gap: 0;
  }

  .gi-frame--news.todays-news__layout {
    display: grid;
  }

  .news-posts {
    grid-template-columns: minmax(0, 1fr) 300px;
  }

  /* Vertical line between main column and sidebar */
  .todays-news__aside {
    border-left: 1px solid #e6e6e8;
    padding-left: 1.25rem;
    margin-left: 1.25rem;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }

  .todays-news__aside .widget--popular {
    flex: 1 1 auto;
  }

  /* Homepage Most Popular — no title line clamp */
  .todays-news__aside .popular-list__link {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
  }

  /* Bottom divider lives on last cat-row (shortened ends — blue); no full-bleed line */
  .methodology {
    border-top: 0;
  }

  .todays-news {
    padding-bottom: 0;
  }

  .gi-frame--news {
    padding-bottom: 0;
    margin-bottom: 0;
  }

  /* Align Popular heading with Today's News; top rule continues visually */
  .todays-news__aside .widget-title {
    margin-top: 0;
    padding-bottom: 0.85rem;
    margin-bottom: 0.85rem;
    /* red box: bold black underline under MOST POPULAR */
    border-bottom: 3px solid #111111;
  }

  .popular-list__link {
    display: block;
    overflow: visible;
  }

  .methodology__inner {
    grid-template-columns: 1.05fr 0.95fr 0.9fr;
    align-items: center;
  }

  .methodology__visual {
    grid-column: auto;
  }

  .footer-top {
    grid-template-columns: 1.1fr 2fr;
    gap: 2.5rem;
  }

  /* Article page — match GI ~988 / 410 (~70/30) + gutter */
  .content-layout--single {
    grid-template-columns: minmax(0, 1fr) 410px;
    column-gap: 1.875rem;
  }

  .content-layout--single .content-area {
    padding: 1rem var(--gi-article-pad) 0 var(--gi-article-pad);
  }

  .content-layout--single .the__content {
    padding-left: 0;
    padding-right: 0;
  }

  .content-layout--single .site__sidebar {
    padding: 1rem var(--gi-article-pad) 0 0;
  }

  .post-title .entry-title,
  .entry--single .entry-title {
    font-size: 2.5rem;
    line-height: 1.2;
  }

  .post-hero-image img {
    width: 100%;
  }

  .more-news {
    /* No bottom pad — verticals meet footer red border */
    padding: 1.25rem var(--gi-article-pad) 0;
  }

  .more-news__col > .more-news-card:last-child {
    padding-bottom: 1.25rem;
  }

  .content-layout--archive {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
    column-gap: 2.5rem;
  }

  .archive-item {
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 1.35rem;
  }

  .archive-item__media {
    width: 260px;
  }

  .archive-item__title {
    font-size: 1.35rem;
  }
}

/* Contact page (matches gamblinginsider.com/contact) */
.entry--contact {
  background: #fff;
  max-width: none;
  margin: 0;
  padding: 0;
}

.page-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 4px;
  margin: 0 0 32px;
  border-bottom: 1px solid #dfdfdf;
  overflow: hidden;
  background: #f5f5f5;
}

.page-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  pointer-events: none;
}

.page-hero__bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.page-hero__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 860px;
  padding: 0 1rem;
}

.page-hero__headline {
  margin: 0;
  text-align: center;
  font-size: clamp(2.25rem, 5vw, 3rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #111;
}

.contact-page {
  width: min(100% - 2rem, 860px);
  max-width: 860px;
  margin: 0 auto 3.5rem;
  padding: 0;
  box-sizing: border-box;
}

/* About page — matches gamblinginsider.com/about */
.about-page {
  width: min(100% - 2rem, 860px);
  max-width: 860px;
  margin: 0 auto 3.5rem;
  padding: 0;
  box-sizing: border-box;
  font-size: 1.03125rem;
  line-height: 1.55;
  color: #363636;
}

.about-page > p {
  margin: 0 0 1.5rem;
}

.about-page > h2 {
  margin: 2.25rem 0 1rem;
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: #111;
}

.about-page > h3 {
  margin: 1.5rem 0 0.65rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.35;
  color: #111;
}

.about-page__media {
  margin: 0 0 1.75rem;
  width: 100%;
}

.about-page__media img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
}

.about-page__list {
  margin: 0 0 1.5rem;
  padding: 0 0 0 1.25rem;
}

.about-page__list li {
  margin: 0 0 0.65rem;
}

.about-page__list li:last-child {
  margin-bottom: 0;
}

.about-team {
  margin: 2.5rem 0;
}

.about-team__subtitle {
  margin: -0.35rem 0 1.5rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: #111;
}

.about-team__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-team__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.35rem;
}

.about-team__avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  margin-bottom: 0.35rem;
  border-radius: 50%;
  background: #f0f0f0;
  color: #111;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.about-team__name {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #111;
  line-height: 1.3;
}

.about-team__role {
  font-size: 0.8125rem;
  color: #6b6b6b;
  line-height: 1.3;
}

.about-timeline {
  margin: 2.5rem 0;
}

.about-timeline__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 2px solid #e8e8e8;
}

.about-timeline__item {
  position: relative;
  padding: 0 0 1.5rem 1.35rem;
}

.about-timeline__item:last-child {
  padding-bottom: 0;
}

.about-timeline__item::before {
  content: "";
  position: absolute;
  left: -5px;
  top: 0.45rem;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gi-red);
}

.about-timeline__year {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--gi-red);
}

.about-timeline__body {
  font-size: 1rem;
  line-height: 1.55;
  color: #363636;
}

.contact-page__intro {
  margin: 0 0 2rem;
  font-size: 1.03125rem;
  line-height: 1.55;
  color: #363636;
  text-align: left;
}

.gi-info-table {
  width: 100%;
  margin: 0 auto 1.5rem;
}

.gi-info-table__wrap {
  width: 100%;
}

.gi-info-table__list {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.gi-info-table__list,
.gi-info-table__list tbody,
.gi-info-table__list tr,
.gi-info-table__list th,
.gi-info-table__list td {
  border: 0 !important;
  background: transparent !important;
  padding: 0;
}

.gi-info-table__row {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #e5e5e5 !important;
}

.gi-info-table__left {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 700;
  text-align: left;
  color: #111;
  vertical-align: middle;
}

.gi-info-table__icon {
  display: block;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  object-fit: contain;
}

.gi-info-table__label {
  font-weight: 700;
  font-size: 1.03125rem;
  line-height: 1.2;
  color: #111;
}

.gi-info-table__right {
  padding: 0 16px;
  color: #363636;
  font-size: 1.03125rem;
  line-height: 1.45;
}

.gi-info-table__text p {
  margin: 0 !important;
  color: #363636;
}

.entry--contact .gi-info-table__link,
.entry--contact .gi-info-table__social-link,
.entry--contact .gi-info-table__link:visited,
.entry--contact .gi-info-table__social-link:visited {
  color: #363636 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px !important;
  text-decoration-color: #363636 !important;
  font-weight: 400;
  box-shadow: none !important;
}

.entry--contact .gi-info-table__link:hover,
.entry--contact .gi-info-table__social-link:hover,
.entry--contact .gi-info-table__link:focus-visible,
.entry--contact .gi-info-table__social-link:focus-visible {
  color: var(--gi-red) !important;
  text-decoration-color: var(--gi-red) !important;
}

.gi-info-table__social {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gi-info-table__social-item {
  display: flex;
  align-items: center;
}

.gi-info-table__social-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
}

.gi-info-table__social-icon {
  display: block;
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex: 0 0 auto;
}

@media (max-width: 767px) {
  .page-hero {
    padding: 28px 12px;
    margin-bottom: 24px;
  }

  .page-hero__headline {
    font-size: 1.85rem;
  }

  .contact-page {
    width: min(100% - 1.5rem, 860px);
    margin-bottom: 2.5rem;
  }

  .contact-page__intro {
    margin-bottom: 1.5rem;
    font-size: 1rem;
  }

  .about-page {
    width: min(100% - 1.5rem, 860px);
    margin-bottom: 2.5rem;
    font-size: 1rem;
  }

  .about-page > h2 {
    margin-top: 1.75rem;
  }

  .about-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem 0.75rem;
  }

  .about-team__avatar {
    width: 72px;
    height: 72px;
    font-size: 1.05rem;
  }

  .gi-info-table__row {
    grid-template-columns: 1fr;
    gap: 0.4rem;
    padding: 14px 0;
    align-items: start;
  }

  .gi-info-table__right {
    padding: 0 0 0 calc(24px + 12px);
  }
}

@media (min-width: 1024px) {
  .contact-page {
    width: min(100% - 8rem, 860px);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
