/* Custom Bootstrap Primary Color Override */
:root {
    --bs-primary: #00a2a0 !important;
    --bs-primary-rgb: 0, 162, 160 !important;
    --bs-primary-text-emphasis: #006b69 !important;
    --bs-primary-bg-subtle: #ccf2f1 !important;
    --bs-primary-border-subtle: #99e5e3 !important;
}

/* Override Bootstrap primary color classes */
.btn-primary {
    --bs-btn-color: #fff !important;
    --bs-btn-bg: #00a2a0 !important;
    --bs-btn-border-color: #00a2a0 !important;
    --bs-btn-hover-color: #fff !important;
    --bs-btn-hover-bg: #008a88 !important;
    --bs-btn-hover-border-color: #007a78 !important;
    --bs-btn-focus-shadow-rgb: 0, 162, 160 !important;
    --bs-btn-active-color: #fff !important;
    --bs-btn-active-bg: #006b69 !important;
    --bs-btn-active-border-color: #005a58 !important;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2) !important;
    --bs-btn-disabled-color: #fff !important;
    --bs-btn-disabled-bg: #00a2a0 !important;
    --bs-btn-disabled-border-color: #00a2a0 !important;
    color: #fff !important;
    background-color: #00a2a0 !important;
    border-color: #00a2a0 !important;
    transition: all 0.2s ease-in-out !important;
}

.btn-primary:hover {
    color: #fff !important;
    background-color: #008a88 !important;
    border-color: #007a78 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0, 162, 160, 0.3) !important;
}

.btn-primary:active {
    color: #fff !important;
    background-color: #006b69 !important;
    border-color: #005a58 !important;
    transform: translateY(0) !important;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2) !important;
}

.btn-primary:focus {
    color: #fff !important;
    background-color: #00a2a0 !important;
    border-color: #00a2a0 !important;
    box-shadow: 0 0 0 0.25rem rgba(0, 162, 160, 0.25) !important;
}

.btn-outline-primary {
    --bs-btn-color: #00a2a0 !important;
    --bs-btn-border-color: #00a2a0 !important;
    --bs-btn-hover-color: #fff !important;
    --bs-btn-hover-bg: #00a2a0 !important;
    --bs-btn-hover-border-color: #00a2a0 !important;
    --bs-btn-focus-shadow-rgb: 0, 162, 160 !important;
    --bs-btn-active-color: #fff !important;
    --bs-btn-active-bg: #008a88 !important;
    --bs-btn-active-border-color: #007a78 !important;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2) !important;
    --bs-btn-disabled-color: #00a2a0 !important;
    --bs-btn-disabled-bg: transparent !important;
    --bs-btn-disabled-border-color: #00a2a0 !important;
    --bs-gradient: none !important;
    color: #00a2a0 !important;
    border-color: #00a2a0 !important;
    transition: all 0.2s ease-in-out !important;
}

.btn-outline-primary:hover {
    color: #fff !important;
    background-color: #00a2a0 !important;
    border-color: #00a2a0 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(0, 162, 160, 0.3) !important;
}

.btn-outline-primary:active {
    color: #fff !important;
    background-color: #008a88 !important;
    border-color: #007a78 !important;
    transform: translateY(0) !important;
    box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.2) !important;
}

.btn-outline-primary:focus {
    color: #00a2a0 !important;
    background-color: transparent !important;
    border-color: #00a2a0 !important;
    box-shadow: 0 0 0 0.25rem rgba(0, 162, 160, 0.25) !important;
}

.text-primary {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
}

.bg-primary {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
}

.border-primary {
    --bs-border-opacity: 1;
    border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
}

/* Form controls focus */
.form-control:focus,
.form-select:focus {
    border-color: #00a2a0;
    box-shadow: 0 0 0 0.25rem rgba(0, 162, 160, 0.25);
}

/* Spinner */
.spinner-border.text-primary {
    color: #00a2a0 !important;
}

/* Links */
a {
    color: #00a2a0;
}

a:hover {
    color: #008a88;
}

/* Nav links */
.nav-link {
    color: #00a2a0;
}

.nav-link:hover,
.nav-link:focus {
    color: #008a88;
}

.nav-link.active {
    color: #00a2a0;
}

/* Pagination */
.page-link {
    color: #00a2a0;
}

.page-link:hover {
    color: #008a88;
}

.page-item.active .page-link {
    background-color: #00a2a0;
    border-color: #00a2a0;
}

/* Progress bars */
.progress-bar {
    background-color: #00a2a0;
}

/* Alerts */
.alert-primary {
    --bs-alert-color: #006b69;
    --bs-alert-bg: #ccf2f1;
    --bs-alert-border-color: #99e5e3;
}

/* Badges */
.badge.bg-primary {
    background-color: #00a2a0 !important;
}

/* List group */
.list-group-item-primary {
    color: #006b69;
    background-color: #ccf2f1;
}

.list-group-item-primary.list-group-item-action:hover,
.list-group-item-primary.list-group-item-action:focus {
    color: #006b69;
    background-color: #b8e6e4;
}

.list-group-item-primary.list-group-item-action.active {
    color: #fff;
    background-color: #00a2a0;
    border-color: #00a2a0;
}

/* Additional button effects */
.btn {
    transition: all 0.2s ease-in-out !important;
}

.btn:hover {
    transform: translateY(-1px) !important;
}

.btn:active {
    transform: translateY(0) !important;
}

/* Force override any remaining blue colors */
button.btn-primary,
input.btn-primary,
.btn-primary {
    background-color: #00a2a0 !important;
    border-color: #00a2a0 !important;
    color: #fff !important;
}

button.btn-primary:hover,
input.btn-primary:hover,
.btn-primary:hover {
    background-color: #008a88 !important;
    border-color: #007a78 !important;
    color: #fff !important;
}

button.btn-primary:active,
input.btn-primary:active,
.btn-primary:active,
button.btn-primary:focus,
input.btn-primary:focus,
.btn-primary:focus {
    background-color: #006b69 !important;
    border-color: #005a58 !important;
    color: #fff !important;
}

.btn-secondary:hover {
    box-shadow: 0 4px 8px rgba(108, 117, 125, 0.3);
}

.btn-success:hover {
    box-shadow: 0 4px 8px rgba(25, 135, 84, 0.3);
}

.btn-danger:hover {
    box-shadow: 0 4px 8px rgba(220, 53, 69, 0.3);
}

.btn-warning:hover {
    box-shadow: 0 4px 8px rgba(255, 193, 7, 0.3);
}

.btn-info:hover {
    box-shadow: 0 4px 8px rgba(13, 202, 240, 0.3);
}
