/* Reuse the portal's game cards and controls in a dedicated full catalog. */
.gameportal .qg-catalog-page {
  --qc-fg: #eef5ff;
  --qc-fg-muted: #b9c9db;
  --qc-bg: #0e1b2d;
  --qc-surface: #13263c;
  --qc-border: #587593;
  --qc-accent: #7ce4ca;
  --qc-accent-ink: #082a27;
  --qc-control-bg: #091626;
  color: var(--qc-fg);
  color-scheme: dark;
}
.qg-catalog-page { min-width: 0; }
.qg-catalog-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-block: 8px 20px;
}
.qg-catalog-page-head h1 {
  margin: 0 0 8px;
  color: var(--qc-fg);
  font-size: clamp(1.5rem, 4vw, 2rem);
}
.qg-catalog-page-head p { margin: 0 0 6px; color: var(--qc-fg-muted); }
.qg-catalog-page-links { display: flex; flex-wrap: wrap; gap: 8px; }
.qg-catalog-page .qg-catalog-search {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.qg-catalog-page .qg-catalog-search label {
  display: grid;
  min-width: 0;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--qc-fg);
}
.qg-catalog-page .qg-catalog-query { grid-column: span 2; }
.qg-catalog-page .qg-catalog-search input,
.qg-catalog-page .qg-catalog-search select { width: 100%; min-width: 0; }
.qg-catalog-filter-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.qg-catalog-page .qg-coming-soon-card { min-width: 0; width: auto; }
.qg-catalog-page .qg-game-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.qg-catalog-page .qg-game-tile { min-height: 124px; }
.gameportal .qg-catalog-page :is(.qg-arena, .qg-panel, .qg-coming-soon-card, .qg-coming-soon-copy, .qg-category-row, .qg-empty) {
  border-color: var(--qc-border);
  background: var(--qc-bg);
  color: var(--qc-fg);
}
.gameportal .qg-catalog-page :is(.qg-catalog-search, .qg-panel-head) {
  border-color: var(--qc-border);
  background: var(--qc-surface);
  color: var(--qc-fg);
}
.gameportal .qg-catalog-page :is(h1, h2, .qg-category-row strong, .qg-empty strong) { color: var(--qc-fg); }
.gameportal .qg-catalog-page :is(.qg-panel-note, .qg-category-row small, .qg-coming-soon-copy small, .qg-empty span) { color: var(--qc-fg-muted); }
.gameportal .qg-catalog-page .qg-catalog-search :is(input, select) {
  border-color: var(--qc-border);
  background: var(--qc-control-bg);
  color: var(--qc-fg);
  min-height: 44px;
}
.gameportal .qg-catalog-page ::placeholder { color: var(--qc-fg-muted); opacity: 1; }
.gameportal .qg-catalog-page .qg-text-btn,
.gameportal .qg-catalog-page .qg-filter-clear {
  border-color: var(--qc-border);
  background: var(--qc-surface);
  color: var(--qc-accent);
}
.gameportal .qg-catalog-page .qg-catalog-search button {
  min-height: 44px;
  padding-inline: 18px;
  border-color: var(--qc-accent);
  background: var(--qc-accent);
  color: var(--qc-accent-ink);
}
.gameportal .qg-catalog-page :is(a, input, select, button):focus-visible {
  outline: 3px solid var(--qc-accent);
  outline-offset: 3px;
}
@media (max-width: 900px) {
  .qg-catalog-page .qg-game-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .qg-catalog-page-head { align-items: flex-start; flex-direction: column; }
  .qg-catalog-page .qg-catalog-search { grid-template-columns: 1fr; }
  .qg-catalog-page .qg-catalog-query { grid-column: auto; }
}
@media (max-width: 600px) {
  .qg-catalog-page .qg-game-grid { grid-template-columns: 1fr; }
}
