/*!
 * Theme Name: Serverspot Custom Theme
 * Package : DashLite
 * Author: Serverspot
 * Version: 1.0.0
 * Updated: 2024
 *
 * Custom color overrides for Serverspot brand (#003D6B)
**/

/* ========================================
   ROOT VARIABLE OVERRIDES
======================================== */
:root,
[data-bs-theme=light] {
    /* Primary color overrides */
    --bs-primary: #003D6B;
    --bs-primary-rgb: 0, 61, 107;
    --bs-link-color: #003D6B;
    --bs-link-color-rgb: 0, 61, 107;
    --bs-link-hover-color: #002a4d;
    --bs-link-hover-color-rgb: 0, 42, 77;

    /* Primary color variants */
    --bs-primary-text-emphasis: #002a4d;
    --bs-primary-bg-subtle: #e6f0f7;
    --bs-primary-border-subtle: #b3d1e6;

    /* Focus ring */
    --bs-focus-ring-color: rgba(0, 61, 107, 0.25);
}

[data-bs-theme=dark] {
    --bs-primary: #0066b3;
    --bs-primary-rgb: 0, 102, 179;
    --bs-link-color: #0066b3;
    --bs-link-color-rgb: 0, 102, 179;
    --bs-link-hover-color: #3399cc;
    --bs-link-hover-color-rgb: 51, 153, 204;
}

/* ========================================
   BUTTON OVERRIDES
======================================== */
.btn-primary {
    --bs-btn-bg: #003D6B;
    --bs-btn-border-color: #003D6B;
    --bs-btn-hover-bg: #002a4d;
    --bs-btn-hover-border-color: #002a4d;
    --bs-btn-active-bg: #002240;
    --bs-btn-active-border-color: #002240;
    --bs-btn-disabled-bg: #003D6B;
    --bs-btn-disabled-border-color: #003D6B;
    background-color: #003D6B;
    border-color: #003D6B;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #002a4d;
    border-color: #002a4d;
}

.btn-outline-primary {
    --bs-btn-color: #003D6B;
    --bs-btn-border-color: #003D6B;
    --bs-btn-hover-bg: #003D6B;
    --bs-btn-hover-border-color: #003D6B;
    --bs-btn-active-bg: #002a4d;
    --bs-btn-active-border-color: #002a4d;
    color: #003D6B;
    border-color: #003D6B;
}

.btn-outline-primary:hover {
    background-color: #003D6B;
    border-color: #003D6B;
    color: #fff;
}

/* Dim variants */
.btn-dim.btn-primary {
    background-color: rgba(0, 61, 107, 0.1);
    border-color: transparent;
    color: #003D6B;
}

.btn-dim.btn-primary:hover {
    background-color: #003D6B;
    border-color: #003D6B;
    color: #fff;
}

/* ========================================
   BACKGROUND COLOR CLASSES
======================================== */
.bg-primary {
    background-color: #003D6B !important;
}

.bg-primary-dim {
    background-color: rgba(0, 61, 107, 0.1) !important;
}

/* ========================================
   TEXT COLOR CLASSES
======================================== */
.text-primary {
    color: #003D6B !important;
}

.link-primary {
    color: #003D6B !important;
}

.link-primary:hover,
.link-primary:focus {
    color: #002a4d !important;
}

/* ========================================
   SIDEBAR OVERRIDES
======================================== */
.nk-sidebar.is-dark {
    background: #003D6B;
}

.nk-sidebar.is-dark .nk-sidebar-head {
    background: #003D6B;
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.nk-sidebar.is-dark .nk-menu-link {
    color: #ffffff;
}

.nk-sidebar.is-dark .nk-menu-link:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f5;
}

.nk-sidebar.is-dark .nk-menu-item.active > .nk-menu-link,
.nk-sidebar.is-dark .nk-menu-item.current-menu > .nk-menu-link {
    background: rgba(255, 255, 255, 0.15);
    color: #f5f5f5;
}

.nk-sidebar.is-dark .nk-menu-text {
    color: #ffffff;
}

.nk-sidebar.is-dark .nk-menu-icon {
    color: rgba(255, 255, 255, 0.8);
}

.nk-sidebar.is-dark .nk-menu-link:hover .nk-menu-icon,
.nk-sidebar.is-dark .nk-menu-item.active > .nk-menu-link .nk-menu-icon {
    color: #ffffff;
}

.nk-sidebar.is-dark .nk-menu-sub {
    background: rgba(0, 0, 0, 0.15);
}

.nk-sidebar.is-dark .nk-menu-sub .nk-menu-link {
    color: rgba(255, 255, 255, 0.85);
}

.nk-sidebar.is-dark .nk-menu-sub .nk-menu-link:hover {
    color: #f5f5f5;
}

.nk-sidebar.is-dark .nk-menu-heading .overline-title {
    color: rgba(255, 255, 255, 0.5);
}

/* ========================================
   BADGE OVERRIDES
======================================== */
.badge-primary,
.badge.bg-primary {
    background-color: #003D6B !important;
}

.badge-outline-primary {
    color: #003D6B;
    border-color: #003D6B;
}

/* ========================================
   CARD OVERRIDES
======================================== */
.card-inner .card-title-group .card-title .title {
    color: #003D6B;
}

/* ========================================
   FORM OVERRIDES
======================================== */
.form-control:focus,
.form-select:focus {
    border-color: #003D6B;
    box-shadow: 0 0 0 3px rgba(0, 61, 107, 0.1);
}

.custom-control-input:checked ~ .custom-control-label::before {
    background-color: #003D6B;
    border-color: #003D6B;
}

.form-check-input:checked {
    background-color: #003D6B;
    border-color: #003D6B;
}

/* ========================================
   PAGINATION OVERRIDES
======================================== */
.page-item.active .page-link {
    background-color: #003D6B;
    border-color: #003D6B;
}

.page-link {
    color: #003D6B;
}

.page-link:hover {
    color: #002a4d;
}

/* ========================================
   NAV & TABS OVERRIDES
======================================== */
.nav-tabs .nav-link.active {
    color: #003D6B;
    border-bottom-color: #003D6B;
}

.nav-pills .nav-link.active {
    background-color: #003D6B;
}

/* ========================================
   PROGRESS BAR OVERRIDES
======================================== */
.progress-bar {
    background-color: #003D6B;
}

.progress-bar.bg-primary {
    background-color: #003D6B !important;
}

/* ========================================
   ALERT OVERRIDES
======================================== */
.alert-primary {
    background-color: rgba(0, 61, 107, 0.1);
    border-color: rgba(0, 61, 107, 0.2);
    color: #003D6B;
}

/* ========================================
   DROPDOWN OVERRIDES
======================================== */
.dropdown-item.active,
.dropdown-item:active {
    background-color: #003D6B;
}

/* ========================================
   DATA TABLES OVERRIDES
======================================== */
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: #003D6B !important;
    border-color: #003D6B !important;
}

/* ========================================
   NIO ICON OVERRIDES
======================================== */
.icon-circle.bg-primary {
    background-color: #003D6B !important;
}

/* ========================================
   PREVIEW CARD OVERRIDES
======================================== */
.nk-tb-col .tb-lead {
    color: #003D6B;
}

/* ========================================
   USER AVATAR OVERRIDES
======================================== */
.user-avatar[class*="-primary"] {
    background: #003D6B;
}

/* ========================================
   TOGGLE SWITCH OVERRIDES
======================================== */
.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #003D6B;
    border-color: #003D6B;
}

/* ========================================
   LOADER OVERRIDE
======================================== */
.page-loader-spinner {
    border-top-color: #003D6B !important;
}

.dark-mode .page-loader-spinner {
    border-top-color: #0066b3 !important;
}

/* ========================================
   MISC OVERRIDES
======================================== */
a {
    color: #003D6B;
}

a:hover {
    color: #002a4d;
}

.text-primary-alt {
    color: #0066b3 !important;
}

/* ========================================
   STEPPER/WIZARD ICON OVERRIDES
======================================== */
.nk-stepper-nav .step-item::before {
    background-color: #003D6B !important;
    border-color: #003D6B !important;
}

.nk-stepper-nav li.current .step-item::before,
.nk-stepper-nav li.done .step-item::before {
    background-color: #003D6B !important;
    border-color: #003D6B !important;
    color: #ffffff;
}

.nk-stepper-nav li .step-item::before {
    border-color: #003D6B !important;
    color: #003D6B;
}

.nk-stepper-nav-s1 li .step-item::before {
    background: rgba(0, 61, 107, 0.1);
    border: 2px solid #003D6B;
    color: #003D6B;
}

.nk-stepper-nav-s1 li.current .step-item::before,
.nk-stepper-nav-s1 li.done .step-item::before {
    background: #003D6B;
    border-color: #003D6B;
    color: #ffffff;
}

.nk-stepper-nav-s1 li.done .step-item::after {
    border-color: #003D6B;
}

/* Selection color */
::selection {
    background-color: #003D6B;
    color: #fff;
}

::-moz-selection {
    background-color: #003D6B;
    color: #fff;
}
