:root {
    /* Override Bootstrap Primary Color to Pulitech Dark Blue */
    --bs-primary: #1b355d;
    --bs-primary-rgb: 27, 53, 93;

    /* Optional: Override Link Color if needed */
    --bs-link-color: #1b355d;
    --bs-link-hover-color: #142846;
}

/* Enforce primary color on .btn-primary */
.btn-primary {
    --bs-btn-bg: #1b355d;
    --bs-btn-border-color: #1b355d;
    --bs-btn-hover-bg: #142846;
    --bs-btn-hover-border-color: #12243e;
    --bs-btn-active-bg: #142846;
    --bs-btn-active-border-color: #12243e;
}

/* Enforce primary color on .bg-primary */
.bg-primary {
    background-color: #1b355d !important;
}

/* Text Primary */
.text-primary {
    color: #1b355d !important;
}

/* Border Primary */
.border-primary {
    border-color: #1b355d !important;
}

/* Outline Primary */
.btn-outline-primary {
    --bs-btn-color: #1b355d;
    --bs-btn-border-color: #1b355d;
    --bs-btn-hover-bg: #1b355d;
    --bs-btn-active-bg: #1b355d;
}

/* Pulitech Custom Header Background (Light Gray) */
.pulitech-navbar {
    background-color: #e3e3e3 !important;
}

/* Navbar Text Colors for Light Background */
.pulitech-navbar .navbar-brand,
.pulitech-navbar .nav-link {
    color: #1b355d !important;
    font-weight: 500;
}

.pulitech-navbar .nav-link:hover,
.pulitech-navbar .nav-link.active {
    color: #000000 !important;
    font-weight: 700;
}

/* Logo styling */
.pulitech-logo-login {
    max-width: 250px;
    height: auto;
    display: block;
    margin: 0 auto 20px auto;
}

.pulitech-logo-nav {
    height: 40px;
    width: auto;
}

.pulitech-navbar .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Global Sticky Footer */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

footer {
    margin-top: auto;
}