:root {
    /* Brand Colors */
    --color-primary: #198fd9;
    --color-primary-100: #FCFFFF;
    --color-primary-150: #5290C9;
    --color-primary-200: #11508e;
    --color-primary-250: #004AAD;
    --color-secondary-100: #fcf8f0;
    --color-secondary-150: #FFE38B;
    --color-secondary: #d8a236;
    --color-success: #65bd7d;
    --color-gray-100: #ebebeb;
    --color-gray-150: #FCF8F0;
    --color-gray-200: #88A7C0;
    /* Neutrals & UI Colors */
    --color-white: #ffffff;
    --color-bg-light: #f9f9fb;
    --color-border: #f2f3f5;
    --color-text-muted: #434549;
    --color-text-dark: #212326;
    --color-black: #141617;
    /* Typography */
    /* Primary choice is Inter, falling back to standard system sans-serifs */
    --font-family-main: 'Inter', Arial, Helvetica, sans-serif;
}

a {
    text-decoration: none;
}

ul,
li {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dot-list,
.dot-list li {
    list-style: disc;
}

.alpha-list,
.alpha-list li {
    list-style: lower-alpha;
}

@media (min-width: 1400px) {

    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width: 1140px;
    }
}

body {
    font-family: var(--font-family-main);
    color: var(--color-black);
    background-color: var(--color-white);
}

.bg-primary-gradient {
    background: linear-gradient(180deg, #072660 43%, #031945 100%);
}

.bg-primary {
    background-color: #198fd9 !important;
}

.bg-primary-100 {
    background-color: var(--color-primary-100) !important;
}

.bg-primary-150 {
    background-color: var(--color-primary-150) !important;
}

.bg-primary-200 {
    background-color: var(--color-primary-200) !important;
}

.bg-secondary {
    background-color: var(--color-secondary) !important;
}

.bg-secondary-100 {
    background-color: var(--color-secondary-100) !important;
}

.bg-gray-100 {
    background-color: var(--color-gray-100) !important;
}

.bg-gray-150 {
    background-color: var(--color-gray-150) !important;
}

.bg-gray-200 {
    background-color: var(--color-gray-200) !important;
}

.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);

    &:hover {
        background-color: var(--color-primary);
        border-color: var(--color-primary);
    }

}

.btn-primary-2 {
    background-color: var(--color-primary-200);
    border-color: var(--color-primary-200);
    color: white;

    &:hover {
        background-color: var(--color-primary-200);
        border-color: var(--color-primary-200);
        color: white;
    }

}

.btn-secondary {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: white;

    &:hover {
        background-color: var(--color-secondary);
        border-color: var(--color-secondary);
    }

}

.shine {
    position: relative;
    overflow: hidden;

    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transform: translateX(-100%);
        transition: transform 0.5s ease;
    }

    &:hover::before {
        transform: translateX(100%);
    }

}

.btn-primary-outline {
    background-color: transparent;
    color: var(--color-primary-200);
    border: 2px solid var(--color-primary-200);

    &:hover {
        background-color: var(--color-primary-200);
        color: var(--color-white);
        border-color: var(--color-primary-200);
    }
}

.text-primary {
    color: var(--color-primary-200) !important;
}

.text-secondary {
    color: var(--color-secondary) !important;
}

.text-secondary-150 {
    color: var(--color-secondary-150) !important;
}

.text-shadow {
    text-shadow: 0px 4px 3px rgba(0, 0, 0, 0.4),
        0px 8px 13px rgba(0, 0, 0, 0.1),
        0px 18px 23px rgba(0, 0, 0, 0.1);
}

.breadcrumb-item+.breadcrumb-item::before {
    color: inherit;
}

.inner-hero-card {
    background: #11508e no-repeat center center/cover;
    border-radius: 40px;
    overflow: hidden;
    position: relative;
    min-height: 340px;
    display: flex;
    flex-direction: column;
    justify-content: center;

    @media (max-width: 767px) {
        border-radius: 30px;
        min-height: auto;
    }
}

/* #Progress scroll to top
================================================== */
.progress-wrap {
    position: fixed;
    right: 30px;
    bottom: 30px;
    height: 60px;
    width: 60px;
    cursor: pointer;
    display: block;
    border-radius: 50px;
    box-shadow: inset 0 0 0 2px rgb(25, 143, 217, 0.2);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;

    .fa-chevron-up {
        position: absolute;
        text-align: center;
        font-size: 18px;
        color: rgba(25, 143, 217, 0.8);
        top: 50%;
        left: 50%;
        translate: -50% -50%;
        cursor: pointer;
        display: block;
        z-index: 1;
        -webkit-transition: all 200ms linear;
        transition: all 200ms linear;
    }

}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap:hover .fa-chevron-up {
    color: var(--color-primary);
}

.progress-wrap svg path {
    fill: none;
}

.progress-wrap svg.progress-circle path {
    stroke: var(--color-primary);
    stroke-width: 4;
    box-sizing: border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

/* #Progress scroll to top ends
================================================== */

.custom_btn_xl {
    max-width: 480px;
}

.scroll-top {
    scroll-margin-top: 125px;

    @media (max-width: 991px) {
        scroll-margin-top: 76px;
    }
}

.modal-bg {
    background: #ffffff url('/Content/img/wp/modal-bg.png') no-repeat center/cover;
}

.btn-close {
    border: 1px solid;
    border-radius: 50%;
    background-size: 8px;
}

.cursor-pointer {
    cursor: pointer;
}

.faq-section {

    .accordion-item {
        border: none;
        border-radius: 20px !important;
        overflow: hidden;
        position: relative;

        &::before {
            content: "";
            position: absolute;
            top: 20px;
            left: 25px;
            width: 2px;
            background-color: var(--color-primary-200);
            bottom: 20px;
            z-index: 1;
        }

        .accordion-button {
            background-color: var(--color-white);
            color: var(--color-primary-200);
            padding: 25px 25px 25px 50px;
            font-size: 18px;
            border: none;
            z-index: 0;

            /* Custom Plus/Minus Icon using your primary blue */
            &::after {
                background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2311508e'%3e%3cpath d='M8 0a1 1 0 0 1 1 1v6h6a1 1 0 1 1 0 2H9v6a1 1 0 1 1-2 0V9H1a1 1 0 0 1 0-2h6V1a1 1 0 0 1 1-1z'/%3e%3c/svg%3e");
                background-size: 1.25rem;
            }

            &:not(.collapsed) {
                box-shadow: none;
                background-color: #E7FBFF;
                font-weight: 600;

                &::after {
                    transform: rotate(45deg);
                    /* Turns plus into an 'x' or minus */
                }

            }

            &:hover {
                z-index: 0;
            }

            &:focus {
                box-shadow: none;
                border-color: rgba(0, 0, 0, .125);
            }

        }

        .accordion-body {
            padding: 0 25px 25px 50px;
            background-color: #E7FBFF;
        }

    }
}

.header {
    .navbar-brand {
        max-width: 300px;

        @media (max-width: 1199px) {
            max-width: 200px;
        }

        @media (max-width: 991px) {
            max-width: 150px;
        }
    }

    .navbar {
        .nav-link:hover {
            color: var(--color-primary);
        }

        &.custom_sticky_header {
            background: var(--color-primary-200);
        }

        .nav-link {
            color: var(--color-white);
        }

    }

    /* Active State for Navigation */
    .navbar .nav-link.active {
        color: var(--color-primary) !important;
    }

    .dropdown-item.active,
    .dropdown-item:active {
        color: var(--color-secondary);

        @media (min-width: 992px) {
            background-color: var(--color-gray-100);
            color: var(--color-primary);
        }
    }

    /* Darkens navbar on scroll (Optional JS hook) */
    .navbar.scrolled {
        background: rgba(0, 0, 0, 0.9);
        padding-top: 0.8rem;
    }

    /* Dropdown Menu Styling to match image */
    .dropdown-menu {
        border-top: 4px solid var(--color-primary) !important;
        /* The green accent top border */
        border-radius: 0;
        min-width: 250px;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        opacity: 0;
        visibility: hidden;
        display: block !important;
    }

    .dropdown-menu.show {
        opacity: 1;
        visibility: visible;
    }

    .dropdown-item:hover {
        @media (min-width: 992px) {
            background-color: var(--color-gray-100);
            color: var(--color-primary);
        }
    }

    .navbar-toggler:focus,
    .btn-close:focus {
        box-shadow: none;
    }

    /* Custom Toggle Button for Mobile */
    .dropdown-toggle-custom {
        transition: transform 0.3s ease;
    }

    /* Rotate the arrow when the collapse is shown */
    .dropdown-toggle-custom[aria-expanded="true"] i {
        transform: rotate(180deg);
    }

    @media (max-width: 991px) {

        .navbar-nav .nav-link.active,
        .navbar-nav .nav-link.show {
            color: #d8a236 !important;
        }
    }

}

/* Hero Background Setup */
.hero-section {
    background: linear-gradient(180deg, rgba(31, 68, 108, 0.54) 0%, rgba(31, 68, 108, 0.55) 100%), url("/Content/img/wp/hero-bnr.jpg");
    background-size: cover;
    background-position: center;
    padding: 120px 0 60px 0;

    @media (min-width: 1200px) {
        height: 100dvh;
        padding-top: 80px;
    }
}

.advantage-section {
    background: linear-gradient(180deg, #1a3e57 0%, #060e17 100%);
    min-height: 600px;
    position: relative;
    overflow: hidden;

    /* Orbit Positioning Logic */
    .orbit-container {
        position: relative;
        width: 500px;
        height: 500px;
        margin: 0 auto;
    }

    .center-logo {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 140px;
        height: 140px;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 0 30px rgba(25, 143, 217, 0.3);
        z-index: 10;
    }

    .orbit-item {
        position: absolute;

        .orbit-icon {
            position: absolute;
            inset: 0;
            opacity: 0;
            transition: all 0.3s ease;
        }

        .description-text {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            left: 100%;
            width: 320px;
            padding: 15px;
            opacity: 0;
            visibility: hidden;
            text-align: left;
            transition: all 0.3s ease;
        }

        &.item-bottom-left,
        &.item-left {
            .description-text {
                left: auto;
                right: 100%;
                text-align: end;
            }
        }

        &:hover {
            .round-orbit {
                background: rgba(25, 143, 217, 0.2);
            }

            .orbit-text {
                opacity: 0;
            }

            .orbit-icon {
                opacity: 1;
            }

            .description-text {
                opacity: 1;
                visibility: visible;
            }

        }
    }

    .round-orbit {
        width: 140px;
        height: 140px;
        background: #12364f;
        border: 1px dotted var(--color-white);
        color: var(--color-white);
        border-radius: 50%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 13px;
        padding: 15px;
        transition: all 0.3s ease;
        cursor: pointer;
        position: relative;
    }

    /* Specific Positions */
    .item-top {
        top: 0;
        left: 50%;
        transform: translateX(-50%);
    }

    .item-right {
        top: 30%;
        right: 0;
    }

    .item-bottom-right {
        bottom: 0;
        right: 15%;
    }

    .item-bottom-left {
        bottom: 0;
        left: 15%;
    }

    .item-left {
        top: 30%;
        left: 0;
    }

    /* Mobile View Adjustment */
    @media (max-width: 1199px) {
        .orbit-container {
            width: 100%;
            height: auto;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;

            >*:first-child,
            >*:last-child {
                grid-column: span 2;
            }

        }

        .orbit-item,
        .center-logo {
            position: relative;
            margin: 0 auto;
            top: auto;
            left: auto;
            right: auto;
            bottom: auto;
            transform: none;
        }

        .orbit-item {

            .orbit-icon {
                opacity: 1;
            }

            .orbit-text {
                opacity: 0;
            }

            &.item-bottom-left,
            &.item-left {
                .description-text {
                    inset: 0;
                    text-align: center;
                }
            }

            .description-text {
                position: relative;
                inset: 0;
                opacity: 1;
                visibility: visible;
                width: 100%;
                transform: none;
                text-align: center;
                padding-bottom: 0;
            }
        }

        .round-orbit {
            margin-inline: auto;
        }
    }

    @media (max-width: 767px) {
        .orbit-container {
            >* {
                grid-column: span 2;
            }

        }
    }
}

.solutions-section {
    .solution-header {
        max-width: 800px;
        margin: 0 auto;
    }

    .feature-box {
        .feature-icon {
            height: 80px;
        }

    }

    .btn-outline-brand {
        border: 2px solid var(--color-primary-200);
        color: var(--color-primary-200);
        background: white;
        border-radius: 10px;
        font-weight: 600;
        transition: all 0.3s ease;

        &:hover {
            background-color: var(--color-primary-200);
            color: var(--color-white);
            box-shadow: 0 4px 15px rgba(25, 143, 217, 0.3);
        }

    }
}

.warranty-cta-section {
    .warranty-banner {
        background-color: var(--color-primary-200);
        border-radius: 40px;
        padding: 80px 50px;
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;

        .content-side {
            max-width: 65%;
        }

        .badge-side {
            flex: 1;
            position: absolute;
            bottom: -2px;
            right: 45px;
        }

    }

    /* Responsive adjustment */
    @media (max-width: 991px) {
        .warranty-banner {
            padding: 40px;
            border-radius: 20px;
            text-align: center;
            flex-direction: column;

            .content-side {
                max-width: 100%;
            }

        }
    }
}

.process-section {
    .process-card {
        background-color: var(--color-primary-200);
        border-radius: 40px;
        padding: 60px 40px;
        margin-top: 30px;
        box-shadow: 0 10px 30px rgba(17, 80, 142, 0.2);

        .steps-container {
            z-index: 1;

            /* The horizontal line behind icons */
            .step-line {
                position: absolute;
                top: 30px;
                /* Aligned with center of icon circles */
                left: 0;
                right: 0;
                height: 1px;
                width: calc(100% - 32%);
                margin: 0 auto;
                background-color: var(--color-secondary);
                z-index: -1;
            }

            .step-item {
                padding: 0 15px;

                .step-icon-circle {
                    width: 60px;
                    height: 60px;
                    background-color: var(--color-white);
                    border-radius: 50%;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    margin: 0 auto 20px;
                    color: var(--color-primary-200);
                    font-size: 24px;
                    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
                }

            }
        }
    }

    /* Mobile Responsive */
    @media (max-width: 768px) {
        .process-section .steps-container {
            flex-direction: column;

            .step-line {
                display: none;
                /* Hide horizontal line on mobile */
            }

            .step-item {
                margin-bottom: 40px;

                &:last-child {
                    margin-bottom: 0;
                }

            }
        }

        .process-card {
            padding: 40px 20px;
            border-radius: 20px;
        }

    }
}

.partner-slider .swiper-slide img {
    height: 60px;
    object-fit: contain;
}


.partnership-section {
    background-color: var(--color-primary-200);
    position: relative;
    padding: 100px 0;

    .custom-shape-divider-top {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        overflow: hidden;
        line-height: 0;
        transform: rotate(180deg);
        height: 100px;

        svg {
            position: relative;
            display: block;
            width: calc(100% + 1.3px);
            height: 100px;
        }

        .shape-fill {
            fill: #FFFFFF;
        }
    }

    .custom-shape-divider-bottom {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        overflow: hidden;
        line-height: 0;

        svg {
            position: relative;
            display: block;
            width: calc(100% + 1.3px);
            height: 100px;
        }

        .shape-fill {
            fill: var(--color-gray-100);
        }
    }

    /** For mobile devices **/
    @media (max-width: 767px) {
        .custom-shape-divider-bottom svg {
            width: calc(185% + 1.3px);
            height: 100px;
        }

        .custom-shape-divider-top svg {
            width: calc(185% + 1.3px);
            height: 100px;
        }
    }
}

.updates-section {
    .blog-card {
        .blog-image-wrapper {
            position: relative;
            border-radius: 30px;
            overflow: hidden;
            aspect-ratio: 16 / 9;

            .blog-img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                transition: transform 0.5s ease-in-out;
            }

        }

        &:hover .blog-img {
            transform: scale(1.05);
        }

    }
}

.site-footer {
    background-color: var(--color-bg-light);

    .footer-card {
        background: rgba(7, 38, 96, 0.92);
        border-radius: 40px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
        position: relative;

        &::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url('/Content/img/wp/trust-logo.png') no-repeat right center/contain;
            opacity: 0.05;
        }

        .footer-logo {
            max-width: 180px;
            height: auto;
        }

        .social-icons {
            display: flex;
            gap: 15px;
            font-size: 20px;

            a {
                color: var(--color-white);
                transition: color 0.3s ease;

                &:hover {
                    color: var(--color-secondary);
                }

            }
        }

        .footer-links {
            li {
                a {
                    color: var(--color-white);
                    text-decoration: none;
                    font-size: 14px;
                    transition: all 0.2s ease;

                    &:hover {
                        opacity: 1;
                        padding-left: 5px;
                        color: var(--color-secondary);
                    }

                }
            }
        }

        .newsletter-form {
            .form-control {
                background-color: var(--color-white);
                border: none;
                height: 45px;
                border-radius: 8px;
                font-size: 14px;
            }

        }
    }

    .footer-bottom {
        background-color: #f2e6c1;
    }

    @media (max-width: 991px) {
        .footer-card {
            border-radius: 20px;
        }
    }

}

.perk-card {
    padding: 60px 50px;
    border-radius: 40px;
    height: 100%;
    display: flex;
    flex-direction: column;

    @media (max-width: 991px) {
        padding: 40px 20px;
        border-radius: 20px;
    }
}

/* Card Specific Colors */
.perk-gold {
    background-color: #efe1b6;
}

.perk-light-blue {
    background-color: #e2faff;
}

.about-section {

    .btn-contact-outline {
        color: var(--color-white);
        border: 2px solid var(--color-white);
        background: transparent;
        border-radius: 50px;
        font-weight: 600;
        transition: all 0.3s ease;
        max-width: 300px;
        width: 100%;

        &:hover {
            background-color: var(--color-white);
            color: var(--color-primary-200);
        }

    }
}

.history-why-section {
    .year-badge {
        display: inline-block;
        background-color: var(--color-secondary);
        color: var(--color-white);
        padding: 5px 25px;
        border-radius: 50px;
        font-weight: 700;
    }

    .custom-swiper-button {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20490.661%20490.661%22%3E%3Cpath%20d%3D%22M453.352%20236.091%2048.019%201.424c-3.285-1.899-7.36-1.899-10.688%200a10.681%2010.681%200%200%200-5.333%209.237v469.333c0%203.819%202.048%207.339%205.333%209.237a10.802%2010.802%200%200%200%205.333%201.429c1.856%200%203.691-.469%205.355-1.429l405.333-234.667c3.285-1.92%205.312-5.44%205.312-9.237s-2.027-7.338-5.312-9.236z%22%20fill%3D%22%23d8a236%22/%3E%3C/svg%3E");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        width: 20px;
        height: 20px;
        top: 18%;
    }

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev {
        right: 43%;

        @media (max-width: 1199px) {
            right: 42%;
        }

        @media (max-width: 991px) {
            right: 40%;
            top: 17%;
        }

        @media (max-width: 767px) {
            right: 36%;
            top: 16%;
        }

        @media (max-width: 575px) {
            right: 32%;
            top: 14%;
        }

        @media (max-width: 390px) {
            right: 28%;
            top: 13%;
        }
    }

    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        rotate: 180deg;
        left: 43%;

        @media (max-width: 1199px) {
            left: 42%;
        }

        @media (max-width: 991px) {
            left: 40%;
            top: 17%;
        }

        @media (max-width: 767px) {
            left: 36%;
            top: 16%;
        }

        @media (max-width: 575px) {
            left: 32%;
            top: 14%;
        }

        @media (max-width: 390px) {
            left: 28%;
            top: 13%;
        }
    }

    .info-card {
        background-color: var(--color-primary-250);
        color: var(--color-white);
        padding: 30px;
        border-radius: 20px;
    }

    .block-header.collapsed i {
        transform: rotate(180deg);
    }

    .block-header i {
        transition: transform 0.3s ease;
    }
}

.contact-sec {
    .masked {
        display: none;
    }

    .form-wrap {
        background-color: var(--color-primary-200);
        padding: 30px;
        border-radius: 20px;
        max-width: 600px;
        margin-left: auto;

        @media (max-width: 767px) {
            padding: 20px;
        }
    }
}