/* Games Browse — matches Previously Gamers visual language */
/* Breadcrumb back to The Console hub (2026-10-02: hub<->browse nav coherence) */
.gb-crumb{max-width:1600px;margin:0 auto;padding:14px 1rem 0;font-size:13px}.gb-crumb a{color:var(--desert-ink-dim);text-decoration:none}.gb-crumb a:hover{color:var(--color-info)}.gb-search-wrap{
  max-width: 640px;
  margin: 1.5rem auto 1rem;
  padding: 0 1rem;
}#gbSearch{
  width: 100%;
  padding: 0.85rem 1.1rem;
  font-size: 1rem;
  background: var(--desert-card);
  border: 1px solid var(--desert-pressed);
  border-radius: 12px;
  color: var(--desert-ink-faint);
  outline: none;
}#gbSearch:focus{
  border-color: var(--color-info);
  box-shadow: 0 0 0 2px rgba(var(--color-info-rgb), 0.2);
}#gbSearch::placeholder{
  color: var(--desert-ink-dim);
}.gb-filters{
  max-width: 1600px;
  margin: 0 auto 1rem;
  padding: 0 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}.gb-filter-group{
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}.gb-filter-label{
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--desert-ink-dim);
  font-weight: 600;
}.gb-filter-opts{
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}.gb-filter-btn{
  padding: 0.45rem 0.9rem;
  font-size: 0.85rem;
  background: var(--desert-pressed);
  border: 1px solid var(--desert-pressed);
  border-radius: 20px;
  color: var(--desert-ink-dim);
  cursor: pointer;
  transition: all 0.15s;
}.gb-filter-btn:hover{
  border-color: var(--color-info);
  color: var(--desert-card);
}.gb-filter-btn.active{
  background: var(--color-info);
  border-color: var(--color-info);
  color: var(--desert-card);
  font-weight: 700;
}.gb-count{
  max-width: 1600px;
  margin: 0 auto 1rem;
  padding: 0 1rem;
  color: var(--desert-ink-dim);
  font-size: 0.9rem;
}.gb-grid{
  max-width: 1600px;
  margin: 0 auto 3rem;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 1rem;
}@media (min-width: 768px){.gb-grid{
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1.25rem;
  }
}.gb-card{
  display: block;
  background: var(--desert-card);
  border: 1px solid var(--desert-pressed);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform 0.15s, border-color 0.15s;
}.gb-card:hover{
  transform: translateY(-2px);
  border-color: var(--color-info);
}.gb-card-art{
  aspect-ratio: 3/4;
  overflow: hidden;
  background: var(--desert-card);
  position: relative;
}.gb-card-art img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}.gb-card-art .art-missing{
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-win);
  font-size: 0.8rem;
}.gb-card-body{
  padding: 0.75rem;
}.gb-card-title{
  font-size: 0.95rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
  color: var(--desert-ink-faint);
  line-height: 1.3;
}.gb-card-meta{
  font-size: 0.78rem;
  color: var(--desert-ink-dim);
  line-height: 1.4;
}.gb-card-date{
  color: var(--color-info);
  font-weight: 600;
}.gb-october-badge{
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  background: var(--desert-accent);
  color: var(--desert-card);
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  margin-bottom: 0.4rem;
}.gb-empty{
  text-align: center;
  padding: 3rem 1rem;
  color: var(--desert-ink-dim);
}/* Load more */
.gb-more-wrap{
  text-align: center;
  padding: 2rem 1rem;
}.gb-more-btn{
  background: var(--color-info);
  color: var(--desert-card);
  border: none;
  border-radius: 8px;
  padding: 0.9rem 2.5rem;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}.gb-more-btn:hover{ background: var(--color-info); }/* Tier A editorial badge */
.gb-tier-badge{
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
}.gb-tier-a{
  background: var(--color-warn);
  color: var(--desert-card);
}/* Rating */
.gb-card-rating{
  display: inline-block;
  color: var(--color-warn);
  font-weight: 700;
  font-size: 0.85rem;
  margin: 0.25rem 0;
}.gb-card-art{ position: relative; }/* ============ FEATURED GAME HERO — replaces Midnight Marquee brand banner (2026-10-02) ============
   James: "we should be showing off the game, we don't need our header on this page."
   Full-bleed featured-game takeover. Visual language matches the Gamers hub GTA takeover. */
.gb-hero{position:relative;overflow:hidden;background:var(--desert-card)}.gb-hero-link{position:relative;display:flex;align-items:flex-end;min-height:440px;text-decoration:none;color:var(--desert-card);overflow:hidden}.gb-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%}.gb-hero-shade{position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(var(--desert-card-rgb), .93) 0%,rgba(var(--desert-card-rgb), .55) 45%,rgba(var(--desert-card-rgb), .12) 72%,rgba(var(--desert-card-rgb), .38) 100%),
             linear-gradient(0deg,rgba(var(--desert-card-rgb), .92) 0%,transparent 32%)}.gb-hero-content{position:relative;z-index:2;padding:36px 22px;max-width:620px}.gb-hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:2px;color:var(--lg-pink);margin-bottom:10px}.gb-hero-title{font-size:clamp(48px,12vw,84px);font-weight:900;line-height:.95;letter-spacing:-1px;margin:0 0 10px;
  background:linear-gradient(180deg,var(--desert-card) 30%,var(--desert-accent-soft) 70%,var(--lg-pink));-webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 40px rgba(var(--lg-pink-rgb), .35)}.gb-hero-sub{font-size:14px;color:var(--desert-ink-faint);margin:0 0 18px;max-width:420px;line-height:1.5}.gb-hero-cta{display:inline-block;font-size:14px;font-weight:800;padding:12px 26px;border-radius:999px;
  background:linear-gradient(90deg,var(--lg-pink),var(--lg-pink));color:var(--desert-card);
  box-shadow:0 0 24px rgba(var(--lg-pink-rgb), .5);transition:transform .15s ease}.gb-hero-link:active .gb-hero-cta{transform:scale(.96)}@media (min-width:700px){.gb-hero-link{min-height:500px}.gb-hero-content{padding:54px 48px}
}/* Compact page heading — functional, not a brand banner */
.gb-page-title{font-size:1.35rem;font-weight:800;color:var(--desert-ink-faint);text-align:center;margin:1.4rem 0 0;letter-spacing:.01em}/* ============ DESERT GOLDEN HOUR THEME — DEFAULT (James 2026-10-06) ============
   The Games browse page matches the rest of the site. Desert is unconditional.
   Palette: bg #FAF6EE · cards #FFFFFF · text #2A1C11 · accent #C2410C · depth #92400E.
   Photo scrims and on-art chrome stay dark by design. */
.gb-crumb a{color:rgba(var(--desert-ink-rgb), .66)}.gb-crumb a:hover{color:var(--desert-accent)}#gbSearch{background:var(--desert-card);border-color:rgba(var(--desert-ink-rgb), .14);color:var(--desert-ink)}#gbSearch:focus{border-color:var(--desert-accent);box-shadow:0 0 0 2px rgba(var(--desert-accent-rgb), .2)}#gbSearch::placeholder{color:rgba(var(--desert-ink-rgb), .45)}.gb-filter-label{color:rgba(var(--desert-ink-rgb), .66)}.gb-filter-btn{background:var(--desert-card);border-color:rgba(var(--desert-ink-rgb), .14);color:rgba(var(--desert-ink-rgb), .66)}.gb-filter-btn:hover{border-color:var(--desert-accent);color:var(--desert-ink)}.gb-filter-btn.active{background:var(--desert-accent);border-color:var(--desert-accent);color:var(--desert-card)}.gb-count{color:rgba(var(--desert-ink-rgb), .66)}.gb-card{background:var(--desert-card);border-color:rgba(var(--desert-ink-rgb), .14);box-shadow:0 2px 16px rgba(var(--desert-ink-rgb), .13)}.gb-card:hover{border-color:var(--desert-accent)}.gb-card-art{background:var(--desert-pressed)}.gb-card-art .art-missing{color:rgba(var(--desert-ink-rgb), .45)}.gb-card-title{color:var(--desert-ink)}.gb-card-meta{color:rgba(var(--desert-ink-rgb), .66)}.gb-card-date{color:var(--desert-accent)}.gb-october-badge{background:var(--desert-accent);color:var(--desert-card)}.gb-empty{color:rgba(var(--desert-ink-rgb), .66)}.gb-more-btn{background:var(--desert-accent);color:var(--desert-card)}.gb-more-btn:hover{background:var(--desert-accent-deep)}.gb-tier-a{background:var(--desert-accent);color:var(--desert-card)}.gb-card-rating{color:var(--desert-accent-deep)}.gb-hero-kicker{color:var(--desert-accent)}.gb-hero-title{background:linear-gradient(180deg,var(--desert-card) 30%,var(--desert-accent-soft) 70%,var(--desert-accent));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(var(--desert-accent-rgb), .35)}.gb-hero-sub{color:var(--desert-ink)}.gb-hero-cta{background:linear-gradient(90deg,var(--desert-accent),var(--desert-accent-deep));color:var(--desert-card);box-shadow:0 0 24px rgba(var(--desert-accent-rgb), .5)}.gb-page-title{color:var(--desert-ink)}

/* ============ GOLDEN UNIFIED DESIGN (James 2026-10-08) ============
   One cream background. Cards transparent with thin ink-rule border —
   no white cards. All text dark ink on cream. Min 18px card padding. */
#gbSearch{background:transparent;border:1px solid rgba(var(--desert-ink-rgb),.14);color:var(--desert-ink)}
.gb-filter-btn{background:transparent;border:1px solid rgba(var(--desert-ink-rgb),.14);color:rgba(var(--desert-ink-rgb),.66)}
.gb-card{background:transparent;border:1px solid rgba(var(--desert-ink-rgb),.12);box-shadow:0 2px 14px rgba(var(--desert-ink-rgb),.10)}
.gb-card-art{background:var(--desert-pressed)}
.gb-card-body{padding:18px}
.gb-hero{background:transparent}
.gb-card-title{color:var(--desert-ink)}
.gb-card-meta{color:rgba(var(--desert-ink-rgb),.66)}

/* ---- browse hero: light scrims need DARK text (white was invisible) ---- */
.gb-hero-link{color:var(--desert-ink)}
.gb-hero-kicker{color:var(--desert-accent)}
.gb-hero-title{background:linear-gradient(180deg,var(--desert-ink) 25%,var(--desert-accent) 65%,var(--desert-accent-deep));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  text-shadow:0 0 40px rgba(var(--desert-accent-rgb),.25)}

/* ============ MOBILE UX PASS (2026-10-12) — thumb-first shelf ============
   Hero stops eating the whole first screen on phones; platform filters
   become one clean 44px rail (no pills, no ragged wrap); card text clamps
   so grid rows stay even; Load more goes full-width; the share FAB lifts
   clear of the bottom nav. */
.gb-filter-btn{border-radius:8px}
.gb-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.gb-card-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:700px){
  .gb-hero-link{min-height:300px}
  .gb-hero-content{padding:24px 20px}
  .gb-hero-title{font-size:clamp(40px,11vw,56px)}
  .gb-filters{flex-direction:column;gap:.85rem;margin-bottom:.75rem}
  .gb-filter-group{flex-direction:column;align-items:stretch;gap:.45rem;width:100%}
  .gb-filter-opts{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;padding-bottom:2px}
  .gb-filter-opts::-webkit-scrollbar{display:none}
  .gb-filter-btn{flex:0 0 auto;min-height:44px;padding:.55rem 1.05rem;font-size:.92rem;display:inline-flex;align-items:center;justify-content:center}
  .gb-sort-group{width:100%}
  .gb-more-btn{width:100%;max-width:440px;min-height:52px}
  body .pvx-share-fab{bottom:92px}
}
