── Navigation ────────────────────────────────────── */
.top-nav .nav>li {
    margin: 0 8px;
}

.top-nav .nav>li>a {
    padding: 10px 8px;
    /* font-size: 14px; */
}

/* ── Logo ─────────────────────────────────────────── */
a.logo img {
    width: 150px;
    display: block;
    /* subtle drop-shadow so the logo is readable on any bg */
    /* filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45)); */
    /* transition: filter 0.35s ease, transform 0.3s ease; */
}

a.logo:hover img {
    transform: scale(1.04);
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.55));
}

/* ── Header: transparent at top, solid on scroll ──── */
header.page_header {
    background: transparent !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
    transition: background 0.4s ease, box-shadow 0.4s ease;
}

/* JS adds .scrolled to the header wrapper (.page_header_wrapper)
   once the user scrolls past the hero — target the header inside */
.page_header_wrapper.header-scrolled header.page_header,
header.page_header.header-scrolled {
    background: rgba(13, 59, 102, 0.97) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}

/* In scrolled state the logo doesn't need as heavy a shadow */
.page_header_wrapper.header-scrolled a.logo img,
header.page_header.header-scrolled a.logo img {
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.25));
}

/* affix (sticky) state set by main.js — keep solid bg */
.page_header_wrapper.affix-wrapper header.page_header,
header.page_header.affix {
    background: #fff !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.28);
}
.ds.affix .sf-menu > li > a {
    color: #000;
}

/* ── Why MAB text ─────────────────────────────────── */
.why-mab-text {
    font-size: 18px;
    line-height: 1.8;
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

/* ── Customer logo boxes ──────────────────────────── */
.customer-logo-box {
    background: #fff;
    border: 1px solid #e5e5e5;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.customer-logo-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.customer-logo-box img {
    max-width: 100%;
    max-height: 80px;
    object-fit: contain;
}

/* ── Brand button overrides ───────────────────────── */
.btn-maincolor {
    background-color: #0d3b66;
    border-color: #0d3b66;
    color: #fff;
}

.btn-maincolor:hover {
    background-color: #082a4a;
    border-color: #082a4a;
    color: #fff;
}

.footer-location-card {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 12px;
    padding: 35px;
    height: 100%;
    transition: .3s;
}

.footer-location-card:hover {
    transform: translateY(-5px);
    border-color: #d1a054;
}

.footer-location-card h4 {
    color: #d1a054;
    margin-bottom: 25px;
    font-size: 22px;
    font-weight: 600;
}

.footer-location-card p {
    color: #ccc;
    line-height: 1.9;
    margin-bottom: 20px;
}

.footer-location-card strong {
    color: #fff;
}

.copyright-text {
    color: #999;
    border-top: 1px solid rgba(255, 255, 255, .08);
    padding-top: 30px;
    margin-top: 50px;
}

.accordion-icon {
    transition: .3s ease;
    font-size: 14px;
}

.card-header a:not(.collapsed) .accordion-icon {
    transform: rotate(90deg);
}

.card-header h5 a {
    width: 100%;
}

/* ── Fix nav active/hover underline position ─────── */
/* The template draws a ::before underline at bottom:20px which
   overlaps the link text. Move it to bottom:0 so it sits cleanly
   beneath the word, not on top of it. */
@media (min-width: 1200px) {
    .ds .sf-menu > li > a:before {
        bottom: 0 !important;
    }

    .affix .sf-menu > li > a:before {
        bottom: 0 !important;
    }

    /* Active state: show full underline immediately */
    .ds .sf-menu > li.active > a:before {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
    }
}

.call-to-action {
    position: relative;
    background-image: url("../images/title_bg.jpg");
    background-size: cover;
    background-position: center;
    overflow: hidden;
}

.call-to-action::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5); 
    z-index: 1;
}

.call-to-action .container {
    position: relative;
    z-index: 2;
}

.portfolio-section1 {
    background-image: url("../images/portfolio-bg1.jpg");
    background-size: cover;
}
/* Main section background */
.ds.container-px-xl-0,
.ds.container-px-xl-0 .container-fluid,
.ds.container-px-xl-0 .row {
    background: #ffffff !important;
}

/* Left column */
.column-video {
    background: #ffffff !important;
}

/* Right side steps */
.step-gorizontal.step-white .step {
    background: #ffffff !important;
    border-right: 1px solid #e9ecef;
}

/* Heading */
.column-video .special-heading,
.step-white .step h6,
.step-white .step p,
.column-video p {
    color: #0b466d !important;
}

/* Step numbers */
.step-white .step-number h3 {
    color: #ff5b6e !important;
    font-weight: 300;
}

/* Small line below titles */
.step-white .step h6::after {
    content: "";
    display: block;
    width: 50px;
    height: 2px;
    background: #ff5b6e;
    margin: 15px auto;
}

/* Paragraphs */
.step-white .step p,
.column-video p {
    color: #5f7182 !important;
    line-height: 1.8;
}

/* Play button */
.video-shortcode a {
    background: #0b466d;
}

.video-shortcode a:before {
    color: #ffffff;
}
/* Left "How It Works" column */
.column-video,
.column-overlay {
    background: #f3f5f7 !important;   /* Light grey */
}

/* Optional: make the entire section light grey */
.ds.container-px-xl-0 {
    background: #f3f5f7 !important;
}
.how-it-works-section .column-video.column-overlay.ds:before {
    background-color: #d6d8d9;
    opacity: 0.9;
}

.customer-section {
    background: #ffffff !important;
    background-image: none !important;
}

.customer-section::before {
    display: none !important;
}

.customer-section .special-heading span {
    color: #09445a;
    font-weight: 700;
}

.customer-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 40px;
    align-items: center;
}

.customer-logo-item {
    padding: 10px;
    text-align: center;
}

.customer-logo-item img {
    max-width: 100%;
    max-height: 200px;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.customer-logo-item:hover img {
    transform: scale(1.05);
}

/* Tablet */
@media (max-width: 991px) {
    .customer-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .customer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}


@media (min-width: 1200px) {
    .container {
        max-width: 87%;
    }
}
.step-white .step{
    cursor: pointer;
}
.step-white .step:hover{
    transform: translateY(-8px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.08); 
    background-color: #daeaf8 !important;
}

.step ul li {
    margin-bottom: 1px;
}
.step ul li, .step ol li {
    padding: 5px 0 5px 0;
}

.mt-60 {
    margin-top: 60px;
}
.mb-160 {
    margin-bottom: 160px;
}
.woocommerce-EditAccountForm fieldset {
    margin-top: 30px;
}
.woocommerce-EditAccountForm legend {
    font-size: 22px;
}
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], textarea, select, .form-control {
    border: 1px solid #ccc;
}

/* Force a clean even grid - override masonry absolute positioning */
.portfolio .isotope-wrapper.masonry-layout {
    position: static !important;
    height: auto !important;
    display: flex;
    flex-wrap: wrap;
}

.portfolio .isotope-wrapper.masonry-layout > [class*="col-"] {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin-bottom: 30px;
}

/* Uniform centered logo tiles with border */
.portfolio .item-gallery .item-media {
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    padding: 20px;
    border-radius: 5px;
    border: 1px solid #e6ecef;
}

.portfolio .item-gallery .item-media img {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    object-fit: contain;
}
.ds.affix .sf-menu > li > a:before {
    background: #253471;
}
.toggle_menu:before, .toggle_menu span, .toggle_menu span:before, .toggle_menu span:after,
.header-1 .toggle_menu:not(.toggle_menu_side_special):after  {
    background-color: #253471;
}
.toggle_menu span {
    color:#253471;
}
.toggle_menu.mobile-active:before {
    background-color: #253471;
}
@media (max-width: 768px) {
    a.logo {
        margin-bottom: 0;
    }
    .text-center a.logo {
        align-items: center;
        justify-content: start;
    }
}

