/* ═══════════════════════════════════════════════════════════
   THE COMPUTER GURU SHOW COMMUNITY — Theme v2
   Redesigned for readability. Inspired by GitHub Dark / Discord.
   Font: Lexend | Accent: #fe7400 | Base: layered grays
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap');

:root {
  /* ── Accent ──────────────────────────────────────── */
  --g-orange: #fe7400;
  --g-orange-hover: #ff8c2a;
  --g-orange-muted: #e06800;
  --g-orange-glow: rgba(254, 116, 0, 0.15);
  --g-orange-subtle: rgba(254, 116, 0, 0.08);

  /* ── Surfaces (layered, each step clearly distinct) ── */
  --g-base: #0d1117;          /* page background */
  --g-surface-1: #161b22;     /* cards, posts */
  --g-surface-2: #1c2129;     /* hover state, elevated */
  --g-surface-3: #21262d;     /* active/selected */
  --g-overlay: #2d333b;       /* dropdowns, modals */

  /* ── Borders ─────────────────────────────────────── */
  --g-border: #30363d;
  --g-border-light: #3d444d;
  --g-border-active: #fe7400;

  /* ── Text (WCAG AA against surface-1) ────────────── */
  --g-text-primary: #e6edf3;    /* 13.5:1 on surface-1 */
  --g-text-secondary: #9eaab6;  /* 6.2:1 on surface-1 */
  --g-text-muted: #6e7a86;      /* 3.8:1 on surface-1 */
  --g-text-link: #fe7400;
  --g-text-bright: #ffffff;

  /* ── Functional ──────────────────────────────────── */
  --g-success: #3fb950;
  --g-danger: #f85149;
  --g-warning: #d29922;

  /* ── Radii / Shadows / Motion ────────────────────── */
  --g-radius: 8px;
  --g-radius-lg: 12px;
  --g-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
  --g-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
  --g-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
  --g-ease: cubic-bezier(0.4, 0, 0.2, 1);
}


/* ══════════════════════════════════════════════════════
   GLOBAL FOUNDATION
   ══════════════════════════════════════════════════════ */

body, .App {
  font-family: 'Lexend', -apple-system, BlinkMacSystemFont, sans-serif !important;
  background: var(--g-base) !important;
  color: var(--g-text-primary) !important;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* ══════════════════════════════════════════════════════
   HEADER
   ══════════════════════════════════════════════════════ */

.Header {
  background: var(--g-surface-1) !important;
  border-bottom: 1px solid var(--g-border) !important;
  box-shadow: var(--g-shadow-sm) !important;
}

.Header-title {
  font-weight: 700 !important;
  font-size: 1.2em !important;
  letter-spacing: -0.02em !important;
}

.Header-title a {
  color: var(--g-text-primary) !important;
  text-decoration: none !important;
  transition: color 0.2s var(--g-ease) !important;
}

.Header-title a:hover {
  color: var(--g-orange) !important;
}

/* Header nav buttons */
.Header-controls .Button {
  color: var(--g-text-secondary) !important;
  font-weight: 500 !important;
  border-radius: var(--g-radius) !important;
  transition: all 0.2s var(--g-ease) !important;
}

.Header-controls .Button:hover {
  color: var(--g-text-primary) !important;
  background: var(--g-surface-2) !important;
}

/* Sign Up button */
.Header .Button--primary,
.LogInModal .Button--primary,
.SignUpModal .Button--primary {
  background: var(--g-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--g-radius) !important;
  font-weight: 600 !important;
  font-size: 0.85em !important;
  padding: 8px 18px !important;
  box-shadow: 0 1px 4px rgba(254, 116, 0, 0.25) !important;
  transition: all 0.2s var(--g-ease) !important;
}

.Header .Button--primary:hover,
.LogInModal .Button--primary:hover,
.SignUpModal .Button--primary:hover {
  background: var(--g-orange-hover) !important;
  box-shadow: 0 3px 12px rgba(254, 116, 0, 0.35) !important;
  transform: translateY(-1px) !important;
}

/* Log In button */
.Header .LogInButton,
.Header .Button:not(.Button--primary) {
  color: var(--g-text-secondary) !important;
}

.Header .LogInButton:hover,
.Header .Button:not(.Button--primary):hover {
  color: var(--g-text-primary) !important;
}


/* ══════════════════════════════════════════════════════
   HERO / WELCOME BANNER
   ══════════════════════════════════════════════════════ */

.Hero {
  background: var(--g-surface-1) !important;
  border-bottom: 1px solid var(--g-border) !important;
  text-align: center !important;
  padding: 2.5rem 2rem !important;
  position: relative;
  overflow: hidden;
}

/* Subtle accent glow behind hero */
.Hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 600px;
  height: 100%;
  background: radial-gradient(ellipse, rgba(254, 116, 0, 0.06) 0%, transparent 70%);
  pointer-events: none;
}

.Hero .container {
  position: relative;
  z-index: 1;
}

.Hero-title {
  font-weight: 800 !important;
  font-size: 2em !important;
  letter-spacing: -0.03em !important;
  color: var(--g-text-bright) !important;
}

.Hero-subtitle,
.Hero .container p {
  color: var(--g-text-secondary) !important;
  font-weight: 400 !important;
  font-size: 1.05em !important;
  max-width: 580px;
  margin: 0.5em auto 0;
  line-height: 1.6 !important;
}

/* Hide welcome banner dismiss X */
.Hero .Button--icon {
  color: var(--g-text-muted) !important;
}

.Hero .Button--icon:hover {
  color: var(--g-text-primary) !important;
}


/* ══════════════════════════════════════════════════════
   SIDEBAR / NAVIGATION
   ══════════════════════════════════════════════════════ */

.IndexPage-nav,
.sideNav {
  background: transparent !important;
}

.SideNav .Button {
  color: var(--g-text-secondary) !important;
  border-radius: var(--g-radius) !important;
  transition: all 0.15s var(--g-ease) !important;
  font-weight: 500 !important;
}

.SideNav .Button:hover {
  color: var(--g-text-primary) !important;
  background: var(--g-surface-2) !important;
}

.SideNav .Button.active {
  color: var(--g-text-bright) !important;
  background: var(--g-surface-3) !important;
  border-left: 3px solid var(--g-orange) !important;
  font-weight: 600 !important;
}

/* Tags in nav bar */
.SideNav a,
.TagLinkButton {
  color: var(--g-text-secondary) !important;
  font-size: 0.9em !important;
}

.SideNav a:hover,
.TagLinkButton:hover {
  color: var(--g-text-primary) !important;
}

.SideNav .icon,
.SideNav .Button .icon {
  opacity: 0.85 !important;
}

.TagLinkButton .TagLabel-text {
  color: inherit !important;
}

/* Start Discussion button */
.IndexPage-newDiscussion .Button,
.IndexPage-toolbar .Button--primary {
  background: var(--g-orange) !important;
  color: #fff !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: var(--g-radius) !important;
  padding: 10px 20px !important;
  box-shadow: 0 1px 4px rgba(254, 116, 0, 0.2) !important;
  transition: all 0.2s var(--g-ease) !important;
}

.IndexPage-newDiscussion .Button:hover,
.IndexPage-toolbar .Button--primary:hover {
  background: var(--g-orange-hover) !important;
  box-shadow: 0 3px 12px rgba(254, 116, 0, 0.3) !important;
  transform: translateY(-1px) !important;
}


/* ══════════════════════════════════════════════════════
   DISCUSSION LIST
   ══════════════════════════════════════════════════════ */

.DiscussionList {
  background: transparent !important;
}

.DiscussionListItem {
  background: var(--g-surface-1) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius) !important;
  margin-bottom: 6px !important;
  transition: all 0.15s var(--g-ease) !important;
}

.DiscussionListItem:hover {
  background: var(--g-surface-2) !important;
  border-color: var(--g-border-light) !important;
}

.DiscussionListItem-content {
  padding: 14px 18px !important;
}

/* Discussion titles — high contrast */
.DiscussionListItem-title {
  font-weight: 600 !important;
  font-size: 1.02em !important;
}

.DiscussionListItem-title a {
  color: var(--g-text-primary) !important;
  text-decoration: none !important;
  transition: color 0.15s var(--g-ease) !important;
}

.DiscussionListItem-title a:hover {
  color: var(--g-orange) !important;
}

/* Discussion meta — clearly secondary but readable */
.DiscussionListItem-info,
.DiscussionListItem-info a,
.DiscussionListItem time {
  color: var(--g-text-muted) !important;
}

.DiscussionListItem .username {
  color: var(--g-orange) !important;
  font-weight: 600 !important;
}

/* Reply count */
.DiscussionListItem-count {
  color: var(--g-text-secondary) !important;
}

.DiscussionListItem-count strong {
  color: var(--g-text-primary) !important;
}

/* Sort dropdown */
.IndexPage-toolbar .Button {
  color: var(--g-text-secondary) !important;
  border: 1px solid var(--g-border) !important;
  background: var(--g-surface-1) !important;
  border-radius: var(--g-radius) !important;
}

.IndexPage-toolbar .Button:hover {
  color: var(--g-text-primary) !important;
  border-color: var(--g-border-light) !important;
  background: var(--g-surface-2) !important;
}

/* Refresh button */
.IndexPage-toolbar .Button--icon {
  color: var(--g-text-muted) !important;
  border: none !important;
  background: transparent !important;
}

.IndexPage-toolbar .Button--icon:hover {
  color: var(--g-text-primary) !important;
}


/* ══════════════════════════════════════════════════════
   TAGS / BADGES
   ══════════════════════════════════════════════════════ */

.TagLabel {
  border-radius: 16px !important;
  font-weight: 600 !important;
  font-size: 0.72em !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 3px 10px !important;
}

.Badge {
  border-radius: 50% !important;
}


/* ══════════════════════════════════════════════════════
   DISCUSSION PAGE
   ══════════════════════════════════════════════════════ */

.DiscussionPage-discussion {
  background: transparent !important;
}

.DiscussionHero {
  background: var(--g-surface-1) !important;
  border-bottom: 1px solid var(--g-border) !important;
  padding: 2rem 0 !important;
}

.DiscussionHero-title {
  font-weight: 800 !important;
  font-size: 1.7em !important;
  letter-spacing: -0.02em !important;
  color: var(--g-text-bright) !important;
}

/* ── Posts ──────────────────────────────────────────── */

.PostStream-item {
  border: none !important;
}

.Post {
  background: var(--g-surface-1) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius-lg) !important;
  margin-bottom: 12px !important;
  overflow: hidden;
}

.Post-header {
  padding: 14px 20px 0 !important;
}

.Post-header,
.Post-header a,
.Post-header time {
  color: var(--g-text-muted) !important;
}

.Post-header .username,
.Post-header .username a {
  color: var(--g-orange) !important;
  font-weight: 600 !important;
}

.Post-body {
  padding: 14px 20px 20px !important;
  font-size: 0.95em !important;
  line-height: 1.75 !important;
}

.Post-body,
.Post-body p,
.Post-body li {
  color: var(--g-text-primary) !important;
}

/* ── Post typography ───────────────────────────────── */

.Post-body h2 {
  color: var(--g-text-bright) !important;
  font-weight: 700 !important;
  font-size: 1.35em !important;
  margin-top: 1.8em !important;
  margin-bottom: 0.5em !important;
  padding-bottom: 0.3em !important;
  border-bottom: 1px solid var(--g-border) !important;
}

.Post-body h3 {
  color: var(--g-text-primary) !important;
  font-weight: 600 !important;
  font-size: 1.12em !important;
  margin-top: 1.4em !important;
}

.Post-body a {
  color: var(--g-orange) !important;
  text-decoration: none !important;
  transition: color 0.15s var(--g-ease) !important;
}

.Post-body a:hover {
  color: var(--g-orange-hover) !important;
  text-decoration: underline !important;
}

.Post-body strong {
  color: var(--g-text-bright) !important;
  font-weight: 600 !important;
}

/* Inline code */
.Post-body code {
  background: rgba(254, 116, 0, 0.08) !important;
  color: var(--g-orange-hover) !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  font-family: 'JetBrains Mono', 'Fira Code', monospace !important;
  font-size: 0.87em !important;
  border: 1px solid rgba(254, 116, 0, 0.12) !important;
}

/* Code blocks */
.Post-body pre {
  background: var(--g-base) !important;
  border: 1px solid var(--g-border) !important;
  border-left: 3px solid var(--g-orange) !important;
  border-radius: var(--g-radius) !important;
  padding: 16px 20px !important;
  overflow-x: auto !important;
  margin: 1.2em 0 !important;
}

.Post-body pre code {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  color: var(--g-text-primary) !important;
  font-size: 0.85em !important;
  line-height: 1.6 !important;
}

/* Force all code block text to be readable - override syntax highlighting */
.Post-body pre code *,
.Post-body pre code span,
.Post-body pre code .hljs-keyword,
.Post-body pre code .hljs-string,
.Post-body pre code .hljs-built_in,
.Post-body pre code .hljs-comment,
.Post-body pre code .hljs-variable,
.Post-body pre code .hljs-title,
.Post-body pre code .hljs-attr,
.Post-body pre code .hljs-selector-tag,
.Post-body pre code .hljs-name,
.Post-body pre code .hljs-type,
.Post-body pre code .hljs-number,
.Post-body pre code .hljs-literal,
.Post-body pre code .hljs-symbol,
.Post-body pre code .hljs-bullet {
  color: #c9d1d9 !important;
}

/* Add some color variation for readability */
.Post-body pre code .hljs-keyword { color: #ff7b72 !important; }
.Post-body pre code .hljs-string { color: #a5d6ff !important; }
.Post-body pre code .hljs-comment { color: #8b949e !important; font-style: italic; }
.Post-body pre code .hljs-number,
.Post-body pre code .hljs-literal { color: #79c0ff !important; }
.Post-body pre code .hljs-variable,
.Post-body pre code .hljs-title { color: #d2a8ff !important; }
.Post-body pre code .hljs-built_in { color: #ffa657 !important; }

/* Blockquotes */
.Post-body blockquote {
  border-left: 3px solid var(--g-orange) !important;
  background: var(--g-orange-subtle) !important;
  padding: 10px 18px !important;
  margin: 1em 0 !important;
  border-radius: 0 var(--g-radius) var(--g-radius) 0 !important;
  color: var(--g-text-secondary) !important;
}

.Post-body hr {
  border: none !important;
  height: 1px !important;
  background: var(--g-border) !important;
  margin: 1.8em 0 !important;
}

.Post-body ul, .Post-body ol {
  color: var(--g-text-primary) !important;
  padding-left: 1.5em !important;
}

.Post-body li {
  margin-bottom: 0.35em !important;
}


/* ══════════════════════════════════════════════════════
   COMPOSER
   ══════════════════════════════════════════════════════ */

.Composer {
  background: var(--g-surface-1) !important;
  border-top: 1px solid var(--g-border) !important;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.3) !important;
}

.TextEditor-editor,
.TextEditor textarea {
  background: var(--g-base) !important;
  color: var(--g-text-primary) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius) !important;
  font-family: 'JetBrains Mono', monospace !important;
}

.TextEditor-editor:focus,
.TextEditor textarea:focus {
  border-color: var(--g-orange) !important;
  box-shadow: 0 0 0 2px var(--g-orange-glow) !important;
}


/* ══════════════════════════════════════════════════════
   MODALS
   ══════════════════════════════════════════════════════ */

.Modal-content {
  background: var(--g-overlay) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius-lg) !important;
  box-shadow: var(--g-shadow-lg) !important;
  color: var(--g-text-primary) !important;
}

.Modal-header {
  background: var(--g-surface-3) !important;
  border-bottom: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius-lg) var(--g-radius-lg) 0 0 !important;
}

.Modal-header h3 {
  color: var(--g-text-bright) !important;
}

.Modal .Form-group input,
.Modal .Form-group textarea {
  background: var(--g-base) !important;
  border: 1px solid var(--g-border) !important;
  color: var(--g-text-primary) !important;
  border-radius: var(--g-radius) !important;
}

.Modal .Form-group input:focus,
.Modal .Form-group textarea:focus {
  border-color: var(--g-orange) !important;
  box-shadow: 0 0 0 2px var(--g-orange-glow) !important;
}

.Modal .Form-group label {
  color: var(--g-text-secondary) !important;
}


/* ══════════════════════════════════════════════════════
   BUTTONS (GLOBAL)
   ══════════════════════════════════════════════════════ */

.Button {
  border-radius: var(--g-radius) !important;
  transition: all 0.15s var(--g-ease) !important;
  font-weight: 500 !important;
}

.Button--primary {
  background: var(--g-orange) !important;
  color: #fff !important;
  border: none !important;
  font-weight: 600 !important;
}

.Button--primary:hover {
  background: var(--g-orange-hover) !important;
  transform: translateY(-1px) !important;
}


/* ══════════════════════════════════════════════════════
   FORM ELEMENTS
   ══════════════════════════════════════════════════════ */

input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
  background: var(--g-base) !important;
  border: 1px solid var(--g-border) !important;
  color: var(--g-text-primary) !important;
  border-radius: var(--g-radius) !important;
  transition: border-color 0.15s var(--g-ease) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus {
  border-color: var(--g-orange) !important;
  box-shadow: 0 0 0 2px var(--g-orange-glow) !important;
  outline: none !important;
}


/* ══════════════════════════════════════════════════════
   DROPDOWN MENUS
   ══════════════════════════════════════════════════════ */

.Dropdown-menu {
  background: var(--g-overlay) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius) !important;
  box-shadow: var(--g-shadow-md) !important;
}

.Dropdown-menu li > a,
.Dropdown-menu li > button,
.Dropdown-menu li > span {
  color: var(--g-text-primary) !important;
}

.Dropdown-menu li > a:hover,
.Dropdown-menu li > button:hover {
  background: var(--g-surface-3) !important;
  color: var(--g-orange) !important;
}


/* ══════════════════════════════════════════════════════
   SEARCH
   ══════════════════════════════════════════════════════ */

.Search-input input {
  background: var(--g-surface-2) !important;
  border: 1px solid var(--g-border) !important;
  color: var(--g-text-primary) !important;
  border-radius: 20px !important;
}

.Search-input input::placeholder {
  color: var(--g-text-muted) !important;
}

.Search-input input:focus {
  border-color: var(--g-orange) !important;
  background: var(--g-surface-1) !important;
}

.Search-results {
  background: var(--g-overlay) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius) !important;
}


/* ══════════════════════════════════════════════════════
   TAGS PAGE
   ══════════════════════════════════════════════════════ */

.TagTile {
  background: var(--g-surface-1) !important;
  border: 1px solid var(--g-border) !important;
  border-radius: var(--g-radius-lg) !important;
  transition: all 0.15s var(--g-ease) !important;
}

.TagTile:hover {
  background: var(--g-surface-2) !important;
  border-color: var(--g-border-light) !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--g-shadow-md) !important;
}

.TagTile-name {
  color: var(--g-text-primary) !important;
  font-weight: 700 !important;
}

.TagTile-description {
  color: var(--g-text-secondary) !important;
  font-size: 0.85em !important;
}


/* ══════════════════════════════════════════════════════
   NOTIFICATIONS
   ══════════════════════════════════════════════════════ */

.NotificationList {
  background: var(--g-overlay) !important;
  border: 1px solid var(--g-border) !important;
}


/* ══════════════════════════════════════════════════════
   AVATARS
   ══════════════════════════════════════════════════════ */

.Avatar {
  border-radius: var(--g-radius) !important;
}


/* ══════════════════════════════════════════════════════
   LOADING
   ══════════════════════════════════════════════════════ */

.LoadingIndicator-container {
  color: var(--g-orange) !important;
}

/* Hide stuck loading bar */
.App > .loading-indicator {
  display: none !important;
}


/* ══════════════════════════════════════════════════════
   ALERTS
   ══════════════════════════════════════════════════════ */

.Alert {
  border-radius: var(--g-radius) !important;
}

.Alert--success {
  background: rgba(63, 185, 80, 0.12) !important;
  border: 1px solid rgba(63, 185, 80, 0.25) !important;
  color: #56d364 !important;
}


/* ══════════════════════════════════════════════════════
   SCROLLBAR
   ══════════════════════════════════════════════════════ */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--g-base);
}

::-webkit-scrollbar-thumb {
  background: var(--g-border);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--g-border-light);
}


/* ══════════════════════════════════════════════════════
   FOOTER & MISC
   ══════════════════════════════════════════════════════ */

.App-footer {
  color: var(--g-text-muted) !important;
  padding: 2rem 0 !important;
}

.container {
  max-width: 1100px !important;
}

/* Empty state */
.DiscussionList-empty,
.Placeholder {
  color: var(--g-text-secondary) !important;
}

/* Selection */
::selection {
  background: var(--g-orange) !important;
  color: #fff !important;
}


/* ══════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .Hero-title { font-size: 1.4em !important; }
  .DiscussionHero-title { font-size: 1.3em !important; }
  .Post-body { padding: 12px 14px 14px !important; }
}


/* ══════════════════════════════════════════════════════
   FLARUM BASE OVERRIDES
   These target elements where Flarum's default CSS
   applies dark text colors meant for light themes.
   ══════════════════════════════════════════════════════ */

/* Global heading reset — Flarum sets h1-h6 to near-black */
h1, h2, h3, h4, h5, h6 {
  color: var(--g-text-primary) !important;
}

/* Discussion list — the main link wrapper */
.DiscussionListItem-main {
  color: var(--g-text-primary) !important;
}

.DiscussionListItem-main:hover {
  color: var(--g-text-primary) !important;
}

/* Discussion title heading inside the list */
.DiscussionListItem-title h2,
.DiscussionListItem-title h3,
.DiscussionListItem .DiscussionListItem-title {
  color: var(--g-text-primary) !important;
}

/* All links inside discussion list items */
.DiscussionListItem a {
  color: var(--g-text-primary) !important;
  transition: color 0.15s var(--g-ease) !important;
}

.DiscussionListItem a:hover {
  color: var(--g-orange) !important;
}

/* Keep username orange */
.DiscussionListItem .username,
.DiscussionListItem .username a {
  color: var(--g-orange) !important;
}

/* Tag labels keep their own colors */
.DiscussionListItem .TagLabel a {
  color: inherit !important;
}

/* Generic link color for the whole app */
a {
  color: var(--g-text-secondary) !important;
}

a:hover {
  color: var(--g-text-primary) !important;
}

/* But keep orange for primary/accent links */
.Post-body a,
.DiscussionHero a {
  color: var(--g-orange) !important;
}

/* Navigation bar items */
.IndexPage-toolbar,
.IndexPage-results {
  color: var(--g-text-primary) !important;
}

/* Ensure all text in the app is readable */
.App-content {
  color: var(--g-text-primary) !important;
}

/* Fix the stuck loading bar */
.App > .loading-indicator,
.loading-indicator {
  display: none !important;
}

/* Discussion hero info text */
.DiscussionHero-items,
.DiscussionHero-items li,
.DiscussionHero .item-tags {
  color: var(--g-text-secondary) !important;
}

/* ── Sidebar spacing fixes ─────────────────────────── */

/* Reduce top margin on sidebar list */
.IndexPage-nav > ul {
  margin-top: 15px !important;
}

/* Tighter padding on sidebar links */
.IndexPage-nav .Dropdown-menu li > a,
.IndexPage-nav .Dropdown-menu li > button {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

/* Reduce separator gap */
.IndexPage-nav .Dropdown-separator {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

/* Tighter bottom margin on Start a Discussion */
.IndexPage-nav .item-newDiscussion {
  margin-bottom: 12px !important;
}

/* Reduce gap below nav dropdown container */
.IndexPage-nav .item-nav {
  margin-bottom: 5px !important;
}

/* Add left padding to sidebar items */
.IndexPage-nav .Dropdown-menu {
  padding-left: 10px !important;
}

.IndexPage-nav > ul {
  padding-left: 10px !important;
}
