/* CSS Document */




/* custom-bootstrap-colors.css */

:root {
  /* ===================================================================================
     Base Colors (Refined for "Rough & Gritty")
     =================================================================================== */

  /* Primary: Deep Charcoal Green (Imparts strength, gravity, and a metallic/rugged feel) */
  --bs-primary: #1F2622;
  --bs-primary-rgb: 31 38 34;

  /* Secondary: Robust Burnt Orange/Brown (Strong, active, reminiscent of rust or weathered wood/leather) */
  --bs-secondary: #5e4f47;
  --bs-secondary-rgb: 94 79 71;

  /* Light: Creamy Off-White (Keeps the warmth, provides excellent contrast for text) */
  --bs-light: #f1f1ee;
  --bs-light-rgb: 241 241 238;

  /* Info: Deep Slate Blue (Industrial, serious, like worn metal or deep rock) */
  --bs-info: #739aae;
  --bs-info-rgb: 115 154 174;

  /* Warning: Bold Gold/Orange (Stands out for alerts, but still feels earthy and strong) */
  --bs-warning: #E89F0C;
  --bs-warning-rgb: 232 159 12;

  /* Success: Deep Olive Green (Strong, organic, and reassuring) */
  --bs-success: #73a572;
  --bs-success-rgb: 115 165 114;

  /* Danger: Robust Brick Red (Serious, impactful, like dried blood or deep rust) */
  --bs-danger: #B83B3B;
  --bs-danger-rgb: 184 59 59;

  /* Dark: Very Dark Greenish Gray (For body text, ensuring high contrast and fitting the palette) */
  --bs-dark: #1D2321;
  --bs-dark-rgb: 29 35 33;


  /* ===================================================================================
     Derived Colors (Subtle, Dark, Darker - based on rules)
     =================================================================================== */

  /* Primary Variants */
  --bs-primary-subtle: #4F5C53;
  --bs-primary-dark: #0F1311; 

  /* Secondary: Deeper, Muted Brown/Stone (Strong, active, like worn leather or dark stone) */
  --bs-secondary-subtle: #746964;
  --bs-secondary-dark: #3c322d;
  
  /* Light Variants */
  --bs-light-subtle: #FEFCF4;
  --bs-light-dark: #CDC9B4;

  /* Info Variants */
  --bs-info-subtle: #a2c5d7;
  --bs-info-dark: #496676;

  /* Warning Variants */
  --bs-warning-subtle: #F1C97A;
  --bs-warning-dark: #B57B0A;

  /* Success Variants */
  --bs-success-subtle: #9bbe9a;
  --bs-success-dark: #5f815f;

  /* Danger Variants */
  --bs-danger-subtle: #D47D7D;
  --bs-danger-dark: #822A2A;
  --bs-darker: #0E1110;

  /* Link Color (Keeping your original link color for its distinctness on light backgrounds) */
  --bs-link: #368eb1;
  --bs-link-rgb: 54 142 177;
  --bs-list-group-color: #4387ca;
}

/*
  Override default Bootstrap colors and styles.

  This CSS is organized by Bootstrap's primary color categories
  (primary, secondary, success, info, warning, dark, light)
  and then by the element type being styled (background, text, border, button).

  Within each category, specific states (hover, active, visited, outline)
  are grouped for better readability.
*/

/* ==========================================================================
   Primary Color Overrides
   ========================================================================== */

/* Backgrounds */
.alert-primary,
.bg-primary {
  background-color: var(--bs-primary) !important;
}

.bg-primary-subtle {
  background-color: var(--bs-primary-subtle) !important;
}

/* Text */
.text-primary {
  color: var(--bs-primary) !important;
}

/* Borders */
.border-primary {
  border-color: var(--bs-primary) !important;
}

.border-primary-subtle {
  border-color: var(--bs-primary-subtle) !important;
}

/* Buttons - Solid */
.btn-primary {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
	color: white;
}

.btn-primary:hover,
.btn-primary:focus{
  background-color: var(--bs-primary-dark); /* Slightly darker on hover */
  border-color: var(--bs-primary-dark);
	color: white;
}

/* Buttons - Outline */
.alert-outline-primary,
.btn-outline-primary {
  color: var(--bs-primary);
  border-color: var(--bs-primary);
}

.btn-outline-primary:hover:not(select) {
  background-color: var(--bs-primary-subtle);
  border-color: var(--bs-primary-subtle);
  color: var(--bs-primary-subtle);
}

.btn-outline-primary:active {
  background-color: var(--bs-primary) !important;
  border-color: var(--bs-primary) !important;
  color: var(--bs-light) !important;
}

/* ==========================================================================
   Secondary Color Overrides
   ========================================================================== */

/* Backgrounds */
.alert-secondary,
.bg-secondary {
  background-color: var(--bs-secondary) !important;
}

.bg-secondary-subtle {
  background-color: var(--bs-secondary-subtle) !important;
}

/* Text */
.text-secondary {
  color: var(--bs-secondary) !important;
}

/* Borders */
.border-secondary {
  border-color: var(--bs-secondary) !important;
}

/* Buttons - Solid */
.btn-secondary {
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}

.btn-secondary:hover,
.btn-secondary:focus{
  background-color: var(--bs-secondary-dark); /* Slightly darker on hover */
  border-color: var(--bs-secondary-dark);
}

/* Buttons - Outline */
.alert-outline-secondary,
.btn-outline-secondary {
  color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus{
  background-color: var(--bs-primary-subtle);
  border-color: var(--bs-primary-subtle);
  color: var(--bs-gray-500);
}

.btn-outline-secondary:active {
  background-color: var(--bs-primary) !important; /* Inconsistent with other outlines */
  border-color: var(--bs-primary) !important; /* Inconsistent with other outlines */
  color: #fff; /* Inconsistent with other outlines */
}

/* ==========================================================================
   Success Color Overrides
   ========================================================================== */

/* Backgrounds */
.alert-success,
.bg-success {
  background-color: var(--bs-success) !important;
}

.bg-success-subtle {
  background-color: var(--bs-success-subtle) !important;
}

/* ==========================================================================
   Danger Color Overrides
   ========================================================================== */

/* Backgrounds */
.alert-danger,
.bg-danger {
  background-color: var(--bs-danger) !important;
}

.bg-danger-subtle {
  background-color: var(--bs-danger-subtle) !important;
}

/* ==========================================================================
   Info Color Overrides
   ========================================================================== */

/* Backgrounds */
.alert-info,
.bg-info {
  background-color: var(--bs-info) !important;
}

.alert-info-small {
  font-size: 90%;
  background-color: var(--bs-info) !important;
  margin: 2px 0 !important;
  padding: 10px;
}
.alert-info-small .btn-close {
  font-size: 90%;
  padding: 10px;
}

.bg-info-subtle {
  background-color: var(--bs-info-subtle) !important;
}

/* Text */
.text-info {
  color: var(--bs-info) !important;
}

/* Borders */
.border-info {
  border-color: var(--bs-info) !important;
}

/* Buttons - Solid */
.btn-info {
  background-color: var(--bs-info);
  border-color: var(--bs-info);
  color: var(--bs-dark);
}

.btn-info:hover,
.btn-info:focus{
  background-color: var(--bs-info-dark);
  border-color: var(--bs-info-dark);
}

/* Buttons - Outline */
.alert-outline-info,
.btn-outline-info {
  color: var(--bs-info);
  border-color: var(--bs-info);
}

.btn-outline-info:hover,
.btn-outline-info:focus{
  background-color: var(--bs-info-subtle);
  border-color: var(--bs-info-subtle);
  color: var(--bs-info-subtle);
}

/* ==========================================================================
   Warning Color Overrides
   ========================================================================== */

/* Backgrounds */
.alert-warning,
.bg-warning,
.btn-warning {
  background-color: var(--bs-warning) !important;
  color: var(--bs-white);
}

.bg-warning-subtle {
  /* No direct override found in your code */
}

/* Text */
.text-warning {
  color: var(--bs-warning) !important;
}

/* Borders */
.border-warning {
  border-color: var(--bs-warning) !important;
}

/* Buttons - Solid (Covered in Backgrounds) */

/* Buttons - Outline */
.alert-outline-warning,
.btn-outline-warning {
  color: var(--bs-warning-dark);
  border-color: var(--bs-warning);
  border-width: medium;
}

.btn-outline-warning:hover,
.btn-outline-warning:focus{
  background-color: var(--bs-warning);
  border-color: var(--bs-warning);
  color: var(--bs-warning);
}

.btn-warning:hover,
.btn-warning:focus{
  background-color: var(--bs-warning-dark);
  border-color: var(--bs-warning-dark);
}

/* ==========================================================================
   Dark Color Overrides
   ========================================================================== */

/* Backgrounds */
.bg-dark {
  background-color: var(--bs-dark) !important;
}

.bg-darker {
  background-color: var(--bs-darker) !important;
}

/* Text */
.text-dark {
  color: var(--bs-dark) !important;
}

.text-darker {
  color: var(--bs-darker) !important;
}

/* Borders */
.border-dark {
  border-color: var(--bs-dark) !important;
}

/* Buttons - Solid */
.alert-darker,
.btn-darker {
  background-color: var(--bs-darker);
  border-color: var(--bs-darker);
}

.btn-dark:hover,
.btn-dark:focus{
  background-color: #554b2a; /* Specific color, consider using a var(--bs-dark-*) if available */
  border-color: #554b2a; /* Specific color, consider using a var(--bs-dark-*) if available */
}

/* Buttons - Outline */
.alert-outline-dark,
.btn-outline-dark {
  color: var(--bs-dark);
  border-color: var(--bs-dark);
}

.btn-outline-dark:hover,
.btn-outline-dark:focus{
  background-color: var(--bs-darker);
  border-color: var(--bs-light);
  color: var(--bs-light);
}

/* ==========================================================================
   Light Color Overrides
   ========================================================================== */

/* Backgrounds */
.bg-light {
  background-color: var(--bs-light) !important;
}

/* Text */
.text-light,
.link-light {
  color: var(--bs-light) !important;
}

/* Borders */
.border-light {
  border-color: var(--bs-light) !important;
}

/* Buttons - Solid */
.alert-light,
.btn-light {
  background-color: var(--bs-light);
  border-color: var(--bs-light);
}

.btn-light:hover,
.btn-light:focus{
  background-color: #c2b59f; /* Specific color, consider using a var(--bs-light-*) if available */
  border-color: #c2b59f; /* Specific color, consider using a var(--bs-light-*) if available */
}

/* Buttons - Outline */
.alert-outline-light,
.btn-outline-light {
  color: var(--bs-light);
  border-color: var(--bs-light);
}

.btn-outline-light:hover,
.btn-outline-light:focus{
  background-color: var(--bs-info); /* Inconsistent hover color */
  border-color: var(--bs-info); /* Inconsistent hover color */
  color: var(--bs-info); /* Inconsistent hover color */
}

/* ==========================================================================
   Muted Color Overrides
   ========================================================================== */

/* Text */
.text-muted {
  color: var(--bs-gray-500) !important;
}

/* ==========================================================================
   Other Element Overrides
   ========================================================================== */

/* Select Button Hover Fix */
select.btn:hover,
select.btn:focus{
  background: unset;
  border-color: unset;
  color: unset;
}

/* File Input Button */
input[type=file]::file-selector-button {
  background-color: var(--bs-secondary-subtle);
  color: var(--bs-light);
  border: 1px solid var(--bs-secondary);
  padding: 0.3em 0.7em;
  border-radius: 0.3em;
  cursor: pointer;
}

/* List Group Items */
.list-group-item {
  color: var(--bs-list-group-color) !important;
}

/* Navbar Links */
.navbar-nav .nav-link {
  color: var(--bs-primary);
}

.navbar-nav .nav-link:visited {
  color: var(--bs-primary);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:hover { /* Duplicate selector */
  color: var(--bs-link-hover-color);
}

.navbar-nav .nav-link:active {
  color: var(--bs-link-hover-color);
}


/* ==========================================================================
   Table Overrides
   ========================================================================== */

.table-primary,
.table-primary tr,
.table-primary td {
  background-color: var(--bs-secondary-bg);
  --bs-table-bg: var(--bs-secondary-bg);
  font-size: 110%;
}

.table-primary th:first-child {
  border-top-left-radius: 10px;
}

.table-primary th:last-child {
  border-top-right-radius: 10px;
}

.fs-7 {
  font-size: .75rem !important;
}