/*!
 * Yenergy Outdoors Bootstrap Color Overrides
 * Customizes Bootstrap color utilities to match Yenergy brand colors
 */

/* Bootstrap CSS Custom Properties Override */
:root {
    /* Override Bootstrap's primary color with Yenergy green */
    --bs-primary: #2D5A27;
    --bs-primary-rgb: 45, 90, 39;

    /* Override Bootstrap's secondary color with Yenergy brown */
    --bs-secondary: #8B4513;
    --bs-secondary-rgb: 139, 69, 19;

    /* Override Bootstrap's warning color with Yenergy yellow accent */
    --bs-warning: #FFD700;
    --bs-warning-rgb: 255, 215, 0;

    /* Override Bootstrap's success color with a lighter Yenergy green */
    --bs-success: #4A7C59;
    --bs-success-rgb: 74, 124, 89;

    /* Override Bootstrap's dark color */
    --bs-dark: #1a1a1a;
    --bs-dark-rgb: 26, 26, 26;

    /* Override Bootstrap's light color */
    --bs-light: #f8f9fa;
    --bs-light-rgb: 248, 249, 250;
}

/* Background Color Utilities */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

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

.bg-warning {
    background-color: var(--bs-warning) !important;
}

.bg-success {
    background-color: var(--bs-success) !important;
}

/* Text Color Utilities */
.text-primary {
    color: var(--bs-primary) !important;
}

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

.text-warning {
    color: var(--bs-warning) !important;
}

.text-success {
    color: var(--bs-success) !important;
}

/* Border Color Utilities */
.border-primary {
    border-color: var(--bs-primary) !important;
}

.border-secondary {
    border-color: var(--bs-secondary) !important;
}

.border-warning {
    border-color: var(--bs-warning) !important;
}

.border-success {
    border-color: var(--bs-success) !important;
}

/* Button Color Overrides */
.btn-primary {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-primary:hover {
    color: #fff;
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
    box-shadow: 0 0 0 0.2rem rgba(45, 90, 39, 0.5);
}

.btn-primary:active, .btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-outline-primary {
    color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-primary:hover {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-outline-primary:focus, .btn-outline-primary.focus {
    box-shadow: 0 0 0 0.2rem rgba(45, 90, 39, 0.5);
}

.btn-outline-primary:active, .btn-outline-primary.active,
.show > .btn-outline-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-secondary {
    color: #fff;
    background-color: var(--bs-secondary);
    border-color: var(--bs-secondary);
}

.btn-secondary:hover {
    color: #fff;
    background-color: #A0522D;
    border-color: #A0522D;
}

.btn-warning {
    color: var(--bs-dark);
    background-color: var(--bs-warning);
    border-color: var(--bs-warning);
}

.btn-warning:hover {
    color: var(--bs-dark);
    background-color: #F4C430;
    border-color: #F4C430;
}

/* Link Colors */
a {
    color: var(--bs-primary);
}

a:hover {
    color: var(--bs-secondary);
}

/* Alert Colors */
.alert-primary {
    color: #0c2e0a;
    background-color: #d1e7ce;
    border-color: #b8deb3;
}

.alert-secondary {
    color: #362309;
    background-color: #f0e6db;
    border-color: #e7d4c3;
}

.alert-warning {
    color: #665500;
    background-color: #fff7cd;
    border-color: #fff3b3;
}

.alert-success {
    color: #1e3123;
    background-color: #d8eddd;
    border-color: #c3e4ca;
}

/* Badge Colors */
.badge.bg-primary {
    background-color: var(--bs-primary) !important;
}

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

.badge.bg-warning {
    background-color: var(--bs-warning) !important;
    color: var(--bs-dark) !important;
}

.badge.bg-success {
    background-color: var(--bs-success) !important;
}

/* Form Controls Focus */
.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(45, 90, 39, 0.25);
}

.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.form-check-input:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.25rem rgba(45, 90, 39, 0.25);
}

/* Navigation Pills */
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background-color: var(--bs-primary);
}

/* Progress Bars */
.progress-bar {
    background-color: var(--bs-primary);
}

/* Pagination */
.pagination .page-link {
    color: var(--bs-primary);
}

.pagination .page-item.active .page-link {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.pagination .page-link:hover {
    color: var(--bs-secondary);
    background-color: var(--bs-light);
    border-color: var(--bs-border);
}

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

/* List Group */
.list-group-item.active {
    color: #fff;
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

/* Card Enhancements */
.card {
    transition: all 0.2s ease;
}

.card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

/* Custom Yenergy Utilities */
.yenergy-primary {
    color: var(--bs-primary) !important;
}

.yenergy-secondary {
    color: var(--bs-secondary) !important;
}

.yenergy-accent {
    color: var(--bs-warning) !important;
}

.bg-yenergy-primary {
    background-color: var(--bs-primary) !important;
}

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

.bg-yenergy-accent {
    background-color: var(--bs-warning) !important;
}

.border-yenergy-primary {
    border-color: var(--bs-primary) !important;
}

.border-yenergy-secondary {
    border-color: var(--bs-secondary) !important;
}

.border-yenergy-accent {
    border-color: var(--bs-warning) !important;
}

/* Gradient Utilities */
.bg-gradient-primary {
    background: linear-gradient(180deg, var(--bs-primary) 0%, var(--bs-secondary) 100%) !important;
}

.bg-gradient-secondary {
    background: linear-gradient(180deg, var(--bs-secondary) 0%, #A0522D 100%) !important;
}

.bg-gradient-accent {
    background: linear-gradient(180deg, var(--bs-warning) 0%, #F4C430 100%) !important;
}