/* =========================================================
   FUTURESPROPWATCH
   FOOTER
========================================================= */

.fpw-footer {

    position: relative;

    width: 100%;

    margin-top: 0;

    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #f3f7fc 100%
        );

    border-top:
        1px solid #dfe7f0;

}


/* =========================================================
   TOP BLUE GLOW
========================================================= */

.fpw-footer::before {

    content: "";

    position: absolute;

    width: 600px;
    height: 260px;

    top: -180px;
    left: 50%;

    transform:
        translateX(-50%);

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgba(20,110,245,.09),
            transparent 70%
        );

    pointer-events: none;

}


/* =========================================================
   CONTAINER
========================================================= */

.fpw-footer-container {

    position: relative;

    z-index: 2;

    width:
        min(1200px, calc(100% - 44px));

    margin:
        0 auto;

}


/* =========================================================
   MAIN FOOTER
========================================================= */

.fpw-footer-main {

    display: grid;

    grid-template-columns:
        2fr 1fr 1fr 1fr;

    gap: 70px;

    padding:
        70px 0 55px;

}


/* =========================================================
   BRAND
========================================================= */

.fpw-footer-brand {

    max-width: 330px;

}


.fpw-footer-logo {

    display: inline-flex;

    align-items: center;

    text-decoration: none;

}


.fpw-footer-logo img {

    display: block;

    width: 235px;

    max-width: 100%;

    height: auto;

}


.fpw-footer-brand-text {

    margin:
        20px 0 22px;

    max-width: 320px;

    color: #6f8199;

    font-size: 15px;

    line-height: 1.75;

}


/* =========================================================
   SOCIAL
========================================================= */

.fpw-footer-social {

    display: flex;

    align-items: center;

    gap: 9px;

}


.fpw-social-link {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 36px;
    height: 36px;

    border:
        1px solid #d9e3ee;

    border-radius: 9px;

    background:
        #ffffff;

    color: #596c84;

    transition:
        transform .25s ease,
        color .25s ease,
        border-color .25s ease,
        background .25s ease,
        box-shadow .25s ease;

}


.fpw-social-link svg {

    width: 16px;
    height: 16px;

    fill: currentColor;

}


.fpw-social-link:hover {

    transform:
        translateY(-3px);

    color:
        #146ef5;

    border-color:
        #bdd5f4;

    background:
        #f5f9ff;

    box-shadow:
        0 7px 18px rgba(20,110,245,.10);

}


.fpw-social-link:nth-child(2) svg {

    fill: none;

    stroke: currentColor;

    stroke-width: 1.7;

}


.fpw-social-link:nth-child(2)
.fpw-instagram-dot {

    fill: currentColor;

    stroke: none;

}


/* =========================================================
   FOOTER COLUMNS
========================================================= */

.fpw-footer-column {

    display: flex;

    flex-direction: column;

    align-items: flex-start;

}


.fpw-footer-column h3 {

    margin:
        4px 0 19px;

    color: #152034;

    font-size: 16px;

    font-weight: 800;

    letter-spacing: .5px;

    text-transform:
        uppercase;

}


.fpw-footer-column a {

    position: relative;

    display: inline-block;

    margin-bottom: 12px;

    color: #71829a;

    font-size: 15.5px;

    line-height: 1.5;

    text-decoration: none;

    transition:
        color .2s ease,
        transform .2s ease;

}


.fpw-footer-column a::after {

    content: "";

    position: absolute;

    left: 0;

    bottom: -2px;

    width: 0;
    height: 1px;

    background:
        #146ef5;

    transition:
        width .25s ease;

}


.fpw-footer-column a:hover {

    color:
        #146ef5;

    transform:
        translateX(2px);

}


.fpw-footer-column a:hover::after {

    width: 100%;

}


/* =========================================================
   DISCLAIMER
========================================================= */

.fpw-footer-disclaimer {

    padding:
        28px 0;

    border-top:
        1px solid #dfe7f0;

    border-bottom:
        1px solid #dfe7f0;

}


.fpw-disclaimer-heading {

    display: flex;

    align-items: center;

    gap: 9px;

    margin-bottom: 15px;

}


.fpw-disclaimer-icon {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 21px;
    height: 21px;

    border-radius: 6px;

    background:
        #eaf3ff;

    color:
        #146ef5;

    font-size: 11px;

    font-weight: 800;

}


.fpw-disclaimer-heading strong {

    color:
        #34445a;

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        .3px;

}


.fpw-footer-disclaimer p {

    max-width:
        1120px;

    margin:
        0 0 10px;

    color:
        #8291a5;

    font-size:
        10px;

    line-height:
        1.75;

}


.fpw-footer-disclaimer p:last-child {

    margin-bottom:
        0;

}


.fpw-footer-disclaimer strong {

    color:
        #64758b;

}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.fpw-footer-bottom {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 25px;

    min-height:
        72px;

}


.fpw-footer-copyright {

    color:
        #8997a9;

    font-size:
        10px;

}


.fpw-footer-legal {

    display: flex;

    align-items: center;

    gap: 22px;

}


.fpw-footer-legal a {

    color:
        #75859a;

    font-size:
        10px;

    text-decoration:
        none;

    transition:
        color .2s ease;

}


.fpw-footer-legal a:hover {

    color:
        #146ef5;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .fpw-footer-main {

        grid-template-columns:
            1.5fr 1fr 1fr;

        gap:
            45px;

    }


    .fpw-footer-brand {

        grid-column:
            1 / -1;

        max-width:
            520px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .fpw-footer-container {

        width:
            calc(100% - 30px);

    }


    .fpw-footer-main {

        grid-template-columns:
            1fr 1fr;

        gap:
            38px 25px;

        padding:
            50px 0 40px;

    }


    .fpw-footer-brand {

        grid-column:
            1 / -1;

    }


    .fpw-footer-logo img {

        width:
            205px;

    }


    .fpw-footer-brand-text {

        margin-top:
            16px;

        font-size:
            14px;

    }


    .fpw-footer-column h3 {

        margin-bottom:
            15px;

    }


    .fpw-footer-column a {

        margin-bottom:
            10px;

        font-size:
            15.5px;

    }


    .fpw-footer-disclaimer {
        padding:
            24px 0;

    }


    .fpw-footer-disclaimer p {

        font-size:
            9.5px;

        line-height:
            1.7;

    }


    .fpw-footer-bottom {

        align-items:
            flex-start;

        flex-direction:
            column;

        justify-content:
            center;

        gap:
            14px;

        padding:
            20px 0;

    }


    .fpw-footer-legal {

        flex-wrap:
            wrap;

        gap:
            10px 18px;

    }

}

 /* =========================================================
   FUTURESPROFWATCH
   FAQ CTA — CLEAN VERSION
========================================================= */

.fpw-faq-footer {
    position: relative !important;

    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 100%;
    max-width: 1120px;

    min-height: 92px;

    margin: 34px auto 0 !important;
    padding: 20px 22px;

    box-sizing: border-box;

    border: 1px solid #d7e3ec;
    border-radius: 16px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f7faff 100%
        );

    box-shadow:
        0 6px 22px rgba(35, 67, 91, 0.045);

    overflow: hidden;

    isolation: isolate;

    z-index: 2;

    transform: none;

    transition:
        border-color .25s ease,
        box-shadow .25s ease;
}


/* =========================================================
   SUBTLE TOP ACCENT
========================================================= */

.fpw-faq-footer::before {
    content: "";

    position: absolute;

    top: 0;
    left: 22px;
    right: 22px;

    height: 2px;

    background:
        linear-gradient(
            90deg,
            #2379e6 0%,
            #4d73e4 55%,
            #8060df 100%
        );

    border-radius: 0 0 5px 5px;

    opacity: .8;

    pointer-events: none;
}


/* =========================================================
   SOFT BACKGROUND GLOW
========================================================= */

.fpw-faq-footer::after {
    content: "";

    position: absolute;

    width: 240px;
    height: 140px;

    top: -80px;
    right: 80px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(40, 119, 226, .07),
            transparent 70%
        );

    filter: blur(12px);

    pointer-events: none;

    z-index: -1;
}


/* =========================================================
   HOVER
========================================================= */

.fpw-faq-footer:hover {
    border-color: #c4d8e7;

    box-shadow:
        0 10px 28px rgba(35, 67, 91, 0.065);
}


/* =========================================================
   TEXT AREA
========================================================= */

.fpw-faq-footer-text {
    position: relative;

    display: flex;
    flex-direction: column;

    gap: 4px;

    min-width: 0;

    padding-left: 13px;

    z-index: 2;
}


/* Vertical accent */

.fpw-faq-footer-text::before {
    content: "";

    position: absolute;

    top: 2px;
    bottom: 2px;
    left: 0;

    width: 3px;

    border-radius: 5px;

    background:
        linear-gradient(
            180deg,
            #1679e8,
            #7357df
        );
}


.fpw-faq-footer-text strong {
    display: block;

    margin: 0;

    color: #193852;

    font-size: 17px;

    line-height: 1.3;

    font-weight: 800;

    letter-spacing: -.2px;
}


.fpw-faq-footer-text span {
    display: block;

    margin: 0;

    color: #70879a;

    font-size: 16px;

    line-height: 1.45;

    font-weight: 500;
}


/* =========================================================
   ACTIONS
========================================================= */

.fpw-faq-footer-actions {
    position: relative;

    display: flex;
    align-items: center;

    gap: 8px;

    flex: 0 0 auto;

    z-index: 3;
}


/* =========================================================
   BUTTON BASE
========================================================= */

.fpw-faq-secondary-btn,
.fpw-faq-primary-btn {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    min-width: 145px;
    height: 40px;

    padding: 0 14px;

    box-sizing: border-box;

    border-radius: 9px;

    font-family: inherit;

    font-size: 14px;

    font-weight: 750;

    line-height: 1;

    text-decoration: none;

    white-space: nowrap;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        box-shadow .2s ease;
}


/* =========================================================
   SECONDARY BUTTON
========================================================= */

.fpw-faq-secondary-btn {

    border: 1px solid #d4e1ea;

    background: #ffffff;

    color: #35536a;

    box-shadow:
        0 2px 6px rgba(30, 65, 90, .025);
}


.fpw-faq-secondary-btn:hover {

    transform:
        translateY(-1px);

    border-color:
        #b8d1e2;

    background:
        #f7fbff;

    color:
        #176edb;

    box-shadow:
        0 5px 14px rgba(30, 65, 90, .07);
}


/* =========================================================
   PRIMARY BUTTON
========================================================= */

.fpw-faq-primary-btn {

    border: 1px solid #236fe0;

    background:
        linear-gradient(
            135deg,
            #2479e7 0%,
            #3e62dc 100%
        );

    color: #ffffff;

    box-shadow:
        0 5px 13px rgba(35, 105, 220, .16);
}


.fpw-faq-primary-btn:hover {

    transform:
        translateY(-1px);

    border-color:
        #1d63cf;

    background:
        linear-gradient(
            135deg,
            #2b83ec 0%,
            #4b69e1 100%
        );

    color: #ffffff;

    box-shadow:
        0 7px 18px rgba(35, 105, 220, .22);
}


/* =========================================================
   ARROW
========================================================= */

.fpw-faq-secondary-btn span,
.fpw-faq-primary-btn span {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    font-size: 15px;

    line-height: 1;

    transition:
        transform .2s ease;
}


.fpw-faq-secondary-btn:hover span,
.fpw-faq-primary-btn:hover span {

    transform:
        translateX(3px);
}


/* =========================================================
   IMPORTANT:
   PREVENT GLOBAL FOOTER OVERLAP
========================================================= */

#footer-container {

    position: relative !important;

    z-index: 5;

    margin-top: 55px !important;

    clear: both;
}


/*
   If your footer itself has a negative margin,
   this prevents it from climbing over the FAQ CTA.
*/

#footer-container > * {

    position: relative;

    z-index: 5;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 800px) {

    .fpw-faq-footer {

        max-width: 100%;

        min-height: auto;

        margin-top: 28px !important;

        padding: 20px;
    }


    .fpw-faq-footer-actions {

        flex:
            0 0 auto;
    }


    .fpw-faq-secondary-btn,
    .fpw-faq-primary-btn {

        min-width:
            135px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 620px) {

    .fpw-faq-footer {

        display:
            flex;

        flex-direction:
            column;

        align-items:
            stretch;

        gap:
            18px;

        padding:
            19px;

        border-radius:
            14px;

        margin-top:
            24px !important;
    }


    .fpw-faq-footer-text {

        width:
            100%;
    }


    .fpw-faq-footer-actions {

        display:
            grid;

        grid-template-columns:
            1fr 1fr;

        width:
            100%;

        gap:
            8px;
    }


    .fpw-faq-secondary-btn,
    .fpw-faq-primary-btn {

        width:
            100%;

        min-width:
            0;

        height:
            42px;

        padding:
            0 9px;

        font-size:
            10.5px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .fpw-faq-footer {

        padding:
            17px;
    }


    .fpw-faq-footer-text strong {

        font-size:
            16px;
    }


    .fpw-faq-footer-text span {

        font-size:
            14px;
    }


    .fpw-faq-footer-actions {

        grid-template-columns:
            1fr;
    }


    .fpw-faq-secondary-btn,
    .fpw-faq-primary-btn {

        height:
            40px;

        font-size:
            13px;
    }
}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.fpw-faq-secondary-btn:focus-visible,
.fpw-faq-primary-btn:focus-visible {

    outline:
        3px solid rgba(35, 111, 224, .18);

    outline-offset:
        3px;
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .fpw-faq-footer,
    .fpw-faq-secondary-btn,
    .fpw-faq-primary-btn,
    .fpw-faq-secondary-btn span,
    .fpw-faq-primary-btn span {

        transition:
            none !important;
    }
}