:root {
	--app-font-family: "IBM Plex Sans", "Segoe UI", Roboto, Arial, sans-serif;
	--bs-body-font-family: var(--app-font-family);
	--bs-font-sans-serif: var(--app-font-family);
}

html,
body,
button,
input,
select,
textarea,
.form-control,
.form-select,
.btn,
.dropdown-menu,
.modal,
.offcanvas,
.popover,
.tooltip,
.dataTables_wrapper,
.swal2-container,
.flatpickr-calendar,
.select2-container,
.apexcharts-text,
.apexcharts-tooltip,
.apexcharts-legend-text {
	font-family: var(--app-font-family) !important;
}

body :not(i):not(code):not(pre):not(kbd):not(samp):not(var):not(.CodeMirror):not(.CodeMirror *):not(.ql-editor code):not(.bx):not([class^="bx-"]):not([class*=" bx-"]):not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not([class^="fa-"]):not([class*=" fa-"]):not(.bi):not([class^="bi-"]):not([class*=" bi-"]):not(.fi):not([class^="fi-"]):not([class*=" fi-"]) {
	font-family: var(--app-font-family) !important;
}

code,
pre,
kbd,
samp,
var,
.CodeMirror,
.font-monospace,
.text-monospace,
.is-mono,
[style*="monospace"] {
	font-family: var(--bs-font-monospace, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace) !important;
}

/* Primary buttons and links */
.btn-primary,
.badge-primary,
.alert-primary,
.bg-primary,
.page-item.active .page-link,
.btn-primary.active,
/* .nav .nav-item .nav-link.active, */
.bs-stepper .step.active .bs-stepper-circle .btn-outline-primary {
	background-color: var(--theme-primary-color) !important;
	color: #fff !important;
	border: 1px solid white !important;
}

.pricing-card-highlight {
	border-top: 5px solid var(--theme-primary-color) !important;
}

.btn-primary:hover {
	background-color: var(--theme-primary-color) !important;
	color: #fff !important;
	border: 1px solid var(--theme-secondary-color) !important;
	box-shadow: 0 .5rem 1rem rgba(147, 158, 170, 0.6) !important;
	transform: translateY(-2px) !important;
	border-top: 5px solid var(--theme-primary-color);
	/* Solid top border */
}

.text-primary,
a.active {
	color: var(--theme-primary-color) !important;
	/* background-color: var(--theme-primary-color);
	border: 1px solid var(--theme-primary-color); */
}

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

/* Secondary buttons and components */
.btn-secondary,
.badge-secondary,
.alert-secondary,
.bg-secondary,
a.text-secondary {
	background-color: var(--theme-secondary-color) !important;
	color: #fff !important;
	border: 1px solid white !important;
}

.app-brand .layout-menu-toggle i {
	color: var(--theme-navigation-font-color) !important;
}

.app-brand .layout-menu-toggle i:hover {
	color: var(--theme-navigation-menu-hover-bg) !important;
}

.btn-secondary:hover,
a.text-secondary:hover,
.bg-secondary:hover {
	background-color: var(--theme-secondary-color-hover) !important;
	border-color: var(--theme-secondary-color-hover) !important;
	transform: translateY(-2px) !important;
}

.nav-pills .nav-link.active,
.nav-pills .nav-link.active:hover,
.nav-pills .nav-link.active:focus {
	color: #fff !important;
	background: var(--theme-primary-color) !important;
}


.btn-outline-primary {
	color: var(--theme-primary-color) !important;
	border-color: var(--theme-primary-color) !important;
	background: rgba(0, 0, 0, 0) !important;
}

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

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

.btn-outline-secondary {
	color: var(--theme-primary-color) !important;
	border-color: var(--theme-secondary-color) !important;
	background: rgba(0, 0, 0, 0) !important;
}

.offcanvas .offcanvas-reset-btn {
	transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease !important;
}

.offcanvas .offcanvas-reset-btn:hover,
.offcanvas .offcanvas-reset-btn:focus {
	color: var(--theme-primary-color) !important;
	border-color: var(--theme-primary-color) !important;
	background-color: color-mix(in srgb, var(--theme-primary-color) 8%, transparent) !important;
	box-shadow: 0 0.25rem 0.75rem color-mix(in srgb, var(--theme-primary-color) 16%, transparent) !important;
	transform: translateY(-1px);
}

.accordion.accordion-header-primary .accordion-item.active .accordion-button {
	color: var(--theme-primary-color) !important;
}

.pricing-card {
	background: #fff;
	border: 1px solid #dee2e6;
	border-radius: 8px;
	padding: 1.5rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	border-top: 4px solid var(--theme-primary-color) !important;
}

.pricing-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 15px rgba(0, 0, 0, 0.1);
}

.pricing-card.popular {
	border-top-color: #ffb300;
	position: relative;
}

.popular-badge {
	position: absolute;
	top: -15px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #ffb300;
	color: #212529;
	padding: 0.25rem 0.75rem;
	border-radius: 12px;
	font-size: 0.8rem;
	font-weight: 700;
}

.card {
	border-radius: 10px;
}

.pricing-card h3 {
	margin: 0.5rem 0;
	font-size: 1.1rem;
	color: #003b6f;
	min-height: 44px;
	/* Ensure consistent height */
}

.pricing-card p {
	margin: 0.2rem 0;
	font-size: 0.9rem;
	color: #495057;
}

.price {
	font-weight: 700;
	font-size: 1.8rem;
	margin: 1rem 0;
	color: #003b6f;
}

.tab.active {
	color: var(--theme-primary-color) !important;
	z-index: 2;
	/* Bring active tab to the front */
	transform: translateY(-5px);
	/* Lift the active tab slightly */
	box-shadow: none;
	/* Remove any direct box-shadow from the button */
}

.bs-stepper .step.active .bs-stepper-circle {
	background-color: var(--theme-primary-color) !important;
	color: #fff;
}

.bs-stepper .step.active .bs-stepper-label {
	color: var(--theme-primary-color) !important;
}

.bs-stepper .step.crossed+.line::before {
	background-color: var(--theme-primary-color) !important;
}

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

.bg-light {
	--bs-bg-opacity: 1;
	background-color: #fff;
}

.swiper-button-prev,
.swiper-button-next {
	color: var(--theme-secondary-color) !important;
}

.bg-label-primary {
	background-color: #e5edfc !important;
	color: var(--theme-primary-color) !important;


}

.modal-header {
	background-color: var(--theme-primary-color) !important;
	padding: 8px 8px 8px 8px !important;
}

.modal-title {
	color: white !important;
}

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

.a {
	color: var(--theme-primary-color) !important;
}


table thead:not(.no-bg) th {
	background: var(--theme-primary-color) !important;
	color: #ffffff !important;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 0.5px;
	border-bottom: 2px solid var(--theme-secondary-color) !important;
	padding: 12px 10px;
}


.app-brand-text img,
.app-brand-link img {
	display: block;
	height: 40px !important;
	max-height: 40px !important;
	width: auto !important;
	max-width: 180px;
	object-fit: contain;
}

#layout-navbar .mobile-header-logo,
#layout-navbar .mobile-header-logo a {
	align-items: center !important;
	flex: 0 0 120px !important;
	width: 120px !important;
	max-width: 120px !important;
	height: 32px !important;
	max-height: 32px !important;
	overflow: hidden !important;
}

#layout-navbar .mobile-header-logo a {
	display: flex !important;
}

#layout-navbar .mobile-header-logo img {
	display: block !important;
	width: auto !important;
	max-width: 120px !important;
	height: 28px !important;
	max-height: 28px !important;
	object-fit: contain !important;
}

.layout-menu .logo-wrapper {
	width: 180px !important;
	max-width: 180px !important;
	height: 40px !important;
	max-height: 40px !important;
	overflow: hidden !important;
}

.layout-menu .store_logo {
	display: block !important;
	width: auto !important;
	max-width: 180px !important;
	height: 40px !important;
	max-height: 40px !important;
	object-fit: contain !important;
}

html.layout-menu-collapsed .layout-menu .logo-wrapper {
	width: 40px !important;
	max-width: 40px !important;
}

html.layout-menu-collapsed .layout-menu .store_logo {
	max-width: 40px !important;
}

html.layout-menu-collapsed.layout-menu-hover .layout-menu .logo-wrapper,
html.layout-menu-collapsed .layout-menu:hover .logo-wrapper {
	width: 180px !important;
	max-width: 180px !important;
}

html.layout-menu-collapsed.layout-menu-hover .layout-menu .store_logo,
html.layout-menu-collapsed .layout-menu:hover .store_logo {
	max-width: 180px !important;
}

div.dataTables_wrapper div.dataTables_filter {
	margin-top: 0rem !important;
	margin-bottom: 0rem !important;
}

.app-print-brand {
	display: none;
}

.offcanvas[id*="filter" i] .btn-label-secondary[data-bs-dismiss="offcanvas"],
.offcanvas[aria-labelledby*="filter" i] .btn-label-secondary[data-bs-dismiss="offcanvas"] {
    display: none !important;
}

.badge-xs {
    font-size: 0.65rem !important;
}

@media print {
    @page {
        margin: 0;
    }

    html,
    body {
        background: #fff !important;
    }

    body {
        padding: 12mm !important;
    }

    a[href]::after {
        content: "" !important;
    }

    .layout-menu,
    #layout-menu,
    .layout-navbar,
    #layout-navbar,
    .content-footer,
    footer,
    .footer,
    .layout-overlay,
    .drag-target,
    .customizer,
    .template-customizer,
    .dt-buttons,
    .dataTables_filter,
    .dataTables_length,
    .pagination,
    .modal-backdrop,
    .toast,
    .bs-toast,
    .offcanvas,
    .offcanvas-backdrop,
    [id*="tars" i],
    [class*="tars" i],
    [id*="chatbot" i],
    [class*="chatbot" i],
    [id*="chat-widget" i],
    [class*="chat-widget" i],
    iframe[src*="tars" i],
    iframe[src*="chatbot" i],
    iframe[src*="chat-widget" i] {
        display: none !important;
    }

    .layout-page,
    .content-wrapper,
    .container-xxl,
    .container-fluid {
        margin: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .card,
    .table-responsive {
        box-shadow: none !important;
        overflow: visible !important;
    }

    .no-print,
    .d-print-none {
        display: none !important;
    }

    .app-print-brand {
        display: block !important;
        margin: 0 0 12px !important;
        padding: 0 !important;
    }

    .app-print-brand img {
        display: block !important;
        height: 42px !important;
        max-height: 42px !important;
        max-width: 180px !important;
        width: auto !important;
        object-fit: contain !important;
    }

    .app-print-brand span {
        color: #111 !important;
        display: block !important;
        font-size: 18px !important;
        font-weight: 700 !important;
    }
}
