/* 
 * Color Overrides CSS
 * Quick overrides for existing Bootstrap and custom classes
 * Primary Color: #123524 (Dark Green)
 * Secondary Color: #53B153 (Light Green)
 */

/* Bootstrap Color Overrides */
:root {
    --bs-primary: #123524;
    --bs-primary-rgb: 18, 53, 36;
    --bs-secondary: #53B153;
    --bs-secondary-rgb: 83, 177, 83;
    --bs-success: #53B153;
    --bs-success-rgb: 83, 177, 83;
}

/* Force Override Important Classes */
.text-primary,
.link-primary {
    color: #123524 !important;
}

.text-secondary {
    color: #53B153 !important;
}

.bg-primary {
    background: linear-gradient(135deg, #123524 0%, #53B153 100%) !important;
    color: white !important;
}

.bg-secondary {
    background-color: #53B153 !important;
    color: white !important;
}

.border-primary {
    border-color: #123524 !important;
}

.border-secondary {
    border-color: #53B153 !important;
}

/* Button Overrides */
.btn-primary {
    --bs-btn-bg: linear-gradient(135deg, #123524 0%, #53B153 100%);
    --bs-btn-border-color: #123524;
    --bs-btn-hover-bg: linear-gradient(135deg, #0f2a1f 0%, #4a9f4a 100%);
    --bs-btn-hover-border-color: #0f2a1f;
    --bs-btn-focus-shadow-rgb: 18, 53, 36;
    --bs-btn-active-bg: #0f2a1f;
    --bs-btn-active-border-color: #0f2a1f;
    background: var(--bs-btn-bg) !important;
    border: none !important;
}

.btn-outline-primary {
    --bs-btn-color: #123524;
    --bs-btn-border-color: #123524;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #53B153;
    --bs-btn-hover-border-color: #53B153;
    --bs-btn-focus-shadow-rgb: 18, 53, 36;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #53B153;
    --bs-btn-active-border-color: #53B153;
}

.btn-secondary {
    --bs-btn-bg: #53B153;
    --bs-btn-border-color: #53B153;
    --bs-btn-hover-bg: #4a9f4a;
    --bs-btn-hover-border-color: #4a9f4a;
    --bs-btn-focus-shadow-rgb: 83, 177, 83;
    --bs-btn-active-bg: #4a9f4a;
    --bs-btn-active-border-color: #4a9f4a;
}

.btn-success {
    --bs-btn-bg: #53B153;
    --bs-btn-border-color: #53B153;
    --bs-btn-hover-bg: #4a9f4a;
    --bs-btn-hover-border-color: #4a9f4a;
    --bs-btn-focus-shadow-rgb: 83, 177, 83;
    --bs-btn-active-bg: #4a9f4a;
    --bs-btn-active-border-color: #4a9f4a;
}

/* Form Control Overrides */
.form-control:focus,
.form-select:focus {
    border-color: #53B153 !important;
    box-shadow: 0 0 0 0.25rem rgba(83, 177, 83, 0.25) !important;
}

/* Alert Overrides */
.alert-primary {
    --bs-alert-color: #123524;
    --bs-alert-bg: rgba(18, 53, 36, 0.1);
    --bs-alert-border-color: rgba(18, 53, 36, 0.2);
}

.alert-success {
    --bs-alert-color: #123524;
    --bs-alert-bg: rgba(83, 177, 83, 0.1);
    --bs-alert-border-color: rgba(83, 177, 83, 0.2);
}

/* Badge Overrides */
.badge.bg-primary {
    background: linear-gradient(135deg, #123524 0%, #53B153 100%) !important;
}

.badge.bg-secondary,
.badge.bg-success {
    background-color: #53B153 !important;
}

/* Link Overrides */
.link-primary {
    color: #123524 !important;
}

.link-primary:hover,
.link-primary:focus {
    color: #53B153 !important;
}

.link-secondary {
    color: #53B153 !important;
}

.link-secondary:hover,
.link-secondary:focus {
    color: #4a9f4a !important;
}

/* Progress Bar Overrides */
.progress-bar {
    background: linear-gradient(135deg, #123524 0%, #53B153 100%) !important;
}

.progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent) !important;
    background-size: 1rem 1rem !important;
}

/* Pagination Overrides */
.page-link {
    color: #123524 !important;
}

.page-link:hover {
    color: #fff !important;
    background-color: #53B153 !important;
    border-color: #53B153 !important;
}

.page-item.active .page-link {
    background: linear-gradient(135deg, #123524 0%, #53B153 100%) !important;
    border-color: #123524 !important;
}

/* Dropdown Overrides */
.dropdown-item:hover,
.dropdown-item:focus {
    background-color: rgba(83, 177, 83, 0.1) !important;
    color: #123524 !important;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: #53B153 !important;
    color: #fff !important;
}

/* Nav Overrides */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: #53B153 !important;
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    border-color: #53B153 !important;
}

.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: #123524 !important;
    border-color: #53B153 !important;
}

/* Table Overrides */
.table-primary {
    --bs-table-color: #123524;
    --bs-table-bg: rgba(18, 53, 36, 0.1);
}

.table-success {
    --bs-table-color: #123524;
    --bs-table-bg: rgba(83, 177, 83, 0.1);
}

/* Accordion Overrides */
.accordion-button:not(.collapsed) {
    color: #123524 !important;
    background-color: rgba(83, 177, 83, 0.1) !important;
}

.accordion-button:focus {
    border-color: #53B153 !important;
    box-shadow: 0 0 0 0.25rem rgba(83, 177, 83, 0.25) !important;
}

/* Offcanvas Overrides */
.offcanvas-header .btn-close {
    filter: none !important;
}

/* Toast Overrides */
.toast-header {
    color: #123524 !important;
}

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

.spinner-border.text-secondary,
.spinner-border.text-success {
    color: #53B153 !important;
}

/* Custom Website Classes */
.hero-section {
    background: linear-gradient(135deg, #123524 0%, #53B153 100%) !important;
}

.navbar-brand {
    color: #123524 !important;
}

.footer {
    background-color: #123524 !important;
}

.price-tag {
    background-color: #53B153 !important;
}

/* Notification Specific */
.notification-item.unread .card {
    border-left-color: #53B153 !important;
}

.notification-title {
    color: #123524 !important;
}

.nav-link .fas.fa-bell {
    color: #123524 !important;
}

.nav-link:hover .fas.fa-bell {
    color: #53B153 !important;
}

/* SweetAlert Overrides */
.swal2-confirm {
    background: linear-gradient(135deg, #123524 0%, #53B153 100%) !important;
}

.swal2-cancel {
    background-color: #6c757d !important;
}

/* Loading and Animation States */
.btn-loading::after {
    border-top-color: currentColor !important;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .btn {
        font-size: 0.9rem;
        padding: 0.5rem 1rem;
    }
}

@media (max-width: 576px) {
    .btn {
        font-size: 0.85rem;
        padding: 0.4rem 0.8rem;
    }
}

/* Print Styles */
@media print {
    .bg-primary,
    .bg-secondary,
    .bg-success {
        background: #f8f9fa !important;
        color: #000 !important;
        border: 1px solid #dee2e6 !important;
    }
}
