/* GunSpot Design Tokens
   Single source of truth for colors, typography, spacing.
   Import after Bootstrap so overrides take effect. */

:root {
  /* Brand palette */
  --gs-bg:           #1c232f;
  --gs-bg-dark:      #13181f;
  --gs-bg-card:      #252d3a;
  --gs-bg-card-alt:  #2e3748;
  --gs-border:       #3a4556;
  --gs-border-light: rgba(255, 255, 255, 0.1);

  --gs-accent:       #ff8c00;
  --gs-accent-blue:  #1eadff;
  --gs-accent-green: #adff2f;
  --gs-accent-amber: #ffc107;

  --gs-text:         #e8eaf0;
  --gs-text-muted:   rgba(232, 234, 240, 0.65);
  --gs-text-dim:     rgba(232, 234, 240, 0.4);

  --gs-font:         "Akshar", sans-serif;

  --gs-radius:       8px;
  --gs-radius-sm:    4px;
}

/* ── Base resets ────────────────────────────────────────────── */

html, body {
  background-color: var(--gs-bg) !important;
  color: var(--gs-text);
  font-family: var(--gs-font);
}

a {
  color: var(--gs-accent-blue);
}

a:hover {
  color: var(--gs-accent);
}

/* ── Bootstrap component overrides ─────────────────────────── */

/* Cards */
.card {
  background-color: var(--gs-bg-card);
  border-color: var(--gs-border);
  color: var(--gs-text);
}

.card-header, .card-footer {
  background-color: var(--gs-bg-card-alt);
  border-color: var(--gs-border);
  color: var(--gs-text);
}

/* Tables */
.table {
  color: var(--gs-text);
  border-color: var(--gs-border);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  color: var(--gs-text);
  background-color: rgba(255, 255, 255, 0.03);
}

/* Forms */
.form-control, .form-select {
  background-color: var(--gs-bg-card);
  border-color: var(--gs-border);
  color: var(--gs-text);
}

.form-control:focus, .form-select:focus {
  background-color: var(--gs-bg-card-alt);
  border-color: var(--gs-accent-blue);
  color: var(--gs-text);
  box-shadow: 0 0 0 0.2rem rgba(30, 173, 255, 0.25);
}

.form-control::placeholder {
  color: var(--gs-text-dim);
}

/* Dropdowns */
.dropdown-menu {
  background-color: var(--gs-bg-card);
  border-color: var(--gs-border);
}

.dropdown-item {
  color: var(--gs-text);
}

.dropdown-item:hover, .dropdown-item:focus {
  background-color: var(--gs-bg-card-alt);
  color: var(--gs-accent);
}

.dropdown-divider {
  border-color: var(--gs-border);
}

/* Nav / tabs */
.nav-tabs {
  border-color: var(--gs-border);
}

.nav-tabs .nav-link {
  color: var(--gs-text-muted);
}

.nav-tabs .nav-link.active {
  background-color: var(--gs-bg-card);
  border-color: var(--gs-border) var(--gs-border) var(--gs-bg-card);
  color: var(--gs-accent);
}

/* Modals */
.modal-content {
  background-color: var(--gs-bg-card);
  border-color: var(--gs-border);
  color: var(--gs-text);
}

.modal-header, .modal-footer {
  border-color: var(--gs-border);
}

/* Alerts */
.alert {
  border-color: var(--gs-border);
}

/* Badges / pills */
.badge {
  font-family: var(--gs-font);
}

/* Pagination */
.page-link {
  background-color: var(--gs-bg-card);
  border-color: var(--gs-border);
  color: var(--gs-accent-blue);
}

.page-link:hover {
  background-color: var(--gs-bg-card-alt);
  border-color: var(--gs-border);
  color: var(--gs-accent);
}

.page-item.active .page-link {
  background-color: var(--gs-accent-blue);
  border-color: var(--gs-accent-blue);
}

.page-item.disabled .page-link {
  background-color: var(--gs-bg-card);
  border-color: var(--gs-border);
  color: var(--gs-text-dim);
}

/* List groups */
.list-group-item {
  background-color: var(--gs-bg-card);
  border-color: var(--gs-border);
  color: var(--gs-text);
}

.list-group-item:hover {
  background-color: var(--gs-bg-card-alt);
}

/* Jumbotron (BS4 compat shim) */
.jumbotron {
  background-color: var(--gs-bg-card);
  color: var(--gs-text);
  border-radius: var(--gs-radius);
  padding: 2rem;
}

/* Headings default color inside dark pages */
h1, h2, h3, h4, h5, h6 {
  color: var(--gs-text);
  font-family: var(--gs-font);
}

/* HR */
hr {
  border-color: var(--gs-border);
  opacity: 1;
}
