@import url('faq.css');
@import url('why-choose-us.css');
@import url('banner.css');

@media (min-width: 1199px) {
    section {
        padding: 80px 0;
    }
}

section.banner {
    background-color: hsl(var(--primary));
    overflow: hidden;
    position: relative;

    nav.breadcrumbs {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px;

        a {
            color: rgba(255, 255, 255, 0.7);
            text-decoration: none;
            transition: .3s;

            &:hover {
                color: rgb(255 255 255);
            }
        }

        svg {
            height: 1rem;
            width: 1rem;
            color: rgba(255, 255, 255, 0.7);
        }
    }

    .container-fluid {
        position: relative;
        z-index: 1;
    }

    .position-absolute.c-bg {
        opacity: .05;
        background-image: url('../../assets/images/global/bg.svg');
        z-index: 0;
        width: 100%;
        height: 140%;
        top: 0%;
        left: 0;
        position: absolute;
    }

    svg.position-absolute {
        left: 0;
        bottom: -1px;
        position: absolute;
    }

    .banner_content {
        gap: 48px;
        align-items: center;

        >div {
            width: 100%;
        }

        .subheading {
            color: hsl(var(--gold));
        }

        a.bg-cta {
            width: max-content;
        }

        .image {
            overflow: hidden;
            border-radius: 12px;
            border: 4px solid hsl(var(--primary-foreground) / .1);

            img {
                width: 100%;
                object-fit: cover;
                aspect-ratio: 4 / 3;
            }
        }
    }

    .banner-highlights {
        p {
            color: hsl(var(--primary-foreground) / .8);
            margin-bottom: 0;
        }

        svg {
            color: hsl(var(--gold));
        }

        .highlight-item {
            gap: 4px;
        }

        .highlight-item:first-of-type svg {
            fill: currentColor !important;
        }
    }

    @media (min-width: 1025px) {
        padding: 80px 0 140px;

        .banner-highlights {
            gap: 20px;
            justify-content: space-between;
        }
    }

    @media (max-width: 1024px) {
        text-align: center;
        padding: 64px 0 120px;

        .banner_content {
            flex-direction: column;
        }

        nav.breadcrumbs {
            justify-content: center;
        }

        a.bg-cta {
            margin-left: auto;
            margin-right: auto;
        }
    }

    @media (min-width: 768px) {
        .banner-highlights .highlight-item {
            width: 100%;
        }
    }

    @media (max-width: 767px) {
        .banner-highlights {
            flex-wrap: wrap;
            gap: 32px 0;

            .highlight-item {
                width: 50%;
            }
        }
    }

    @media (max-width: 575px) {
        .banner_content .cta {
            flex-direction: column;
        }
    }
}

section.our-services {
    background: #fff;

    .header_content {
        margin: 0 auto 64px;
        max-width: 768px;

        a {
            color: hsl(var(--cta));
            text-decoration: none;
            transition: .3s;

            &:hover {
                text-decoration: underline;
            }
        }
    }

    .services-grid {
        gap: 24px;

        @media (min-width: 1025px) {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        @media (min-width: 768px) and (max-width: 1024px) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @media (max-width: 767px) {
            grid-template-columns: 1fr;
        }
    }

    .service-card.landing-card {
        background: hsl(var(--card)) !important;
        border: 1px solid rgba(30, 58, 95, 0.12);
        border-radius: 12px;
        padding: 24px;
        display: block;
        height: auto;
        box-shadow: 0 10px 15px -3px rgb(0 0 0 / .06), 0 4px 6px -4px rgb(0 0 0 / .06);

        .icon {
            height: 56px;
            width: 56px;
            background-color: hsl(var(--cta) / .2);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: .3s;
        }

        h3 {
            color: hsl(var(--card-foreground));
        }

        &:hover {
            box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);

            .icon {
                background-color: hsl(var(--cta) / .3);
            }
        }
    }
}

section.why-choose-us {
    .header_content {
        margin-left: auto;
        margin-right: auto;
        max-width: 768px;

        p {
            color: hsl(var(--primary-foreground) / .7);
        }
    }
}

section.how-it-works {
    background: #fff;

    .content {
        max-width: 1024px;
        margin: auto;
    }

    .benefits-container .d-grid {
        gap: 32px;
    }

    .project-card .step-circle {
        height: 64px;
        width: 64px;
        border-radius: 9999px;
        background-color: hsl(var(--cta));
        color: hsl(var(--cta-foreground));
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        margin: 0 auto 24px;
    }

    .d-grid {
        @media (min-width: 768px) {
            grid-template-columns: 1fr 1fr 1fr;
        }

        @media (max-width: 767px) {
            grid-template-columns: 1fr;
            gap: 24px;
        }
    }
}

section.faq {
    .header_content {
        .mb-0 p:last-of-type {
            margin-bottom: 0;
        }

        a {
            font-weight: 600;
            color: rgb(244, 121, 72);
            text-decoration: none;
        }
    }

    .d-flex {
        @media (min-width: 1200px) {
            gap: 48px;
            justify-content: space-between;

            >div {
                width: 100%;
                max-width: 652px;
            }
        }

        @media (max-width: 1199px) {
            flex-direction: column;
            gap: 40px;
        }
    }

    .header_content {
        @media (min-width: 1200px) {
            position: sticky;
            top: 15%;
            height: 100%;
        }

        @media (max-width: 1199px) {
            text-align: center;
        }
    }
}

section.service-area-reco {
    background: #fff;

    p {
        max-width: 672px;
    }

    a {
        text-decoration: none;
        transition: .2s;

        &.pill {
            padding: 8px 16px;
            border-radius: 9999px;

            &:hover {
                background: hsl(var(--cta));
                color: hsl(var(--cta-foreground));
                border-color: transparent;
            }
        }

        &.cta_area {
            display: inline-block;
            margin-top: 24px;
            padding: 8px 16px;
            border-radius: 6px;
            border: 2px solid hsl(var(--cta)) !important;
            transition: .3s;
            color: hsl(var(--cta));

            &:hover {
                background: hsl(var(--cta));
                color: #fff;
            }
        }

        &:hover .mini-link {
            color: hsl(var(--cta));
        }
    }

    svg {
        height: 2.5rem;
        width: 2.5rem;
    }

    .page-links {
        display: flex;
        justify-content: center;
        gap: 24px;
        flex-wrap: wrap;
    }

    .mini-sep {
        opacity: .45;
    }

    .area-pills {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    hr {
        margin: 32px 0;
        border-color: hsl(var(--border));
        opacity: 1;
    }
}

section.cta_group {
    background: hsl(var(--cta));

    .d-flex {
        align-items: center;
        justify-content: space-between;
        gap: 24px;

        @media (min-width: 1025px) {
            h2 {
                font-size: 36px;
            }
        }

        @media (max-width: 991px) {
            flex-direction: column;
            text-align: center;
        }
    }

    .cta {
        gap: 12px;


        @media (max-width: 575px) {
            a {
                width: 100%;
            }
        }
    }
}

section.contact {
    background-color: hsl(var(--primary));

    h3 {
        color: rgb(30, 58, 95);
        font-size: 24px;
    }

    .header_content p.mb-32 {
        color: hsl(var(--primary-foreground) / .7);
    }

    .contact-detail {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .contact-item {
        display: flex;
        gap: 16px;
        text-decoration: none;
    }

    .icon {
        height: 48px;
        width: 48px;
        border-radius: 8px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: hsl(var(--cta) / .1);
    }

    .contact-item p {
        display: flex;
        flex-direction: column;
        width: max-content;
        margin: 0;

        .fs-16 {
            font-weight: 600;
        }

        .fs-14 {
            color: hsl(var(--primary-foreground) / .6);
        }
    }

    .g_box {
        padding: 16px;
        border-radius: 8px;
        background-color: hsl(var(--primary-foreground) / .1);
        border: 1px solid hsl(var(--primary-foreground) / .2);
        width: max-content;

        span {
            font-weight: 600;
        }
    }

    .form-container {
        background-color: hsl(var(--card));
        box-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);
        border: 1px solid rgba(30, 58, 95, 0.2);
        border-radius: 12px;
        padding: 32px;

        .two-cols {
            display: flex;
            gap: 20px;

        }

        label {
            font-size: 14px;
            margin-bottom: 8px;
            font-weight: 500;
            color: rgb(30 58 95 / var(--tw-text-opacity, 1));
        }

        span.wpcf7-not-valid-tip {
            font-size: 14px;
            margin-top: 8px;
        }

        span.wpcf7-list-item-label {
            font-weight: 400;
            margin: 0 16px 0 0;


        }

        span.wpcf7-list-item {
            margin: 0 !important;

            label {
                gap: 8px;
                display: flex;
                margin: 0 !important;
            }
        }

        span.wpcf7-spinner {
            position: absolute;
        }
    }

    .field,
    input,
    select {
        width: 100%;
    }

    select,
    input:not(.bg-cta):not([type="radio"]) {
        font-size: 14px;
        padding: 8px 12px;
        background-color: hsl(var(--background));
        border: 1px solid rgba(30, 58, 95, 0.3);
        border-radius: 8px;
        min-height: 40px;
    }

    input.bg-cta {
        border: none;
        height: 48px;
    }

    @media (min-width: 1200px) {
        .wrapper>.d-flex {
            justify-content: space-between;
            gap: 30px;

            >div {
                width: 100%;
                max-width: 652px;
            }
        }
    }

    @media (max-width: 1199px) {
        .wrapper>.d-flex {
            flex-direction: column;
            gap: 40px;
        }
    }

    @media (max-width: 767px) {
        .form-container {
            padding: 20px;
        }

        .two-cols {
            gap: 0px !important;
            flex-direction: column;
        }
    }
}