/* =========================================================
   VARIABLES GENERALES
========================================================= */

body {
    color:
        var(
            --site-text,
            #334155
        );

    background:
        var(
            --site-background,
            #ffffff
        );
}


/* =========================================================
   COLORES DEL TEMA
========================================================= */

.logo-symbol,
.contact-icon,
.service-card-icon,
.public-services-empty > div,
.public-projects-empty > div {
    color:
        var(
            --site-primary,
            #635bff
        );
}


.header-contact-button,
.site-primary-button,
.cta-button {
    background:
        linear-gradient(
            135deg,
            var(
                --site-primary,
                #635bff
            ),
            var(
                --site-secondary,
                #0ea5e9
            )
        );
}


.section-eyebrow.dark,
.project-card-client {
    color:
        var(
            --site-secondary,
            #0ea5e9
        );
}


.service-card-link,
.project-card-link:hover,
.project-card-open:hover {
    color:
        var(
            --site-primary,
            #635bff
        );
}


.service-card-link span,
.project-card-link span,
.project-card-technologies span {
    color:
        var(
            --site-primary,
            #635bff
        );
}


/* =========================================================
   FOOTER
========================================================= */

.site-footer {
    padding-top: 70px;

    color:
        rgba(
            255,
            255,
            255,
            .72
        );

    background:
        #0f172a;
}


.footer-grid {
    display: grid;

    grid-template-columns:
        1.4fr .8fr 1fr;

    gap: 60px;

    padding-bottom: 55px;
}


.footer-brand {
    max-width: 430px;
}


.footer-logo {
    max-width: 190px;

    max-height: 65px;

    margin-bottom: 20px;

    object-fit: contain;
}


.footer-company-name {
    display: block;

    margin-bottom: 18px;

    color: white;

    font-size: 22px;
}


.footer-brand p {
    margin:
        0 0 22px;

    font-size: 12px;

    line-height: 1.8;
}


.footer-social {
    display: flex;

    gap: 9px;
}


.footer-social a {
    width: 38px;
    height: 38px;

    border:
        1px solid
        rgba(
            255,
            255,
            255,
            .10
        );

    border-radius: 11px;

    display: flex;

    align-items: center;

    justify-content: center;

    color: white;

    background:
        rgba(
            255,
            255,
            255,
            .05
        );

    transition:
        transform .2s ease,
        background .2s ease;
}


.footer-social a:hover {
    transform:
        translateY(-3px);

    background:
        var(
            --site-primary,
            #635bff
        );
}


.footer-column > strong {
    display: block;

    margin-bottom: 18px;

    color: white;

    font-size: 12px;
}


.footer-links {
    display: flex;

    flex-direction: column;

    gap: 11px;
}


.footer-links a {
    color:
        rgba(
            255,
            255,
            255,
            .64
        );

    font-size: 10px;

    transition: .2s ease;
}


.footer-links a:hover {
    color: white;

    transform:
        translateX(3px);
}


.footer-contact-list {
    display: flex;

    flex-direction: column;

    gap: 13px;
}


.footer-contact-list a,
.footer-contact-list > div {
    display: flex;

    align-items: flex-start;

    gap: 9px;

    color:
        rgba(
            255,
            255,
            255,
            .65
        );

    font-size: 10px;

    line-height: 1.6;
}


.footer-contact-list i {
    margin-top: 2px;

    color:
        var(
            --site-secondary,
            #0ea5e9
        );
}


.footer-bottom {
    min-height: 75px;

    border-top:
        1px solid
        rgba(
            255,
            255,
            255,
            .08
        );

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    color:
        rgba(
            255,
            255,
            255,
            .42
        );

    font-size: 9px;
}


/* =========================================================
   WHATSAPP
========================================================= */

.floating-whatsapp {
    position: fixed;

    right: 22px;
    bottom: 22px;

    z-index: 3500;

    min-height: 50px;

    padding:
        0 17px;

    border-radius: 30px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 8px;

    color: #ffffff;

    background: #25D366;

    box-shadow:
        0 12px 30px
        rgba(
            37,
            211,
            102,
            .30
        );

    font-size: 10px;

    font-weight: 650;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.floating-whatsapp i {
    font-size: 19px;
}


.floating-whatsapp:hover {
    color: white;

    transform:
        translateY(-4px);

    box-shadow:
        0 18px 40px
        rgba(
            37,
            211,
            102,
            .38
        );
}


/* =========================================================
   MOBILE HEADER CTA
========================================================= */

.mobile-header-cta {
    margin-top: 14px;

    border-radius: 12px;

    color: white !important;

    background:
        linear-gradient(
            135deg,
            var(--site-primary),
            var(--site-secondary)
        );
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 850px) {

    .footer-grid {
        grid-template-columns:
            1fr 1fr;

        gap: 40px;
    }


    .footer-brand {
        grid-column:
            span 2;
    }

}


@media (max-width: 560px) {

    .site-footer {
        padding-top:
            50px;
    }


    .footer-grid {
        grid-template-columns:
            1fr;

        gap: 35px;
    }


    .footer-brand {
        grid-column:
            auto;
    }


    .footer-bottom {
        padding:
            20px 0;

        flex-direction:
            column;

        align-items:
            flex-start;

        justify-content:
            center;
    }


    .floating-whatsapp {
        right: 14px;
        bottom: 14px;

        width: 52px;
        height: 52px;

        min-height: 52px;

        padding: 0;
    }


    .floating-whatsapp span {
        display: none;
    }

}