/* public/css/custom.css */

body {
    font-family: 'Lato', sans-serif;
}

/* Override Bootstrap primary color */
:root {
    --bs-primary: #005587;
    --bs-primary-rgb: 39, 116, 174;
    
    --bs-link-color: #00598C;
    --bs-link-color-rgb: 0, 89, 140;

    --bs-link-hover-color: #0079BF;
    --bs-link-hover-color-rgb: 0, 121, 191;

}


a {
    /* color: #005587 !important; */
}

a:hover,
a:focus {
    /* color: #004466 !important; */
}

/* Optional: links */
a.text-primary:hover {
    /* color: #005587; */
    color:#fff;
    text-decoration: none;
}

/* Footer background example */
footer {
    background-color: #005587 !important;
}

.custom-footer {
    background-color: #444 !important;
}

/* Custom primary button color */
.btn-primary {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff; /* ensure text stays white */
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #27292B !important; /* slightly darker on hover */
    border-color: #27292B !important;
    color: #fff !important;
}

/* .navbar a {
    color: #fff !important;
}

.navbar-dark {
    background-color: #005587 !important;
} */

.dashboard-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 180px;          
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.dashboard-card:hover {
    /* transform: translateY(-5px); */
    box-shadow: 0 10px 25px rgba(0,0,0,0.15); /* stronger shadow */
    background-color: #f0f8ff; /* light highlight color */
}
.dashboard-icon {
    font-size: 2.5rem;
    color: #005587; /* Bootstrap primary blue */
}

.small-dashboard-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 40px;          
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.small-icon {
    font-size: 1.2rem;;
}

.bg-primary {
    /* background-color: #2774ae !important; */
}

.border-primary {
    /* color: #2774ae !important; */
}

.nav-link.active {
    background: #000;
    color: #fff !important;
    /* border-radius: 0.375rem; */
}

.nav-link:hover {
    background: #e9ecef;
    /* border-radius: 0.375rem; */
}

/* Highlight active link */
.nav-link.active {
    background: #000;
    color: #fff !important;
    /* border-radius: 0.375rem; */
}

/* Sidebar fixed width on desktop */
@media (min-width: 992px) {
    .sidebar-fixed {
        flex: 0 0 220px;
        /* Do not shrink */
        width: 220px;
        /* Force fixed width */
    }
}

/* Ensure main content doesn't overlap */
@media (min-width: 992px) {
    main.flex-grow-1 {
        min-width: 0;
        /* allow it to shrink properly without pushing sidebar */
    }
}

#sidebarMenu .nav-link {
    /* display: block; */
    /* instead of inline */
    /* width: 100%; */
    /* stretch to full width of the sidebar */
    /* padding: 0.5rem 1rem; */
    /* optional for nice spacing */
    /* border-radius: 0.375rem; */
    /* keep your rounded corners */
}

/* Active link highlight (you can keep your existing colors) */
#sidebarMenu .nav-link.active {
    background: #005587;
    color: #fff !important;
}

a i.fa {
    text-decoration: none;
}

a:has(i.fa) {
    text-decoration: none;
}

.page-item.active .page-link,
.page-link.active {
    background-color: #005587 !important;
    border-color: #005587 !important;
}

/* Optional: hover effect for active page */
.page-item.active .page-link:hover,
.page-link.active:hover {
    background-color: #333 !important;
    /* slightly lighter black on hover */
    color: white !important;
}

.custom-shadow {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
}

.hidden-field {
    display: none !important;
}

select.custom-dropdown.form-select {
    background-color: #fff !important;
    border: 1px solid #ccc !important;
    border-radius: 8px !important;
    padding: 0.5rem 2rem 0.5rem 0.75rem !important;
    color: #333 !important;
    font-size: 1rem !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    cursor: pointer;
  }
  
  select.custom-dropdown.form-select:focus {
    border-color: #495057 !important;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25) !important
  }
  
  .navbar-brand-text {
    color: #FBC600 !important;
}

.cf-turnstile iframe {
    width: 100% !important;
}

.offcanvas-lg .offcanvas-body { 
    display: block !important;

}

.offcanvas-lg .offcanvas-body.p-3 {
    padding: 1rem 0 !important; 
}

.navbar-brand img {
    max-width: 120px;
}

/* Make active tab label visible */
.nav-tabs .nav-link.active {
    color: #000 !important;
    /* black text for active tab */
    background-color: #fff !important;
    /* optional: white bg for contrast */
    border-color: #dee2e6 #dee2e6 #fff;
    /* standard Bootstrap bottom border */
}

.report-table col.label-col {
    width: 70%;
}

.report-table col.amount-col {
    width: 30%;
}

.report-table th,
.report-table td {
    vertical-align: middle;
}

.report-table td.amount,
.report-table th.amount {
    text-align: right;
    white-space: nowrap;
}

.report-table tr.fw-bold {
    background-color: #f8f9fa;
}

.container {
    padding-left: 0.75rem;
    padding-right: 0.75rem; 
}

.report-card {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.report-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08);
}

.form-group {
    margin-bottom: 0 !important;
}

hr {
    border-top: 1px solid #222 !important;
}

/* ensure alerts can show pseudo elements */
.alert {
    position: relative;
    overflow: visible !important;
    border: none !important;
    padding: 1rem !important;
}

/* left accent bar */
.alert.alert-left::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background-color: var(--bs-alert-border-color);
    border-radius: 0.375rem 0 0 0.375rem;
}

/* Align inline radios vertically with their label */
.form-check-inline .form-check-input {
    margin-top: 0.3em !important;
}

/* .form-check .form-check-input {
    margin-left: -2em !important;
} */

a.link, body {
    color: #333 !important;
}

.invert-color h1,
.invert-color h2,
.invert-color h3,
.invert-color h4,
.invert-color h5,
.invert-color h6,
.invert-color .h1,
.invert-color .h2,
.invert-color .h3,
.invert-color .h4,
.invert-color .h5,
.invert-color .h6 {
    color: #333333 !important;
}

.has-bg-color {
    background: #f3f4f9 !important;
}

/* FORCE FIXED HEADER – OVERRIDE THEME */
/* .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99999;
    background: #f3f4f9;
} */



.sticky-header {
    position: sticky;
    top: 0;
    z-index: 10000;
    background: #f3f4f9;
}

/* Ensure parent allows sticky */
body,
html {
    overflow-x: visible;
}

.body-wrap {
    overflow: visible !important;
}

.text-blue {
    color: #005587 !important;
}

.navbar-custom {
    background-color: #f9fbfd; /* Ensure background is solid white */
    border-bottom: 1px solid rgba(0, 0, 0, 0.05); /* Very faint line */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); /* The "shade" effect */
    transition: all 0.3s ease; /* Smooth if you decide to make it sticky later */
}

.btn-dark {
    background-color: #005587 !important;
    border-color: #005587 !important;
    color: #fff !important;
}

.btn-dark:hover {
    background-color: #004466 !important;
    border-color: #004466 !important;
    color: #fff !important;
}

.bg-dark {
    background-color: #005587 !important;
}

.service-section .single-service .icon {
    width: 80px !important;
    height: 80px !important;
    background: #f4f7fa !important; /* The gray circle from Bliss */
    color: #005587 !important;      /* Your Brand Blue */
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 30px !important;
    transition: all 0.3s ease-out !important;
}

/* Hover effect */
.service-section .single-service:hover .icon {
    background: #005587 !important; /* Turns Blue */
    color: #ffffff !important;      /* Icon turns White */
}

.scroll-top {
    color: #fff !important;
}

.lni a {
    color: #fff !important;
}

.btn-primary {
    background-color: #005587 !important;
    border-color: #005587 !important;
    color: #fff !important;
}

.btn-primary:hover {
    background-color: #004466 !important;
    border-color: #004466 !important;
    color: #fff !important;
}

.btn-primary:focus {
    background-color: #004466 !important;
    border-color: #004466 !important;
    color: #fff !important;
}

.text-success {
    color: #28a745 !important;
}

.btn-success {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
    color: #fff !important;
}

.btn-success:hover {
    background-color: #218838 !important;
    border-color: #218838 !important;
    color: #fff !important;
}

.lni-chevron-up::before {
    color: #fff !important;
}