:root {
    --zivox-primary: #003385;
    --zivox-primary-dark: #001740;
    --zivox-primary-light: #004EDC;
    --zivox-accent: #0DC2B3;
    --zivox-surface: #f7faff;
    --zivox-border: rgba(0, 51, 133, 0.12);
    --zivox-text: #101828;
    --zivox-muted: #525252;
    --zivox-white: #ffffff;

    --clr-primary: #003385;
    --clr-secondary: #004EDC;
    --clr-dark: #101828;
    --clr-light: #525252;
    --clr-light-sm: #dee2e6;
    --clr-white: #ffffff;
    --clr-black: #000000;
}

body {
    background: linear-gradient(180deg, #f7fbff 0%, #ffffff 100%);
    color: var(--zivox-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    color: var(--zivox-primary-dark);
    font-family: "Poppins", "Inter", sans-serif;
}

p,
span,
label,
.form-text,
.small,
.card-text {
    color: var(--zivox-muted);
}

a,
a:hover,
a:focus,
a:active {
    color: var(--zivox-primary-dark);
}

/* Global buttons and accents */
.btn,
.login-btn,
.submit-btn,
.ps-custom-btn,
.get-app-btn,
.custom-btn-secondary,
.custom-bg-primary,
.btn-primary,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background: linear-gradient(135deg, var(--zivox-primary) 0%, var(--zivox-accent) 100%) !important;
    color: var(--zivox-white) !important;
    border-color: transparent !important;
    box-shadow: 0 12px 30px rgba(0, 51, 133, 0.18);
}

.btn:hover,
.login-btn:hover,
.submit-btn:hover,
.ps-custom-btn:hover,
.get-app-btn:hover,
.custom-btn-secondary:hover,
.custom-bg-primary:hover,
.btn-primary:hover {
    filter: brightness(1.03);
    transform: translateY(-1px);
}

.text-custom-primary,
.custom-clr-primary,
.custom-clr-secondary,
.text-primary,
.primary {
    color: var(--zivox-primary) !important;
}

.custom-clr-secondary,
.text-primary {
    color: var(--zivox-primary-light) !important;
}

.custom-bg-secondary {
    background-color: var(--zivox-primary-light) !important;
}

/* Forms */
.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus {
    border-color: var(--zivox-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 82, 204, 0.15) !important;
}

/* Header and navigation */
.header-section {
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid var(--zivox-border) !important;
    backdrop-filter: blur(8px);
}

.header-section.home-header {
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom: 1px solid var(--zivox-border) !important;
}

.header-section.home-header a,
.header-section a {
    color: var(--zivox-primary-dark) !important;
}

.header-section a:hover,
.header-section .accordion-body li:hover a,
.header-section .accordion-body li:hover .arrow {
    color: var(--zivox-primary) !important;
}

.header-section .get-app-btn,
.header-section .get-app-btn:hover {
    background: linear-gradient(135deg, var(--zivox-primary) 0%, var(--zivox-accent) 100%) !important;
    color: #ffffff !important;
}

.accordion-flush .accordion-item .accordion-button:hover,
.header-section .accordion-body li:hover {
    background: rgba(0, 51, 133, 0.08) !important;
}

/* Sidebar */
.side-bar {
    background: linear-gradient(180deg, var(--zivox-primary) 0%, #002766 100%) !important;
    box-shadow: 0 18px 40px rgba(0, 51, 133, 0.18);
}

.side-bar-manu li a {
    color: #ffffff !important;
}

.side-bar-manu li:hover > a,
.side-bar-manu li.active > a {
    background-color: rgba(255, 255, 255, 0.14) !important;
    color: #ffffff !important;
}

.side-bar-manu li.active > a .sidebar-icon svg path,
.side-bar-manu .sidebar-icon svg path {
    stroke: var(--zivox-accent) !important;
}

.side-bar-manu li .dropdown-menu li li:hover > a,
.side-bar-manu li .dropdown-menu li li.active > a {
    background-color: rgba(255, 255, 255, 0.14) !important;
    color: #ffffff !important;
}

/* Admin header */
.main-header-section {
    background: linear-gradient(135deg, var(--zivox-primary) 0%, var(--zivox-primary-dark) 100%) !important;
    border-left-color: rgba(255, 255, 255, 0.2) !important;
}

.nav-pills .nav-link:hover {
    background-color: rgba(0, 51, 133, 0.12) !important;
    color: var(--zivox-primary-dark) !important;
}

.show-btn,
.btn-custom-warning {
    color: var(--zivox-primary) !important;
}

/* Auth and login */
.mybazar-login-section .login-title span,
.mybazar-login-section .login-title,
.login-body h2,
.login-header h4 {
    color: var(--zivox-primary-dark) !important;
}

.mybazar-login-section .login-btn,
.mybazar-login-section .submit-btn {
    background: linear-gradient(135deg, var(--zivox-primary) 0%, var(--zivox-accent) 100%) !important;
}

.footer-logo img {
    max-height: 50px;
    width: auto;
}

/* Cards and highlights */
.card,
.table-wrapper,
.table-form-section,
.widget-card,
.dashboard-card,
.info-card {
    border-color: rgba(0, 51, 133, 0.08) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06) !important;
}

.gradient-row {
    background: linear-gradient(135deg, var(--zivox-primary) 0%, var(--zivox-primary-light) 50%, #ffffff 100%) !important;
}

@media (max-width: 991.98px) {
    .header-section {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

/* ZIVOX UI polish pass */
section {
    padding: clamp(3rem, 5vw, 5.25rem) 0;
}

.container,
.custom-container {
    width: min(100% - 1.5rem, 1200px);
}

.section-title {
    margin-bottom: 1.5rem;
}

.section-title h2,
.section-title h4,
.langing-section-title,
.payment-title {
    letter-spacing: -0.02em;
}

.section-description,
.payment-pera,
.customer-section .customer-card p,
.blogs-section .blog-card p,
.blogs-section .blog-details-content p {
    color: var(--zivox-muted);
    line-height: 1.75;
}

.hero-bg {
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(0, 23, 64, 0.9), rgba(0, 51, 133, 0.7));
    box-shadow: 0 24px 60px rgba(0, 51, 133, 0.18);
    overflow: hidden;
}

.home-banner-section .banner-content h1,
.home-banner-section .banner-content p,
.home-banner-section .banner-content .banner-checkMark span,
.home-banner-section .banner-content .demo-btn-group a span {
    text-shadow: 0 1px 18px rgba(8, 15, 42, 0.2);
}

.title-span-color,
.payment-color-span,
.custom-clr-primary,
.custom-clr-secondary,
.text-custom-primary,
.text-primary,
.primary {
    color: var(--zivox-accent) !important;
}

.home-banner-section .banner-content .demo-btn-group a:last-child {
    color: var(--zivox-white) !important;
}

.header-section .navbar-toggler i {
    color: var(--zivox-primary-dark) !important;
}

.header-section.home-header .navbar-toggler i {
    color: var(--zivox-white) !important;
}

.modal-custom-design .modal-header,
.modal-header {
    background: var(--zivox-surface) !important;
    border-bottom: 1px solid var(--zivox-border) !important;
}

.modal-custom-design .modal-title,
.modal-custom-design label {
    color: var(--zivox-primary-dark) !important;
}

.card,
.table-wrapper,
.table-form-section,
.widget-card,
.dashboard-card,
.info-card,
.card-body {
    border-color: rgba(0, 51, 133, 0.08) !important;
    border-radius: 20px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06) !important;
    background: var(--zivox-white);
}

.main-header-section {
    border-bottom-left-radius: 24px;
    border-bottom-right-radius: 24px;
}

body .modal-custom-design .btn-close {
    opacity: 1;
}

@media (max-width: 767.98px) {
    .home-banner-section {
        padding-top: 110px;
    }

    .home-banner-section .banner-content h1 {
        font-size: clamp(2.1rem, 5vw, 2.8rem);
        line-height: 1.15;
    }

    .section-title {
        margin-bottom: 1.25rem;
    }

    .demo-btn-group {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 14px;
    }

    .home-banner-section .banner-content .demo-btn-group {
        margin-top: 20px;
    }

    .main-header-section {
        padding-top: 12px;
        padding-bottom: 12px;
    }
}
