/* ---------------------------------------
 * CUSTOM THEME COLORS (CSS VARIABLES)
 * ------------------------------------- */
:root {
    --theme-primary: #0B2A4A;
    --theme-primary-light: #1C3F69;
    --theme-primary-dark: #081F36;

    --theme-accent: #145DA0;
    --theme-accent-dark: #0C3B66;

    --theme-secondary: #E3EFFA;
    --theme-gray: #6C757D;

    --theme-form-green: #b2ca8a;
    --theme-form-green-dark: #728352;

    --theme-gold: #D4AF37;
    --theme-gold-dark: #A67C00;


    /* Bootstrap overrides */
    --bs-primary: var(--theme-primary);
    --bs-primary-rgb: 11, 42, 74;
}

/* ---------------------------------------
 * BACKGROUND UTILITIES
 * ------------------------------------- */
.bg-primary-theme {
    background-color: var(--theme-primary) !important;
}
.bg-primary-light {
    background-color: var(--theme-primary-light) !important;
}
.bg-primary-dark {
    background-color: var(--theme-primary-dark) !important;
}

.bg-accent {
    background-color: var(--theme-accent) !important;
}
.bg-accent-dark {
    background-color: var(--theme-accent-dark) !important;
}

.bg-secondary-theme {
    background-color: var(--theme-secondary) !important;
}

.bg-form-green {
    background-color: var(--theme-form-green) !important;
}

.bg-form-green-dark {
    background-color: var(--theme-form-green-dark) !important;
}
.bg-gold {
    background-color: var(--theme-gold) !important;
}
.bg-gold-dark {
    background-color: var(--theme-gold-dark) !important;
}

/* ---------------------------------------
 * TEXT UTILITIES
 * ------------------------------------- */
.text-primary-theme {
    color: var(--theme-primary) !important;
}
.text-primary-light {
    color: var(--theme-primary-light) !important;
}
.text-primary-dark {
    color: var(--theme-primary-dark) !important;
}

.text-accent {
    color: var(--theme-accent) !important;
}
.text-accent-dark {
    color: var(--theme-accent-dark) !important;
}

.text-secondary-theme {
    color: var(--theme-secondary) !important;
}

/* ---------------------------------------
 * BORDER UTILITIES
 * ------------------------------------- */
.border-primary-theme {
    border-color: var(--theme-primary) !important;
}
.border-primary-light {
    border-color: var(--theme-primary-light) !important;
}
.border-primary-dark {
    border-color: var(--theme-primary-dark) !important;
}

.border-accent {
    border-color: var(--theme-accent) !important;
}

/* ---------------------------------------
 * BUTTON STYLES
 * ------------------------------------- */
.btn-primary {
    background-color: var(--theme-primary) !important;
    border-color: var(--theme-primary-dark) !important;
}
.btn-primary:hover {
    background-color: var(--theme-primary-light) !important;
    border-color: var(--theme-primary) !important;
}
.btn-accent {
    background-color: var(--theme-accent) !important;
    color: white !important;
    border-color: var(--theme-accent-dark) !important;
}
.btn-accent:hover {
    background-color: var(--theme-accent-dark) !important;
}

/* Outline buttons */
.btn-outline-primary {
    color: var(--theme-primary) !important;
    border-color: var(--theme-primary) !important;
}
.btn-outline-primary:hover {
    background-color: var(--theme-primary) !important;
    color: white !important;
}
