:root {
    /* Core Brand Variables */
    --brand-primary: #043927;
    --brand-secondary: #191970;
    --brand-accent: #d4af37;
    --brand-bg: #fffff0;
    --brand-text: #000000;

    /* Bootstrap 5 Variable Overrides - CRITICAL for Admin Selection */
    --bs-primary: #043927;
    --bs-secondary: #191970;
    --bs-body-bg: #fffff0;
    --bs-body-color: #000000;
    
    --bs-primary-rgb: 4, 57, 39;
    --bs-secondary-rgb: 25, 25, 112;
    
    --bs-link-color: #043927;
    --bs-link-hover-color: #d4af37;
    
    /* Custom Variables */
    --primary-color: #043927;
    --secondary-color: #191970;
    --accent-color: #d4af37;
    --bg-color: #fffff0;
    --text-color: #000000;
    
    --primary-rgb: 4, 57, 39;
    --secondary-rgb: 25, 25, 112;
    --accent-rgb: 212, 175, 55;
}

body {
    background-color: var(--bs-body-bg) !important;
    color: var(--bs-body-color) !important;
    font-family: 'Inter', sans-serif;
}

/* Typography Overrides */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--bs-primary) !important;
    font-weight: 700;
}

/* Link Overrides */
a {
    color: var(--bs-primary);
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

a:hover {
    color: var(--brand-accent) !important;
}

/* Background Utilities - Force Override */
.bg-primary { background-color: var(--bs-primary) !important; color: #fff !important; }
.bg-secondary { background-color: var(--bs-secondary) !important; color: #fff !important; }
.bg-accent { background-color: var(--brand-accent) !important; color: var(--bs-primary) !important; }
.bg-light { background-color: #f8f9fa !important; }
.bg-dark { background-color: var(--bs-primary) !important; color: #fff !important; }

/* Text Utilities - Force Override */
.text-primary { color: var(--bs-primary) !important; }
.text-secondary { color: var(--bs-secondary) !important; }
.text-accent { color: var(--brand-accent) !important; }
.text-muted { color: #6c757d !important; }
.text-white { color: #ffffff !important; }

/* Button Overrides */
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-secondary);
    --bs-btn-hover-border-color: var(--bs-secondary);
    --bs-btn-active-bg: var(--bs-secondary);
    --bs-btn-active-border-color: var(--bs-secondary);
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    padding: 10px 25px;
    font-weight: 600;
    transition: all 0.3s;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.btn-secondary {
    --bs-btn-bg: var(--bs-secondary);
    --bs-btn-border-color: var(--bs-secondary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    background-color: var(--bs-secondary) !important;
    border-color: var(--bs-secondary) !important;
    color: #fff !important;
}

.btn-secondary:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-accent {
    background-color: var(--brand-accent) !important;
    border-color: var(--brand-accent) !important;
    color: var(--bs-primary) !important;
    font-weight: 700;
}

.btn-accent:hover {
    filter: brightness(0.95);
    color: var(--bs-primary) !important;
}

.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-outline-primary:hover {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
}

/* Form Controls */
.form-control, .form-select {
    border: 1px solid #ced4da;
    padding: 12px;
}

.form-control:focus, .form-select:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.15) !important;
}

/* Navbar Overrides */
.navbar-light .navbar-nav .nav-link {
    color: var(--bs-primary) !important;
    font-weight: 500;
    opacity: 0.85;
}

.navbar-light .navbar-nav .nav-link:hover {
    color: var(--brand-accent) !important;
    opacity: 1;
}

.navbar-light .navbar-nav .nav-link.active {
    color: var(--bs-secondary) !important;
    font-weight: 800;
    opacity: 1;
    border-bottom: 2px solid var(--brand-accent);
}

/* Footer & Footer Links - Specific requested fix */
/* Footer & Footer Links - Specific requested fix */
/* Footer background removed to allow public_footer.php inline styles/classes to control it */

footer h5, footer h6 {
    color: var(--bs-primary) !important;
}

footer p, footer li {
    color: var(--bs-body-color);
    opacity: 0.8;
}

.footer-link {
    color: var(--bs-secondary) !important;
    font-weight: 500;
    transition: all 0.2s;
    text-decoration: none;
}

.footer-link:hover {
    color: var(--brand-accent) !important;
    text-decoration: underline;
    padding-left: 5px; /* Slight movement on hover */
}

/* Utilities */
.hover-lift { transition: transform 0.3s; }
.hover-lift:hover { transform: translateY(-5px); }
.shadow-custom { box-shadow: 0 10px 30px rgba(0,0,0,0.08); }
