/* =================================================================== PRE-FOOTER CTA global css =================================================================== */
.site-cta {
    padding-block: var(--sp80);
    background: var(--gradient1);
    color: var(--white);

    & .site-cta__inner {
        display: flex; align-items: center; justify-content: space-between;
        gap: var(--sp40);
    }

    & .site-cta__kicker { margin-bottom: var(--sp10); color: rgba(255, 255, 255, .85); }

    & .site-cta__title { font-size: var(--f40); color: var(--white); }

    & .btn-outline {
        background: transparent;
        border-color: rgba(255, 255, 255, .4);
        color: var(--white);
    }
}

@media (max-width: 991.98px) {
    .site-cta {
        & .site-cta__inner { flex-direction: column; align-items: flex-start; gap: var(--sp25); }
    }
}

@media (max-width: 575.98px) {
    .site-cta {
        & .site-cta__actions { width: 100%; }
    }
}

/* =================================================================== FOOTER global css =================================================================== */
.site-footer {
    position: relative;
    padding-top: var(--sp80);
    background: var(--dark-900);
    color: var(--white);

    /* footer is the one dark area left on the site — scoped text colours */
    & h2, & h3 { color: var(--white); }
    & p { color: rgba(255, 255, 255, .74); }






    & .site-footer__grid {
        display: grid;
        grid-template-columns: 1.4fr .8fr 1fr 1.3fr;
        gap: var(--sp50);
        padding-bottom: var(--sp60);

        /* newsletter column switched off in Theme Settings */
        &.site-footer__grid--no-news { grid-template-columns: 1.4fr .8fr 1fr; }
    }

    & .site-footer__logo img { width: 190px; margin-bottom: var(--sp25); }

    & .site-footer__about { margin-bottom: var(--sp20); font-size: var(--f15); }

    & .site-footer__joint {
        font-size: var(--f14);
        & a { color: var(--white); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
        & a:hover { color: var(--blue-400); }
    }

    & .site-footer__heading {
        position: relative;
        margin-bottom: var(--sp30);
        padding-bottom: var(--sp15);
        font-size: var(--f20);
        letter-spacing: 0;

        &::after {
            position: absolute; bottom: 0; left: 0;
            width: 48px; height: 2px;
            background: var(--primary);
            content: "";
        }
    }

    & .site-footer__links {
        display: grid;
        gap: var(--sp12);
        & a { font-size: var(--f15); color: rgba(255, 255, 255, .74); transition: var(--transition); }
        & a:hover { color: var(--white); padding-left: var(--sp4); }
    }

    & .site-footer__news-text { margin-bottom: var(--sp20); font-size: var(--f15); }

    & .site-footer__form { display: grid; gap: var(--sp12); }

    & .site-footer__field {
        display: flex; align-items: center;
        gap: var(--sp10);
        min-height: 56px;
        padding-inline: var(--sp20);
        background: var(--dark-800);
        border: 1px solid var(--line-dark);
        border-radius: var(--r-md);
        color: rgba(255, 255, 255, .6);
        transition: var(--transition);

        &:focus-within { border-color: var(--primary); }

        & input {
            flex: 1;
            min-width: 0;
            height: 54px;
            background: transparent;
            border: 0;
            font-size: var(--f15);
            color: var(--white);
            outline: 0;
            &::placeholder { color: rgba(255, 255, 255, .5); }
        }
    }

    & .site-footer__submit { width: 100%; border-radius: var(--r-md); }

    & .site-footer__bottom {
        display: flex; align-items: center; justify-content: space-between;
        gap: var(--sp20);
        padding-block: var(--sp25);
        border-top: 1px solid var(--line-dark);
    }

    & .site-footer__copy { font-size: var(--f14); }

    & .site-footer__legal {
        display: flex; flex-wrap: wrap;
        gap: var(--sp25);
        & a { font-size: var(--f14); color: rgba(255, 255, 255, .74); }
        & a:hover { color: var(--white); }
    }

    & .site-footer__top {
        position: fixed; right: var(--sp30); bottom: var(--sp30);
        z-index: var(--z-sticky);
        display: grid; place-items: center;
        width: 52px; height: 52px;
        background: var(--primary);
        border-radius: var(--r-full);
        color: var(--white);
        box-shadow: 0 10px 24px rgba(var(--primary-rgb), .35);
        opacity: 0;
        visibility: hidden;
        transform: translateY(12px);

        &.is-visible { opacity: 1; visibility: visible; transform: none; }
        &:hover { background: var(--primary-dark); }
    }
}

/* =================================================================== RESPONSIVE =================================================================== */
@media (max-width: 1199.98px) {
    .site-footer {
        & .site-footer__grid,
        & .site-footer__grid.site-footer__grid--no-news { grid-template-columns: 1fr 1fr; }
    }
}

@media (max-width: 991.98px) {
    .site-footer {
    }
}

@media (max-width: 767.98px) {
    .site-footer {
        & .site-footer__grid,
        & .site-footer__grid.site-footer__grid--no-news { grid-template-columns: 1fr; gap: var(--sp40); }
        & .site-footer__bottom { flex-direction: column; align-items: flex-start; }
        & .site-footer__top { right: var(--sp15); bottom: var(--sp15); width: 46px; height: 46px; }
    }
}
