:root {
  /* Brand */
  --simba-accent: #4329ff;
  --simba-accent-hover: #2f1fff;

  /* Neutrals */
  --simba-black: #0b0b0f;
  --simba-white: #ffffff;
  --simba-text: #0b0b0f;
  --simba-muted: #6b7280;
  --simba-border: #e6e8f0;
  --simba-surface: #ffffff;
  --simba-surface-2: #f6f7fb;

  /* Layout */
  --simba-radius: 12px;

  /* Bootstrap compatibility (some utilities read these) */
  --primary: #4329ff;
  --secondary: #111827;
}

html,
body {
  height: 100%;
}

body {
  font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans",
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: var(--simba-text);
  background: var(--simba-surface);
}

/* Links */
a {
  color: var(--simba-accent);
}

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

/* Navbar */
.simba-nav {
  background: var(--simba-black) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.simba-nav .navbar-brand {
  font-weight: 700;
  letter-spacing: 0.2px;
}

.simba-nav .nav-link {
  color: rgba(255, 255, 255, 0.86) !important;
}

.simba-nav .nav-link:hover,
.simba-nav .nav-link:focus {
  color: #ffffff !important;
}

.simba-nav .nav-link.active {
  color: #ffffff !important;
  text-decoration: underline;
  text-decoration-color: var(--simba-accent);
  text-underline-offset: 5px;
}

.simba-nav .dropdown-menu {
  border-radius: var(--simba-radius);
  border: 1px solid var(--simba-border);
}

/* Footer */
.simba-footer {
  background: var(--simba-black) !important;
  color: #ffffff !important;
}

.simba-footer a {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.35);
  text-underline-offset: 3px;
}

.simba-footer a:hover {
  text-decoration-color: var(--simba-accent);
}

/* Buttons (Bootstrap overrides) */
.btn {
  border-radius: 10px;
  font-weight: 600;
}

.btn:focus,
.btn.focus {
  box-shadow: 0 0 0 0.2rem rgba(67, 41, 255, 0.25) !important;
}

.btn-primary {
  background-color: var(--simba-accent) !important;
  border-color: var(--simba-accent) !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--simba-accent-hover) !important;
  border-color: var(--simba-accent-hover) !important;
}

.btn-outline-primary {
  color: var(--simba-accent) !important;
  border-color: var(--simba-accent) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: var(--simba-accent) !important;
  border-color: var(--simba-accent) !important;
  color: #ffffff !important;
}

.btn-secondary {
  background-color: transparent !important;
  border-color: var(--simba-border) !important;
  color: var(--simba-text) !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: var(--simba-surface-2) !important;
  border-color: var(--simba-border) !important;
  color: var(--simba-text) !important;
}

.bg-dark .btn-secondary,
.simba-footer .btn-secondary,
.simba-nav .btn-secondary {
  background-color: transparent !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #ffffff !important;
}

.bg-dark .btn-secondary:hover,
.bg-dark .btn-secondary:focus,
.simba-footer .btn-secondary:hover,
.simba-footer .btn-secondary:focus,
.simba-nav .btn-secondary:hover,
.simba-nav .btn-secondary:focus {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  color: #ffffff !important;
}

/* Utilities: remove slate/green by overriding primary/secondary semantics */
.text-primary {
  color: var(--simba-accent) !important;
}

.bg-primary {
  background-color: var(--simba-accent) !important;
}

.border-primary {
  border-color: var(--simba-accent) !important;
}

.text-secondary {
  color: #111827 !important;
}

.bg-secondary {
  background-color: #111827 !important;
}

.border-secondary {
  border-color: #111827 !important;
}

/* Badges */
.badge-primary {
  background-color: var(--simba-accent) !important;
}

.badge-secondary {
  background-color: #111827 !important;
}

/* Dropdown active state */
.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--simba-accent) !important;
}

/* Pagination active state */
.page-item.active .page-link {
  background-color: var(--simba-accent) !important;
  border-color: var(--simba-accent) !important;
}

/* Alerts */
.alert {
  border-radius: var(--simba-radius);
}

/* Cards */
.card {
  border-radius: var(--simba-radius);
  border-color: var(--simba-border);
}

/* Forms */
.form-control,
.custom-select {
  border-radius: 10px;
  border-color: var(--simba-border);
}

.form-control:focus,
.custom-select:focus {
  border-color: rgba(67, 41, 255, 0.6);
  box-shadow: 0 0 0 0.2rem rgba(67, 41, 255, 0.15);
}
