/* Bootstrap theme overrides */
:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
    --bs-primary: #c0222e;
    --bs-primary-rgb: 192, 34, 46;
    --bs-link-color: #c0222e;
    --bs-link-hover-color: #a51d27;
}

/* Primary utilities + buttons */
.bg-primary {
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

/* Bootstrap sometimes bakes colors into component rules; enforce for primary buttons */
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: #a51d27;
    --bs-btn-hover-border-color: #a51d27;
    --bs-btn-active-bg: #8f1821;
    --bs-btn-active-border-color: #8f1821;
}

.btn-primary,
.btn-primary:focus,
.btn-primary:hover {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn-primary:hover {
    background-color: #a51d27 !important;
    border-color: #a51d27 !important;
}

.btn-primary:active,
.btn-primary.active {
    background-color: #8f1821 !important;
    border-color: #8f1821 !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);
    --bs-btn-active-bg: #8f1821;
    --bs-btn-active-border-color: #8f1821;
}

.btn-link {
    color: var(--bs-primary) !important;
}

.btn-link:hover,
.btn-link:focus {
    color: #a51d27 !important;
}

/* White header + dark text */
.navbar.bg-white .navbar-brand,
.navbar.bg-white .navbar-brand:focus,
.navbar.bg-white .navbar-brand:hover,
.navbar.bg-white .nav-link {
    color: #212529;
}

.navbar.bg-white .nav-link:hover,
.navbar.bg-white .nav-link:focus,
.navbar.bg-white .nav-link.active,
.navbar.bg-white .nav-link.show {
    color: var(--bs-primary) !important;
}

.navbar.bg-white .navbar-toggler {
    border-color: rgba(0, 0, 0, 0.15);
}

/* Side menus (member/admin) - active item highlight */
.list-group-item.active {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
    color: var(--bs-primary) !important;
}

/* Dropdown active highlight */
.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--bs-primary) !important;
}

/* Nav pills active highlight (if used anywhere) */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: var(--bs-primary) !important;
}

/* Pagination active highlight (if used anywhere) */
.page-item.active .page-link {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.page-link {
    color: var(--bs-primary);
}

.page-link:hover,
.page-link:focus {
    color: #a51d27;
}

/* Form controls (checkbox/radio) */
.form-check-input:checked {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}
