/* ═══════════════════════════════════════════════════════
   AMBER CRT TERMINAL THEME — Mobile Hacking Space CTF
   ═══════════════════════════════════════════════════════ */

/* ── Bootstrap 5 CSS variable overrides (all themes) ── */
:root,
html[data-bs-theme="light"],
html[data-bs-theme="dark"],
[data-bs-theme="light"],
[data-bs-theme="dark"] {
  --bs-body-bg: #3A2800;
  --bs-body-color: #FFB300;
  --bs-body-font-family: 'Courier New', Courier, monospace;

  --bs-primary: #FFB300;
  --bs-primary-rgb: 255, 179, 0;
  --bs-primary-text-emphasis: #FFB300;
  --bs-primary-bg-subtle: #5C4200;
  --bs-primary-border-subtle: #4D3300;

  --bs-secondary: #CC8800;
  --bs-secondary-rgb: 204, 136, 0;
  --bs-secondary-text-emphasis: #CC8800;
  --bs-secondary-bg-subtle: #4A3400;
  --bs-secondary-border-subtle: #4D3300;
  --bs-secondary-color: #CC8800;
  --bs-secondary-color-rgb: 204, 136, 0;
  --bs-secondary-bg: #4A3400;
  --bs-secondary-bg-rgb: 17, 13, 0;

  --bs-success: #8B7300;
  --bs-success-rgb: 139, 115, 0;
  --bs-success-text-emphasis: #FFB300;
  --bs-success-bg-subtle: #4A3400;
  --bs-success-border-subtle: #4D3300;

  --bs-info: #CC8800;
  --bs-info-rgb: 204, 136, 0;
  --bs-info-text-emphasis: #FFB300;
  --bs-info-bg-subtle: #4A3400;
  --bs-info-border-subtle: #4D3300;

  --bs-warning: #FFB300;
  --bs-warning-rgb: 255, 179, 0;
  --bs-warning-text-emphasis: #3A2800;
  --bs-warning-bg-subtle: #5C4200;

  --bs-danger: #CC4400;
  --bs-danger-rgb: 204, 68, 0;
  --bs-danger-text-emphasis: #FF6600;
  --bs-danger-bg-subtle: #1A0800;
  --bs-danger-border-subtle: #4D1A00;

  --bs-light: #4D3300;
  --bs-light-rgb: 77, 51, 0;
  --bs-dark: #4A3400;
  --bs-dark-rgb: 17, 13, 0;

  --bs-emphasis-color: #FFB300;
  --bs-emphasis-color-rgb: 255, 179, 0;
  --bs-tertiary-color: #4D3300;
  --bs-tertiary-bg: #3A2800;
  --bs-heading-color: #FFB300;

  --bs-border-color: #4D3300;
  --bs-border-color-translucent: rgba(77, 51, 0, 0.5);

  --bs-link-color: #CC8800;
  --bs-link-hover-color: #FFB300;
  --bs-link-color-rgb: 204, 136, 0;
  --bs-link-hover-color-rgb: 255, 179, 0;

  /* Card */
  --bs-card-bg: #4A3400;
  --bs-card-border-color: #4D3300;
  --bs-card-cap-bg: #3A2800;
  --bs-card-color: #FFB300;

  /* Navbar */
  --bs-navbar-color: #CC8800;
  --bs-navbar-hover-color: #FFB300;
  --bs-navbar-active-color: #FFD84D;
  --bs-navbar-brand-color: #FFB300;
  --bs-navbar-brand-hover-color: #FFD84D;
  --bs-navbar-toggler-border-color: #4D3300;

  /* Dropdown */
  --bs-dropdown-bg: #4A3400;
  --bs-dropdown-border-color: #4D3300;
  --bs-dropdown-link-color: #CC8800;
  --bs-dropdown-link-hover-color: #FFB300;
  --bs-dropdown-link-hover-bg: #5C4200;
  --bs-dropdown-link-active-color: #3A2800;
  --bs-dropdown-link-active-bg: #FFB300;
  --bs-dropdown-divider-bg: #4D3300;
  --bs-dropdown-header-color: #4D3300;
  --bs-dropdown-color: #CC8800;

  /* Forms */
  --bs-form-control-bg: #4A3400;
  --bs-form-control-color: #FFB300;

  /* Modal */
  --bs-modal-bg: #4A3400;
  --bs-modal-header-border-color: #4D3300;
  --bs-modal-footer-border-color: #4D3300;
  --bs-modal-color: #FFB300;
  --bs-modal-header-padding: 1rem;

  /* Table */
  --bs-table-bg: transparent;
  --bs-table-color: #FFB300;
  --bs-table-border-color: #4D3300;
  --bs-table-striped-bg: rgba(77, 51, 0, 0.15);
  --bs-table-hover-bg: rgba(255, 179, 0, 0.04);

  /* Nav tabs */
  --bs-nav-tabs-border-color: #4D3300;
  --bs-nav-tabs-link-hover-border-color: #4D3300;
  --bs-nav-tabs-link-active-color: #FFB300;
  --bs-nav-tabs-link-active-bg: #3A2800;
  --bs-nav-tabs-link-active-border-color: #4D3300 #4D3300 #3A2800;

  /* Pagination */
  --bs-pagination-bg: #4A3400;
  --bs-pagination-border-color: #4D3300;
  --bs-pagination-color: #FFB300;
  --bs-pagination-hover-bg: #5C4200;
  --bs-pagination-hover-color: #FFD84D;
  --bs-pagination-hover-border-color: #CC8800;
  --bs-pagination-active-bg: #FFB300;
  --bs-pagination-active-color: #3A2800;
  --bs-pagination-active-border-color: #FFB300;
  --bs-pagination-disabled-bg: #3A2800;
  --bs-pagination-disabled-color: #4D3300;
  --bs-pagination-disabled-border-color: #4D3300;

  /* Tooltip */
  --bs-tooltip-bg: #5C4200;
  --bs-tooltip-color: #FFB300;

  /* Badge */
  --bs-badge-color: #3A2800;

  /* Progress */
  --bs-progress-bg: #4A3400;
  --bs-progress-bar-bg: #FFB300;
  --bs-progress-bar-color: #3A2800;

  /* List group */
  --bs-list-group-bg: #4A3400;
  --bs-list-group-border-color: #4D3300;
  --bs-list-group-color: #FFB300;
  --bs-list-group-hover-bg: #5C4200;
  --bs-list-group-action-color: #CC8800;
  --bs-list-group-action-hover-color: #FFB300;
  --bs-list-group-active-bg: #FFB300;
  --bs-list-group-active-color: #3A2800;
  --bs-list-group-active-border-color: #FFB300;
  --bs-list-group-disabled-color: #4D3300;
  --bs-list-group-disabled-bg: #3A2800;

  /* Input group */
  --bs-input-group-addon-bg: #5C4200;
  --bs-input-group-addon-color: #CC8800;
  --bs-input-group-addon-border-color: #4D3300;

  /* Accordion */
  --bs-accordion-bg: #4A3400;
  --bs-accordion-border-color: #4D3300;
  --bs-accordion-btn-color: #FFB300;
  --bs-accordion-btn-bg: #3A2800;
  --bs-accordion-active-color: #FFB300;
  --bs-accordion-active-bg: #5C4200;
  --bs-accordion-body-padding-x: 1rem;
  --bs-accordion-color: #FFB300;
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFB300'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23CC8800'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");

  /* Close button */
  --bs-btn-close-color: #FFB300;
  --bs-btn-close-filter: invert(70%) sepia(100%) saturate(300%) hue-rotate(5deg);

  /* Offcanvas */
  --bs-offcanvas-bg: #4A3400;
  --bs-offcanvas-border-color: #4D3300;
  --bs-offcanvas-color: #FFB300;
}

/* ── Force dark color scheme on HTML ── */
html {
  color-scheme: dark;
}

/* ── Global base ── */
body {
  background-color: #3A2800 !important;
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
  position: relative;
}

/* CRT scanline overlay */
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 2px,
    rgba(0, 0, 0, 0.07) 2px,
    rgba(0, 0, 0, 0.07) 4px
  );
  pointer-events: none;
  z-index: 9999;
}

/* ── Typography ── */
h1, h2, h3, h4, h5, h6 {
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
  text-shadow: 0 0 8px rgba(255, 179, 0, 0.35);
}

main h1, main h2 {
  letter-spacing: 2px;
}

p, span, li, td, th, label, small {
  font-family: 'Courier New', Courier, monospace !important;
}

a {
  color: #CC8800 !important;
  text-decoration: none !important;
}

a:hover {
  color: #FFB300 !important;
}

hr {
  border-color: #4D3300 !important;
  opacity: 1;
}

blockquote {
  border-left-color: #4D3300 !important;
  color: #CC8800 !important;
}

code, pre, kbd, samp {
  font-family: 'Courier New', Courier, monospace !important;
  color: #FFB300;
  background-color: #4A3400;
  border: 1px solid #4D3300;
  border-radius: 0 !important;
}

pre {
  padding: 1rem;
  color: #FFB300;
}

/* ── Navbar ── */
.navbar {
  background-color: #3A2800 !important;
  border-bottom: 1px solid #4D3300 !important;
}

.navbar-brand {
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
  text-shadow: 0 0 10px rgba(255, 179, 0, 0.55);
}

.navbar-brand:hover {
  color: #FFD84D !important;
}

.navbar .nav-link {
  color: #CC8800 !important;
  font-family: 'Courier New', Courier, monospace !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .nav-link.active {
  color: #FFB300 !important;
}



.navbar-toggler {
  border-color: #4D3300 !important;
}

.navbar-toggler-icon {
  filter: invert(70%) sepia(100%) saturate(500%) hue-rotate(5deg);
}

/* ── Jumbotron / Hero ── */
.jumbotron {
  background-color: #4A3400 !important;
  border-bottom: 1px solid #4D3300 !important;
  padding: 2rem 0 !important;
}

.jumbotron h1 {
  text-shadow: 0 0 14px rgba(255, 179, 0, 0.5);
}

/* ── Cards ── */
.card {
  background-color: #4A3400 !important;
  border: 1px solid #4D3300 !important;
  color: #FFB300 !important;
  border-radius: 0 !important;
}

.card-header {
  background-color: #3A2800 !important;
  border-bottom: 1px solid #4D3300 !important;
  color: #FFB300 !important;
}

.card-footer {
  background-color: #3A2800 !important;
  border-top: 1px solid #4D3300 !important;
}

.card-body { color: #FFB300 !important; }
.card-title { color: #FFB300 !important; }
.card-subtitle { color: #CC8800 !important; }
.card-text { color: #CC8800 !important; }

/* Challenge card hover */
.card:hover {
  border-color: #CC8800 !important;
  box-shadow: 0 0 14px rgba(255, 179, 0, 0.12) !important;
  transition: border-color 0.15s, box-shadow 0.15s;
}

/* ── Buttons ── */
.btn {
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

.btn-primary {
  background-color: #FFB300 !important;
  border-color: #FFB300 !important;
  color: #3A2800 !important;
  font-weight: bold !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-primary.active, .show > .btn-primary.dropdown-toggle {
  background-color: #CC8800 !important;
  border-color: #CC8800 !important;
  color: #3A2800 !important;
  box-shadow: 0 0 10px rgba(255, 179, 0, 0.4) !important;
}

.btn-secondary {
  background-color: transparent !important;
  border-color: #4D3300 !important;
  color: #CC8800 !important;
}

.btn-secondary:hover, .btn-secondary:focus {
  background-color: #5C4200 !important;
  border-color: #CC8800 !important;
  color: #FFB300 !important;
}

.btn-success {
  background-color: #3A2E00 !important;
  border-color: #8B7300 !important;
  color: #FFB300 !important;
}

.btn-success:hover {
  background-color: #5C4A00 !important;
  border-color: #FFB300 !important;
}

.btn-danger {
  background-color: #2E0800 !important;
  border-color: #CC4400 !important;
  color: #FF8C00 !important;
}

.btn-danger:hover {
  background-color: #CC4400 !important;
  border-color: #FF6600 !important;
  color: #3A2800 !important;
}

.btn-warning {
  background-color: #FFB300 !important;
  border-color: #FFB300 !important;
  color: #3A2800 !important;
}

.btn-info {
  background-color: transparent !important;
  border-color: #CC8800 !important;
  color: #CC8800 !important;
}

.btn-info:hover {
  background-color: #5C4200 !important;
  color: #FFB300 !important;
}

.btn-dark {
  background-color: #4A3400 !important;
  border-color: #4D3300 !important;
  color: #FFB300 !important;
}

.btn-light {
  background-color: #5C4200 !important;
  border-color: #4D3300 !important;
  color: #FFB300 !important;
}

.btn-outline-primary {
  border-color: #FFB300 !important;
  color: #FFB300 !important;
}

.btn-outline-primary:hover {
  background-color: #FFB300 !important;
  color: #3A2800 !important;
}

.btn-outline-secondary {
  border-color: #4D3300 !important;
  color: #CC8800 !important;
}

.btn-outline-secondary:hover {
  background-color: #5C4200 !important;
  border-color: #CC8800 !important;
  color: #FFB300 !important;
}

.btn-outline-success {
  border-color: #8B7300 !important;
  color: #8B7300 !important;
}

.btn-outline-success:hover {
  background-color: #8B7300 !important;
  color: #3A2800 !important;
}

.btn-outline-danger {
  border-color: #CC4400 !important;
  color: #CC4400 !important;
}

.btn-outline-danger:hover {
  background-color: #CC4400 !important;
  color: #3A2800 !important;
}

.btn-close {
  filter: invert(70%) sepia(100%) saturate(300%) hue-rotate(5deg) !important;
}

/* ── Form controls ── */
.form-control {
  background-color: #1E1400 !important;
  border: 1px solid #CC8800 !important;
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
  caret-color: #FFB300;
}

.form-control:focus {
  background-color: #5C4200 !important;
  border-color: #FFB300 !important;
  color: #FFB300 !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 179, 0, 0.12) !important;
}

.form-control::placeholder {
  color: #8B5E00 !important;
  opacity: 1;
}

.form-select {
  background-color: #4A3400 !important;
  border: 1px solid #4D3300 !important;
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23CC8800' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") !important;
}

.form-select:focus {
  border-color: #FFB300 !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 179, 0, 0.12) !important;
  background-color: #5C4200 !important;
}

.form-label {
  color: #CC8800 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.form-text {
  color: #4D3300 !important;
}

.form-check-input {
  background-color: #4A3400 !important;
  border-color: #4D3300 !important;
  border-radius: 0 !important;
}

.form-check-input:checked {
  background-color: #FFB300 !important;
  border-color: #FFB300 !important;
}

.form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 179, 0, 0.12) !important;
  border-color: #FFB300 !important;
}

.form-check-label {
  color: #CC8800 !important;
}

.input-group-text {
  background-color: #5C4200 !important;
  border: 1px solid #4D3300 !important;
  color: #CC8800 !important;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

.invalid-feedback {
  color: #FF6600 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.valid-feedback {
  color: #8B7300 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.is-invalid .form-control,
.form-control.is-invalid {
  border-color: #CC4400 !important;
}

/* ── Tables ── */
.table {
  color: #FFB300 !important;
  border-color: #4D3300 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.table > :not(caption) > * > * {
  background-color: transparent !important;
  color: #FFB300 !important;
  border-bottom-color: #4D3300 !important;
}

.table > thead {
  border-bottom: 2px solid #4D3300 !important;
}

.table > thead > tr > th {
  color: #CC8800 !important;
  border-color: #4D3300 !important;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(77, 51, 0, 0.15) !important;
  color: #FFB300 !important;
}

.table-hover > tbody > tr:hover > * {
  background-color: rgba(255, 179, 0, 0.04) !important;
}

.table-dark {
  --bs-table-bg: #4A3400;
  --bs-table-border-color: #4D3300;
  color: #FFB300 !important;
  background-color: #4A3400 !important;
}

/* ── Dropdown ── */
.dropdown-menu {
  background-color: #4A3400 !important;
  border: 1px solid #4D3300 !important;
  border-radius: 0 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.dropdown-item {
  color: #CC8800 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.dropdown-item:hover, .dropdown-item:focus {
  background-color: #5C4200 !important;
  color: #FFB300 !important;
}

.dropdown-item.active, .dropdown-item:active {
  background-color: #FFB300 !important;
  color: #3A2800 !important;
}

.dropdown-divider {
  border-top-color: #4D3300 !important;
}

.dropdown-header {
  color: #4D3300 !important;
}

/* ── Modals ── */
.modal-content {
  background-color: #4A3400 !important;
  border: 1px solid #4D3300 !important;
  border-radius: 0 !important;
  color: #FFB300 !important;
}

.modal-header {
  border-bottom: 1px solid #4D3300 !important;
  background-color: #3A2800 !important;
}

.modal-footer {
  border-top: 1px solid #4D3300 !important;
  background-color: #3A2800 !important;
}

.modal-title {
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

.modal-backdrop {
  background-color: #3A2800 !important;
}

/* ── Badges ── */
.badge {
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

.bg-primary   { background-color: #FFB300 !important; color: #3A2800 !important; }
.bg-secondary { background-color: #4D3300 !important; color: #FFB300 !important; }
.bg-success   { background-color: #3A2E00 !important; color: #FFB300 !important; }
.bg-danger    { background-color: #CC4400 !important; color: #3A2800 !important; }
.bg-warning   { background-color: #FFB300 !important; color: #3A2800 !important; }
.bg-info      { background-color: #4D3300 !important; color: #FFB300 !important; }
.bg-dark      { background-color: #4A3400 !important; }
.bg-light     { background-color: #5C4200 !important; }
.bg-white     { background-color: #4A3400 !important; }
.bg-body      { background-color: #3A2800 !important; }
.bg-body-secondary { background-color: #4A3400 !important; }
.bg-body-tertiary  { background-color: #3A2800 !important; }

/* ── Alerts ── */
.alert {
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

.alert-primary   { background-color: #5C4200 !important; border-color: #FFB300 !important; color: #FFB300 !important; }
.alert-secondary { background-color: #4A3400 !important; border-color: #4D3300 !important; color: #CC8800 !important; }
.alert-success   { background-color: #4A3400 !important; border-color: #8B7300 !important; color: #FFB300 !important; }
.alert-danger    { background-color: #1A0800 !important; border-color: #CC4400 !important; color: #FF8C00 !important; }
.alert-warning   { background-color: #5C4200 !important; border-color: #CC8800 !important; color: #FFB300 !important; }
.alert-info      { background-color: #4A3400 !important; border-color: #CC8800 !important; color: #CC8800 !important; }
.alert-light     { background-color: #3A2800 !important; border-color: #4D3300 !important; color: #CC8800 !important; }
.alert-dark      { background-color: #3A2800 !important; border-color: #4D3300 !important; color: #FFB300 !important; }

/* ── Nav tabs ── */
.nav-tabs {
  border-bottom: 1px solid #4D3300 !important;
}

.nav-tabs .nav-link {
  color: #CC8800 !important;
  border-color: transparent !important;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

.nav-tabs .nav-link:hover {
  color: #FFB300 !important;
  border-color: #4D3300 !important;
}

.nav-tabs .nav-link.active {
  background-color: #3A2800 !important;
  border-color: #4D3300 #4D3300 #3A2800 !important;
  color: #FFB300 !important;
}

.tab-content {
  border: 1px solid #4D3300;
  border-top: none;
  padding: 1rem;
  background-color: #4A3400;
}

/* ── List groups ── */
.list-group-item {
  background-color: #4A3400 !important;
  border-color: #4D3300 !important;
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

.list-group-item:hover, .list-group-item:focus {
  background-color: #5C4200 !important;
  color: #FFB300 !important;
}

.list-group-item.active {
  background-color: #FFB300 !important;
  border-color: #FFB300 !important;
  color: #3A2800 !important;
}

.list-group-item.disabled, .list-group-item:disabled {
  color: #4D3300 !important;
  background-color: #3A2800 !important;
}

/* ── Pagination ── */
.page-link {
  background-color: #4A3400 !important;
  border-color: #4D3300 !important;
  color: #CC8800 !important;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

.page-link:hover {
  background-color: #5C4200 !important;
  color: #FFB300 !important;
  border-color: #CC8800 !important;
}

.page-item.active .page-link {
  background-color: #FFB300 !important;
  border-color: #FFB300 !important;
  color: #3A2800 !important;
}

.page-item.disabled .page-link {
  background-color: #3A2800 !important;
  color: #4D3300 !important;
  border-color: #4D3300 !important;
}

/* ── Progress bars ── */
.progress {
  background-color: #4A3400 !important;
  border: 1px solid #4D3300 !important;
  border-radius: 0 !important;
  height: 8px;
}

.progress-bar {
  background-color: #FFB300 !important;
  color: #3A2800 !important;
}

/* ── Tooltips ── */
.tooltip .tooltip-inner {
  background-color: #5C4200 !important;
  color: #FFB300 !important;
  border: 1px solid #4D3300;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

/* ── Accordion ── */
.accordion-item {
  background-color: #4A3400 !important;
  border-color: #4D3300 !important;
  color: #FFB300 !important;
  border-radius: 0 !important;
}

.accordion-button {
  background-color: #3A2800 !important;
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

.accordion-button:not(.collapsed) {
  background-color: #5C4200 !important;
  color: #FFB300 !important;
  box-shadow: inset 0 -1px 0 #4D3300 !important;
}

.accordion-button:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 179, 0, 0.12) !important;
  border-color: #FFB300 !important;
}

/* ── Text utilities ── */
.text-muted     { color: #CC8800 !important; }
.text-primary   { color: #FFB300 !important; }
.text-secondary { color: #CC8800 !important; }
.text-success   { color: #8B7300 !important; }
.text-danger    { color: #CC4400 !important; }
.text-warning   { color: #FFB300 !important; }
.text-info      { color: #CC8800 !important; }
.text-light     { color: #4D3300 !important; }
.text-dark      { color: #FFB300 !important; }
.text-white     { color: #FFB300 !important; }
.text-body      { color: #FFB300 !important; }

/* ── Borders ── */
.border                { border-color: #4D3300 !important; }
.border-primary        { border-color: #FFB300 !important; }
.border-secondary      { border-color: #4D3300 !important; }
.border-success        { border-color: #8B7300 !important; }
.border-danger         { border-color: #CC4400 !important; }
.border-warning        { border-color: #CC8800 !important; }

/* ── Footer ── */
.footer {
  background-color: #3A2800 !important;
  border-top: 1px solid #4D3300 !important;
}

.footer a, .footer small, .footer .text-muted {
  color: #4D3300 !important;
}

.footer a:hover {
  color: #CC8800 !important;
}

/* ── Spinners ── */
.spinner-border, .spinner-grow {
  color: #FFB300 !important;
}

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #3A2800; }
::-webkit-scrollbar-thumb { background: #4D3300; border-radius: 0; }
::-webkit-scrollbar-thumb:hover { background: #CC8800; }

/* ── CTFd-specific challenge grid ── */
.challenge-container,
div[data-cid] {
  cursor: pointer;
}

/* Snackbar */
#snackbar, .snackbar {
  background-color: #4A3400 !important;
  border: 1px solid #4D3300 !important;
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
  border-radius: 0 !important;
}

/* Notification banner */
.notification-container {
  font-family: 'Courier New', Courier, monospace !important;
}

/* Setup wizard specific */
.setup-step, .card-wizard {
  border-color: #4D3300 !important;
}

/* Scoreboard medal colors — keep amber scale */
.text-gold   { color: #FFB300 !important; }
.text-silver { color: #CC8800 !important; }
.text-bronze { color: #8B5E00 !important; }

/* Score counters */
.score, [class*="score"] {
  color: #FFB300 !important;
  font-family: 'Courier New', Courier, monospace !important;
}

/* ── Offcanvas ── */
.offcanvas {
  background-color: #4A3400 !important;
  border-color: #4D3300 !important;
  color: #FFB300 !important;
}

.offcanvas-header {
  border-bottom: 1px solid #4D3300 !important;
}

/* ── CTFd default banner logo (dark paths → amber) ── */
.col-md-6 img[src*="logo"],
.col-md-8 img[src*="logo"] {
  filter: invert(1) sepia(1) saturate(2) hue-rotate(5deg) brightness(0.85);
}

/* ── Phone hero image ── */
img[src*="phone.png"] {
  mix-blend-mode: screen !important;
  transform: rotate(12deg) !important;
}
