.bg-gradient-primary {
  background-color: black !important;
  background-image: linear-gradient(180deg, #000000 10%, #be2222 100%);
  background-size: cover;
}

.bg-white {
  --bs-bg-opacity: 1;
  background-color: black !important;
}

#main-navbar {
  background-color: rgb(0, 0, 0) !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.7);
}

/* ── Document / report buttons ── */
.green-document-buttons,
.blue-document-buttons {
  transition: filter 0.25s ease, transform 0.15s ease;
}

.green-document-buttons:hover,
.blue-document-buttons:hover {
  filter: brightness(85%);
  transform: translateY(-1px);
}

.green-document-buttons:active,
.blue-document-buttons:active {
  filter: brightness(70%);
  transform: translateY(0);
}

.free-printable-document-buttons {
  font-size: 85% !important;
}

@media (max-width: 767px) {
  .free-printable-document-buttons {
    font-size: 100% !important;
  }
}

/* ── Bootstrap card / accordion polish ── */
.card {
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.55);
}

.accordion-item {
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
}

.accordion-button {
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* ── DataTable polish ── */
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_info {
  color: #ccc !important;
  font-size: 14px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  color: #aaa !important;
  border-radius: 5px !important;
  margin: 0 2px;
  transition: background 0.2s ease, color 0.2s ease;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: #333 !important;
  color: #fff !important;
  border-color: #555 !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: linear-gradient(135deg, #be2222, #8b0000) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* ── Modal polish ── */
.modal-content {
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.8);
}

.modal-header,
.modal-footer {
  border-color: rgba(255, 255, 255, 0.08) !important;
}

/* ── Table row hover ── */
#firearmTable tbody tr:hover td {
  background: rgba(255, 255, 255, 0.04);
  transition: background 0.15s ease;
}

/* ── Scrollbar polish ── */
::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

::-webkit-scrollbar-track {
  background: #111;
}

::-webkit-scrollbar-thumb {
  background: #444;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #666;
}

