/**
 * Bimalink Brand Color Overrides
 * Primary: #2660A4 | Secondary: #F58A07
 * Font:    Quicking — fallback Montserrat / Open Sans
 *
 * Overrides Duralux theme.min.css hardcoded color values & font stack.
 * This file must be loaded after theme.min.css.
 */

/* ---------------------------------------------------------------------------
 * 1. Brand tokens — kept in sync with resources/css/app.scss so that any
 *    consumer (legacy theme assets, third-party widgets, etc.) can resolve
 *    `var(--brand-*)` without depending on the bundled stylesheet.
 * ------------------------------------------------------------------------- */
:root {
    --bs-primary: #2660a4;
    --bs-primary-rgb: 38, 96, 164;
    --bs-secondary: #f58a07;
    --bs-secondary-rgb: 245, 138, 7;
    --bs-link-color: #2660a4;
    --bs-link-color-rgb: 38, 96, 164;
    --bs-link-hover-color: #f58a07;
    --bs-link-hover-color-rgb: 245, 138, 7;
    --bs-btn-bg: #2660a4;
    --bs-btn-border-color: #2660a4;

    --brand-primary: #2660a4;
    --brand-secondary: #f58a07;
    --brand-black: #000000;
    --brand-white: #ffffff;

    --brand-primary-50: #eaf1fa;
    --brand-primary-100: #c8d9ee;
    --brand-primary-200: #94b5dd;
    --brand-primary-300: #6190cc;
    --brand-primary-400: #3e78bb;
    --brand-primary-500: #2660a4;
    --brand-primary-600: #1f4f87;
    --brand-primary-700: #1a4170;
    --brand-primary-800: #133054;
    --brand-primary-900: #0c1f36;

    --brand-secondary-50: #fef3e1;
    --brand-secondary-100: #fcddb1;
    --brand-secondary-200: #fac279;
    --brand-secondary-300: #f8a742;
    --brand-secondary-400: #f69820;
    --brand-secondary-500: #f58a07;
    --brand-secondary-600: #c66e03;
    --brand-secondary-700: #985402;
    --brand-secondary-800: #6a3a02;
    --brand-secondary-900: #3d2101;

    --brand-font-family:
        'Quicking', 'Montserrat', 'Open Sans', system-ui, -apple-system,
        BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
        sans-serif;

    --brand-gradient-hero: linear-gradient(135deg, #f58a07 0%, #2660a4 100%);
    --brand-gradient-soft: linear-gradient(135deg, #fcddb1 0%, #c8d9ee 100%);
}

/* ---------------------------------------------------------------------------
 * 2. Typography — Duralux's original font stack (Inter / Roboto / Poppins) is
 *    intentionally retained. Only opt-in `.font-brand` applies the Bimalink
 *    display font.
 * ------------------------------------------------------------------------- */

/* Brand display utilities */
.font-brand {
    font-family: var(--brand-font-family) !important;
}
.text-brand-primary {
    color: var(--brand-primary) !important;
}
.text-brand-secondary {
    color: var(--brand-secondary) !important;
}
.bg-brand-primary {
    background-color: var(--brand-primary) !important;
    color: #fff;
}
.bg-brand-secondary {
    background-color: var(--brand-secondary) !important;
    color: #fff;
}
.bg-brand-gradient {
    background: var(--brand-gradient-hero) !important;
    color: #fff;
}
.bg-brand-gradient-soft {
    background: var(--brand-gradient-soft) !important;
}
.border-brand-primary {
    border-color: var(--brand-primary) !important;
}
.border-brand-secondary {
    border-color: var(--brand-secondary) !important;
}

/* ---------------------------------------------------------------------------
 * 3. Color overrides for Duralux components
 * ------------------------------------------------------------------------- */

/* Base links */
a:hover {
    color: #f58a07;
}

a:before {
    color: #2660a4;
}

/* Bootstrap utilities */
.text-primary {
    color: #2660a4 !important;
}

.bg-primary {
    background-color: #2660a4 !important;
}

.bg-blue {
    background-color: #2660a4 !important;
}

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

/* Navigation header */
.nxl-header .header-wrapper .nxl-head-link:hover {
    color: #f58a07;
}

.nxl-header .header-wrapper .nxl-head-link:hover .hamburger .hamburger-inner {
    background-color: #f58a07;
}

.hamburger-inner::before {
    background-color: #f58a07;
}

html.app-header-dark .nxl-header .header-wrapper .nxl-head-link:hover {
    color: #f58a07;
}

img.logo.logo-lg {
    width: 60%;
}

/* Nav links */
.nav-link.active {
    color: #2660a4;
    border-bottom: 1px solid #2660a4;
    border-left: 1px solid #2660a4;
}

.nav-link:hover {
    color: #f58a07;
    border-left: 3px solid #f58a07 !important;
}

/* Breadcrumb */
.page-header .breadcrumb .breadcrumb-item a:hover {
    color: #f58a07;
}

/* Chatting */
.chatting-setting .chatting-setting-tabs a.nav-link:hover {
    color: #f58a07;
}

/* Language modal */
#languageSelectModal .language_select.active a:before {
    color: #2660a4;
}

/* Badges */
.badge.bg-light-primary {
    color: #2660a4;
    background: rgba(38, 96, 164, 0.15) !important;
    border-color: rgba(38, 96, 164, 0.15) !important;
}

/* Light primary buttons */
.btn-light-primary {
    color: #2660a4;
    background: rgba(38, 96, 164, 0.15);
    border-color: rgba(38, 96, 164, 0.15);
}

.btn-light-primary:hover,
.btn-light-primary:focus,
.show > .btn-light-primary.dropdown-toggle,
.btn-check:checked + .btn-light-primary {
    background: #f58a07;
    border-color: #f58a07;
    color: #fff;
}

/* Soft primary button */
.btn.bg-soft-primary:hover {
    border-color: #f58a07 !important;
    background-color: #f58a07 !important;
}

/* Form focus */
input:focus {
    border-color: #2660a4 !important;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
    border-color: #2660a4;
    background-color: #2660a4;
}

.form-switch .form-check-input:checked {
    border-color: #2660a4;
    background-color: #2660a4;
}

/* Nav tabs */
.nav-tabs-wrapper .nav-tabs-custom-style .nav-item .nav-link.hover {
    color: #f58a07;
    border-bottom: 3px solid #f58a07;
}

.customers-nav-tabs .nav-item .nav-link.active {
    color: #2660a4;
    border-bottom: 3px solid #2660a4;
}

.invoice-overview-tab-item .nav-item .nav-link:hover {
    color: #f58a07;
}

/* Pagination */
.table-responsive .dataTables_paginate .page-link.active {
    background-color: #2660a4;
}

/* Table action dropdowns */
.table-responsive:has(.dropdown-menu.show) {
    overflow: visible;
}

.table-responsive .dropdown-menu {
    z-index: 1060;
}

ul.pagination-common-style li a:hover {
    background-color: #f58a07;
}

/* Card input */
.card-input-element + .card {
    color: #2660a4;
}

/* Progress circles */
.tasks-progress-chart .circle-progress-value,
.team-progress-2 .circle-progress-value,
.goal-progress .circle-progress-value,
.progress-1 .circle-progress-value,
.goal-prigress .circle-progress-value,
.sales-progress-1 .circle-progress-value,
.lead-progress-1 .circle-progress-value,
.circle-progress-value {
    stroke: #2660a4;
}

/* Checklist */
ul#checklist li.checked:before {
    border-color: #2660a4;
}

/* Sidebar point & stick */
.point {
    color: #2660a4;
}

.side-stick {
    background-color: #2660a4;
}

/* Calendar */
.calendar header .simple-calendar-btn:hover {
    color: #f58a07;
}

.calendar .day:hover {
    border: 2px solid #f58a07;
}

.calendar .day.today {
    background: #2660a4;
}

.calendar .day.has-event {
    color: #2660a4;
}

.calendar .day.has-event:after {
    background: #2660a4;
}

.calendar .event-container .event {
    background: #2660a4;
}

/* Calendar data attribute */
[data-calendar-id='1'] {
    color: #2660a4;
}

/* Page loading bar */
.pace .pace-progress {
    background: #2660a4;
}

/* Select2 */
.select2-results__option.select2-results__option--selected {
    color: #2660a4;
}

/* Theme customizer */
.theme-customizer .customizer-handle .cutomizer-open-trigger {
    border: 1px solid #2660a4;
}

/* Option selects */
.options-label:before,
.single-option.active:before {
    color: #2660a4;
}

/* Accordion */
.accordion-button:not(.collapsed) {
    color: #2660a4;
}

/* Calendar data */
.tui-full-calendar-popup-edit {
    background-color: #2660a4 !important;
}

/* Dark mode overrides */
html.app-skin-dark .dropdown-item:hover {
    color: #f58a07 !important;
}

html.app-skin-dark textarea:hover {
    border-color: #f58a07 !important;
}

html.app-skin-dark .bg-primary {
    background-color: #2660a4 !important;
}

html.app-skin-dark .text-primary {
    color: #2660a4 !important;
}

html.app-skin-dark .border-primary {
    border-color: #2660a4 !important;
}

html.app-skin-dark .dropdown .dropdown-menu .dropdown-item:hover i.bg-gray-500 {
    background-color: #2660a4 !important;
}

html.app-skin-dark .nav-item .nav-link:hover {
    color: #f58a07;
}

html.app-skin-dark .nav-tabs-custom-style .nav-item .nav-link.hover {
    color: #f58a07 !important;
    border-bottom-color: #f58a07 !important;
}

/* ===========================================================================
 * 4. Interactive states — buttons, dropdowns, sidebar, notifications & toasts
 *    Duralux ships with a hard-coded #3454d1 primary; these rules force every
 *    interactive surface onto the Bimalink palette (hover = secondary orange).
 * ========================================================================= */

/* ---- Solid primary buttons --------------------------------------------- */
.btn-primary,
.btn.bg-soft-primary {
    color: #fff !important;
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:focus-visible,
.btn.bg-soft-primary:hover,
.btn.bg-soft-primary:focus,
.show > .btn-primary.dropdown-toggle {
    color: #fff !important;
    background-color: var(--brand-secondary) !important;
    border-color: var(--brand-secondary) !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-secondary-rgb), 0.25) !important;
}

/* ---- Outline primary buttons ------------------------------------------- */
.btn-outline-primary {
    color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    background-color: transparent !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-check:checked + .btn-outline-primary {
    color: #fff !important;
    background-color: var(--brand-secondary) !important;
    border-color: var(--brand-secondary) !important;
}

/* ---- Secondary buttons keep the brand orange --------------------------- */
.btn-secondary,
.btn.bg-soft-secondary {
    color: #fff !important;
    background-color: var(--brand-secondary) !important;
    border-color: var(--brand-secondary) !important;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn.bg-soft-secondary:hover,
.btn.bg-soft-secondary:focus {
    color: #fff !important;
    background-color: var(--brand-secondary-700) !important;
    border-color: var(--brand-secondary-700) !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-secondary-rgb), 0.25) !important;
}

.btn-outline-secondary {
    color: var(--brand-secondary) !important;
    border-color: var(--brand-secondary) !important;
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
    color: #fff !important;
    background-color: var(--brand-secondary) !important;
    border-color: var(--brand-secondary) !important;
}

/* ---- Generic button focus ring ----------------------------------------- */
.btn:focus,
.btn:focus-visible {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

/* ---- Dropdown items ---------------------------------------------------- */
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active {
    color: #fff !important;
    background-color: var(--brand-primary) !important;
}

/* When the theme uses light dropdown-item hovers (header / profile menu),
   keep the text legible by switching to the soft primary tint instead. */
.nxl-header .dropdown-menu .dropdown-item:hover,
.nxl-header .dropdown-menu .dropdown-item:focus {
    color: var(--brand-primary) !important;
    background-color: rgba(var(--bs-primary-rgb), 0.08) !important;
}

/* ---- Sidebar / left navigation ---------------------------------------- */
.nxl-navigation .navbar-content .nxl-link:hover,
.nxl-navigation .navbar-content .nxl-item:hover > .nxl-link,
.nxl-navigation .navbar-content .nxl-navbar > .nxl-item:hover > .nxl-link {
    color: var(--brand-secondary) !important;
}

.nxl-navigation .navbar-content .nxl-link:hover .nxl-micon i,
.nxl-navigation .navbar-content .nxl-item:hover > .nxl-link .nxl-micon i {
    color: var(--brand-secondary) !important;
}

.nxl-navigation .navbar-content .nxl-item.active > .nxl-link,
.nxl-navigation .navbar-content .nxl-item.nxl-trigger > .nxl-link,
.nxl-navigation .navbar-content .nxl-item.active > .nxl-link .nxl-micon i,
.nxl-navigation .navbar-content .nxl-item.nxl-trigger > .nxl-link .nxl-micon i {
    color: var(--brand-secondary) !important;
}

/* Active sidebar item indicator (left bar / background tint) */
.nxl-navigation .navbar-content .nxl-item.active > .nxl-link::before,
.nxl-navigation .navbar-content .nxl-item.nxl-trigger > .nxl-link::before {
    background-color: var(--brand-secondary) !important;
}

/* ---- Header icons (notifications, apps, profile) ----------------------- */
.nxl-header .header-wrapper .nxl-head-link:hover,
.nxl-header .header-wrapper .nxl-head-link:focus,
.nxl-header .header-wrapper .nxl-head-link.active {
    color: var(--brand-secondary) !important;
}

/* ---- Notifications dropdown ------------------------------------------- */
.nxl-notifications-menu .notifications-item:hover,
.nxl-notifications-menu .notifications-item:focus,
.nxl-header .nxl-notifications-menu .notifications-item:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.06) !important;
}

.nxl-notifications-menu .notifications-item:hover .notifications-desc,
.nxl-notifications-menu .notifications-item:hover .notifications-desc h4 {
    color: var(--brand-primary) !important;
}

.nxl-notifications-menu .notifications-footer a:hover,
.nxl-notifications-menu .notifications-head a:hover {
    color: var(--brand-secondary) !important;
}

/* Notification badge dot */
.nxl-header .nxl-h-item .badge,
.nxl-header .nxl-h-item .nxl-h-badge {
    background-color: var(--brand-secondary) !important;
    color: #fff !important;
}

/* ---- SweetAlert2 toasts & popups -------------------------------------- */
.swal2-popup .swal2-confirm,
.swal2-popup .swal2-styled.swal2-confirm {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.swal2-popup .swal2-confirm:hover,
.swal2-popup .swal2-confirm:focus,
.swal2-popup .swal2-styled.swal2-confirm:hover {
    background-color: var(--brand-secondary) !important;
    border-color: var(--brand-secondary) !important;
}

.swal2-popup .swal2-cancel,
.swal2-popup .swal2-styled.swal2-cancel {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

.swal2-popup .swal2-cancel:hover {
    background-color: #5a6268 !important;
    border-color: #5a6268 !important;
}

.swal2-icon.swal2-info,
.swal2-icon.swal2-question {
    border-color: var(--brand-primary) !important;
    color: var(--brand-primary) !important;
}

/* ---- Bootstrap toasts & alerts ---------------------------------------- */
.toast .toast-header .btn-close:focus,
.toast .toast-header .btn-close:hover {
    color: var(--brand-secondary) !important;
}

.alert-primary {
    color: var(--brand-primary-800) !important;
    background-color: rgba(var(--bs-primary-rgb), 0.12) !important;
    border-color: rgba(var(--bs-primary-rgb), 0.25) !important;
}

.alert-secondary {
    color: var(--brand-secondary-800) !important;
    background-color: rgba(var(--bs-secondary-rgb), 0.12) !important;
    border-color: rgba(var(--bs-secondary-rgb), 0.25) !important;
}

.alert-primary .alert-link:hover,
.alert-secondary .alert-link:hover {
    color: var(--brand-secondary) !important;
}

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

.pagination .page-link:hover,
.pagination .page-link:focus {
    color: #fff !important;
    background-color: var(--brand-secondary) !important;
    border-color: var(--brand-secondary) !important;
}

.pagination .page-item.active .page-link,
.pagination .page-item .page-link.active {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
    color: #fff !important;
}

/* ---- Table row hover -------------------------------------------------- */
.table-hover > tbody > tr:hover > * {
    --bs-table-accent-bg: rgba(var(--bs-primary-rgb), 0.06);
    color: inherit;
}

/* ---- Form controls ---------------------------------------------------- */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.2) !important;
}

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

/* ---- Modals: header close & primary footer button --------------------- */
.modal .btn-close:focus {
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25) !important;
}

/* ---- Generic anchor / icon-button hover everywhere -------------------- */
a:not(.btn):not(.nav-link):not(.dropdown-item):not(.page-link):hover {
    color: var(--brand-secondary);
}

/* ---- Dark-mode parity ------------------------------------------------- */
html.app-skin-dark .btn-primary,
html.app-skin-dark .btn.bg-soft-primary {
    background-color: var(--brand-primary) !important;
    border-color: var(--brand-primary) !important;
}

html.app-skin-dark .btn-primary:hover,
html.app-skin-dark .btn-primary:focus,
html.app-skin-dark .btn-outline-primary:hover {
    background-color: var(--brand-secondary) !important;
    border-color: var(--brand-secondary) !important;
}

html.app-skin-dark .nxl-notifications-menu .notifications-item:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.18) !important;
}

html.app-skin-dark .dropdown-item:hover,
html.app-skin-dark .dropdown-item:focus {
    background-color: var(--brand-primary) !important;
    color: #fff !important;
}
