/* ===== Base Styles ===== */
body {
    background-color: #FFF;
    color: #212529;
    line-height: 1.6;
}

/* Header adjustments for fixed navbar */
main {
    padding-top: 20px;
    min-height: calc(100vh - 200px); /* Ensure footer stays at bottom */
}

/* ===== Typography ===== */
h1, h2, h3, h4, h5, h6 {
    color: var(--cfce-primary);
    margin-bottom: 1rem;
}

.lead {
    font-weight: 400;
}

/* ===== Cards ===== */
.card {
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.card:hover {
}

.card-header {
    font-weight: 600;
}

/* ===== Buttons ===== */
.btn {
    padding: 0.5rem 1.25rem;
    font-weight: 500;
    border-radius: 0.375rem;
}

.btn-lg {
    padding: 0.75rem 1.5rem;
}

/* ===== Forms ===== */
.form-control, .form-select {
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
}

.form-label {
    font-weight: 500;
    margin-bottom: 0.25rem;
}

/* ===== Navigation ===== */
.navbar {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.nav-link {
    font-weight: 500;
    padding: 0.5rem 1rem;
}

/* ===== Alert Messages ===== */
.alert {
    border-radius: 0.375rem;
    border: none;
}

/* ===== Footer ===== */
footer {
    background-color: var(--cfce-primary);
    color:#FFFFFF;
}
footer a, footer p, footer h2, footer h5, footer h3, footer h4, footer .text-muted,.navbar-expand-lg .navbar-nav .nav-link {
    color:#FFFFFF !important;
}
footer a {
    transition: color 0.2s;
    color:#FFFFFF;
}

footer a:hover {
    color: white !important;
}
body .bg-dark,body .bg-cfce-primary, .bg-primary {
    background-color:#357897 !important;
    color:#FFFFFF;
}
.btn-primary {
    background-color:#b73004 !important;
    border:none;
}
.bg-primary h4, .bg-primary h2, .bg-primary h5, .bg-primary a, .bg-primary p, .bg-primary h3 {
    color:#FFFFFF !important;
}
.bg-info {
    background-color: #8B7250 !important;
}
.bg-info h4, .bg-info h2, .bg-info h3, .bg-info h5 {
    color:#FFFFFF;
    margin-bottom:0;
}
    /* ===== Utility Classes ===== */
.rounded-top-lg {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}

.rounded-bottom-lg {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

/* ===== Dark Mode Overrides ===== */
[data-bs-theme="dark"] body {
    background-color: #212529;
    color: #f8f9fa;
}

[data-bs-theme="dark"] .card {
    background-color: #2c3034;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.3);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background-color: #343a40;
    border-color: #495057;
    color: #f8f9fa;
}

/* ===== Print Styles ===== */
@media print {
    .no-print, .navbar, footer {
        display: none !important;
    }

    body {
        padding: 0;
        background: white;
        color: black;
    }

    .card {
        border: 1px solid #ddd !important;
        box-shadow: none !important;
    }
}