:root {
    --nrg-blue: #0875c9;
    --nrg-blue-dark: #075f9f;
    --nrg-blue-soft: #e8f4fb;
    --nrg-green: #0b563a;
    --nrg-green-dark: #08452f;
    --nrg-orange: #f28c00;
    --bs-primary: var(--nrg-blue);
    --bs-primary-rgb: 8, 117, 201;
    --bs-link-color: var(--nrg-blue);
    --bs-link-hover-color: var(--nrg-blue-dark);
}

.btn-primary {
    --bs-btn-bg: var(--nrg-blue);
    --bs-btn-border-color: var(--nrg-blue);
    --bs-btn-hover-bg: var(--nrg-blue-dark);
    --bs-btn-hover-border-color: var(--nrg-blue-dark);
    --bs-btn-active-bg: var(--nrg-blue-dark);
    --bs-btn-active-border-color: var(--nrg-blue-dark);
    background-color: var(--nrg-blue) !important;
    border-color: var(--nrg-blue) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--nrg-blue-dark) !important;
    border-color: var(--nrg-blue-dark) !important;
}

.btn-outline-primary {
    --bs-btn-color: var(--nrg-blue);
    --bs-btn-border-color: var(--nrg-blue);
    --bs-btn-hover-bg: var(--nrg-blue);
    --bs-btn-hover-border-color: var(--nrg-blue);
    --bs-btn-active-bg: var(--nrg-blue-dark);
    --bs-btn-active-border-color: var(--nrg-blue-dark);
}

.text-primary {
    color: var(--nrg-blue) !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--nrg-blue) !important;
    box-shadow: 0 0 0 0.2rem rgba(8, 117, 201, 0.16) !important;
}

.form-check-input:checked {
    background-color: var(--nrg-blue);
    border-color: var(--nrg-blue);
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--nrg-blue) !important;
    border-color: var(--nrg-blue) !important;
}

/* Admin sign-in and password screens */
.aiz-main-wrapper .card {
    border: 1px solid #e5edf3;
    border-radius: 12px;
    box-shadow: 0 16px 44px rgba(8, 47, 73, 0.16);
}

.aiz-main-wrapper .form-control {
    background-color: #fff !important;
    border-color: #d7e1e8 !important;
}

.aiz-main-wrapper .form-control:focus {
    border-color: var(--nrg-blue) !important;
    box-shadow: 0 0 0 3px rgba(8, 117, 201, 0.14) !important;
}

.aiz-main-wrapper a:not(.btn) {
    color: var(--nrg-blue);
}

/* Admin dashboard */
body[data-layout-mode] .navbar-custom {
    background-color: var(--nrg-blue) !important;
}

#sidebar-menu #side-menu > li > a:hover,
#sidebar-menu #side-menu > li.active > a,
#sidebar-menu #side-menu > li > a.active {
    color: var(--nrg-blue) !important;
}

#sidebar-menu #side-menu > li > a:hover i,
#sidebar-menu #side-menu > li.active > a i,
#sidebar-menu #side-menu > li > a.active i {
    color: var(--nrg-blue) !important;
}

/* Vendor and reseller dashboards */
.vendor-portal,
.reseller-portal {
    --primary: var(--nrg-blue);
    --primary-dark: var(--nrg-blue-dark);
    --primary-hover: var(--nrg-blue-dark);
    --primary-color: var(--nrg-blue);
    --primary-gradient: linear-gradient(135deg, var(--nrg-blue) 0%, var(--nrg-green) 100%);
}

.vendor-portal .brand-section,
.reseller-portal .brand-logo {
    color: var(--nrg-blue) !important;
}

.vendor-portal .sidebar .nav-link:hover,
.vendor-portal .sidebar .nav-link.active {
    background-color: var(--nrg-blue-soft) !important;
    color: var(--nrg-blue) !important;
    border-left-color: var(--nrg-blue) !important;
}

.reseller-portal .sidebar .nav-link:hover,
.reseller-portal .sidebar .nav-link.active {
    background-color: var(--nrg-blue-soft) !important;
    color: var(--nrg-blue) !important;
}

.vendor-portal .btn-primary,
.reseller-portal .btn-primary {
    background-color: var(--nrg-blue) !important;
    border-color: var(--nrg-blue) !important;
}

.vendor-portal .premium-pagination .page-item.active .page-link,
.vendor-portal .custom-pagination .page-item.active .page-link {
    background: linear-gradient(135deg, var(--nrg-blue) 0%, var(--nrg-green) 100%) !important;
    border-color: var(--nrg-blue) !important;
    color: #fff !important;
}

.vendor-portal .premium-pagination .page-link:hover,
.vendor-portal .premium-pagination .page-item:not(.active) .page-link:hover {
    background: var(--nrg-blue-soft) !important;
    color: var(--nrg-blue) !important;
}

.vendor-portal .table thead th {
    color: var(--nrg-blue) !important;
}

.reseller-portal .custom-pagination .page-item.active .page-link,
.reseller-portal .page-link-circle.active,
.reseller-portal .premium-pagination .page-item.active .page-link {
    background: linear-gradient(135deg, var(--nrg-blue) 0%, var(--nrg-green) 100%) !important;
    border-color: var(--nrg-blue) !important;
    color: #fff !important;
}

.reseller-portal .premium-pagination .page-link:hover,
.reseller-portal .btn-view:hover,
.reseller-portal .btn-action-circle:hover {
    background-color: var(--nrg-blue) !important;
    border-color: var(--nrg-blue) !important;
    color: #fff !important;
}

.reseller-portal .customer-avatar,
.reseller-portal .avatar-circle {
    background-color: var(--nrg-blue-soft) !important;
    color: var(--nrg-blue) !important;
}

.reseller-portal .custom-upload-box:hover,
.reseller-portal .product-thumbnail:hover,
.reseller-portal .product-thumbnail.active {
    background-color: var(--nrg-blue-soft) !important;
    border-color: var(--nrg-blue) !important;
}

.reseller-portal .plan-badge {
    background-color: var(--nrg-blue-soft) !important;
    color: var(--nrg-blue-dark) !important;
}

.reseller-portal .plan-price {
    color: var(--nrg-blue) !important;
}

/* Customer sign-in and registration */
.modern-login-section,
.modern-auth-section {
    background-color: #f2f7fa !important;
}

.modern-login-section .login-container,
.modern-auth-section .auth-container {
    border: 1px solid #e5edf3;
    box-shadow: 0 16px 44px rgba(8, 47, 73, 0.12);
}

.modern-login-section .login-image-area::before,
.modern-auth-section .auth-image-area::before {
    background: linear-gradient(140deg, rgba(6, 53, 86, 0.48), rgba(11, 86, 58, 0.32));
}

.modern-login-section .custom-input:focus,
.modern-auth-section .custom-input:focus {
    border-color: var(--nrg-blue) !important;
    box-shadow: 0 0 0 4px rgba(8, 117, 201, 0.12) !important;
}

.modern-auth-section .btn-auth-submit:hover {
    background: linear-gradient(135deg, var(--nrg-blue-dark) 0%, var(--nrg-green-dark) 100%) !important;
}

.modern-login-section .btn-modern-submit,
.modern-auth-section .btn-modern-submit {
    background-color: var(--nrg-blue) !important;
}

.modern-login-section .btn-modern-submit:hover,
.modern-auth-section .btn-modern-submit:hover,
.modern-auth-section .btn-auth-submit:hover {
    background-color: var(--nrg-blue-dark) !important;
    box-shadow: 0 6px 18px rgba(8, 95, 159, 0.24) !important;
}

.modern-login-section .forgot-pass-link:hover,
.modern-auth-section .forgot-pass-link:hover,
.modern-auth-section .btn-resend,
.modern-auth-section .forgot-pass-link,
.modern-login-section .register-link,
.modern-auth-section .register-link {
    color: var(--nrg-blue) !important;
}

.modern-auth-section .btn-auth-submit,
.modern-auth-section .btn-modern-submit {
    background: linear-gradient(135deg, var(--nrg-blue) 0%, var(--nrg-green) 100%) !important;
}

.modern-auth-section .auth-image-area::before {
    background: linear-gradient(to top, rgba(6, 53, 86, 0.78), rgba(11, 86, 58, 0.28)) !important;
}

.modern-input:focus {
    border-color: var(--nrg-blue) !important;
    box-shadow: 0 4px 15px rgba(8, 117, 201, 0.12) !important;
}

.modern-input:focus + i {
    color: var(--nrg-blue) !important;
}

.modern-auth-section .custom-input:focus {
    border-color: var(--nrg-blue) !important;
    box-shadow: 0 0 0 4px rgba(8, 117, 201, 0.12) !important;
}

.modern-auth-section .btn-resend:hover {
    color: var(--nrg-blue-dark) !important;
}

.modern-login-section .demo-use-btn,
.modern-auth-section .demo-use-btn {
    border-color: var(--nrg-orange) !important;
    color: var(--nrg-orange) !important;
}

.modern-login-section .demo-use-btn:hover,
.modern-auth-section .demo-use-btn:hover {
    background-color: var(--nrg-orange) !important;
    color: #fff !important;
}

/* Checkout actions and utility icons */
.checkout-section {
    --primary-color: var(--nrg-blue);
    --secondary-color: var(--nrg-green);
}

.checkout-section .checkout-header > i,
.checkout-section .checkout-header .fa-shopping-bag {
    color: var(--nrg-blue) !important;
}

.checkout-section .checkout-header h6,
.checkout-section .total-row.final,
.checkout-section .qty-btn {
    color: var(--nrg-blue) !important;
}

.checkout-section .coupon-group-modern:focus-within {
    border-color: var(--nrg-blue) !important;
    box-shadow: 0 0 0 4px rgba(8, 117, 201, 0.1) !important;
}

.checkout-section .coupon-btn-modern {
    background-color: var(--nrg-blue) !important;
    color: #fff !important;
}

.checkout-section .coupon-btn-modern:hover {
    background-color: var(--nrg-blue-dark) !important;
}

.checkout-section .btn-place-order {
    background: linear-gradient(135deg, var(--nrg-blue) 0%, var(--nrg-green) 100%) !important;
    box-shadow: 0 10px 25px rgba(8, 95, 159, 0.22) !important;
}

.checkout-section .btn-place-order:hover,
.checkout-section .btn-place-order:focus {
    background: linear-gradient(135deg, var(--nrg-blue-dark) 0%, var(--nrg-green-dark) 100%) !important;
}

.checkout-section .qty-btn:hover {
    background-color: var(--nrg-blue) !important;
    color: #fff !important;
}

.checkout-section .remove-item-btn {
    color: #dc2626 !important;
}

/* Customer account dashboard */
.active-menu {
    background-color: var(--nrg-blue-soft) !important;
    color: var(--nrg-blue) !important;
    border-right-color: var(--nrg-blue) !important;
}

.sidebar-item:hover {
    background-color: #f2f7fa !important;
    color: var(--nrg-blue) !important;
}

.profile-image-upload-btn {
    background-color: var(--nrg-blue) !important;
}

.profile-image-upload-btn:hover {
    background-color: var(--nrg-blue-dark) !important;
}

.bg-indigo-600 {
    background-color: var(--nrg-blue) !important;
}

.bg-indigo-50 {
    background-color: var(--nrg-blue-soft) !important;
}

.text-indigo-600,
.hover\:text-indigo-600:hover {
    color: var(--nrg-blue) !important;
}

.hover\:bg-indigo-700:hover {
    background-color: var(--nrg-blue-dark) !important;
}

.hover\:border-indigo-600:hover {
    border-color: var(--nrg-blue) !important;
}

/* Legacy authenticated user pages */
.navbar-laravel {
    background-color: #fff;
    border-bottom: 1px solid #e5edf3;
}

.navbar-laravel .navbar-brand,
.navbar-laravel .nav-link {
    color: var(--nrg-blue);
}

.navbar-laravel .navbar-brand:hover,
.navbar-laravel .nav-link:hover {
    color: var(--nrg-blue-dark);
}
