/* ===========================
   Bootstrap Full Theme Override
   =========================== */

/* --- Global Color Variables --- */
:root {
    /* Primary - Deep Bluish Gray */
    --bs-primary: #34495e;
    --bs-primary-rgb: 52, 73, 94;

    /* Secondary - Softer Gray */
    --bs-secondary: #7f8c8d;
    --bs-secondary-rgb: 127, 140, 141;

    /* Success - Muted Green */
    --bs-success: #27ae60;
    --bs-success-rgb: 39, 174, 96;

    /* Info - Cool Cyan */
    --bs-info: #16a085;
    --bs-info-rgb: 22, 160, 133;

    /* Warning - Muted Amber */
    --bs-warning: #f39c12;
    --bs-warning-rgb: 243, 156, 18;

    /* Danger - Soft Red */
    --bs-danger: #c0392b;
    --bs-danger-rgb: 192, 57, 43;

    /* Light & Dark */
    --bs-light: #ecf0f1;
    --bs-light-rgb: 236, 240, 241;

    --bs-dark: #2c3e50;
    --bs-dark-rgb: 44, 62, 80;

    /* Links */
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: #2c3e50;

    /* Focus Ring */
    --bs-focus-ring-color: rgba(var(--bs-primary-rgb), 0.25);

    /* Components */
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* --- Text Colors --- */
.text-primary { color: var(--bs-primary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-success { color: var(--bs-success) !important; }
.text-info { color: var(--bs-info) !important; }
.text-warning { color: var(--bs-warning) !important; }
.text-danger { color: var(--bs-danger) !important; }
.text-light { color: var(--bs-light) !important; }
.text-dark { color: var(--bs-dark) !important; }

/* --- Background Colors --- */
.bg-primary { background-color: var(--bs-primary) !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; }
.bg-success { background-color: var(--bs-success) !important; }
.bg-info { background-color: var(--bs-info) !important; }
.bg-warning { background-color: var(--bs-warning) !important; }
.bg-danger { background-color: var(--bs-danger) !important; }
.bg-light { background-color: var(--bs-light) !important; }
.bg-dark { background-color: var(--bs-dark) !important; }

/* --- Border Colors --- */
.border-primary { border-color: var(--bs-primary) !important; }
.border-secondary { border-color: var(--bs-secondary) !important; }
.border-success { border-color: var(--bs-success) !important; }
.border-info { border-color: var(--bs-info) !important; }
.border-warning { border-color: var(--bs-warning) !important; }
.border-danger { border-color: var(--bs-danger) !important; }
.border-light { border-color: var(--bs-light) !important; }
.border-dark { border-color: var(--bs-dark) !important; }

/* --- Buttons --- */
.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.btn-primary:hover {
    background-color: #2c3e50;
    border-color: #2c3e50;
}
.btn-primary:focus, .btn-primary:active {
    background-color: #2c3e50;
    border-color: #2c3e50;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.4);
}
.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    color: white;
}

/* --- Pagination --- */
.page-link {
    color: var(--bs-primary);
}
.page-link:hover {
    color: #2c3e50;
}
.page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* --- Alerts --- */
.alert-primary {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
    color: var(--bs-primary);
    border-color: rgba(var(--bs-primary-rgb), 0.3);
}

/* --- Form Focus States --- */
.form-control:focus, .form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
}

/* --- Navbar --- */
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link.show {
    color: var(--bs-primary);
}
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show {
    color: var(--bs-primary);
}
