@import url(../css/font.css);

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

:root {
    --sf-regular: 'SFProDisplay-Regular', sans-serif;
    --sf-medium: 'SFProDisplay-Medium', sans-serif;
    --bg-morado: #7f46f1;
    --bg-morado-claro: #9669f0;
}

body {
    width: 100%;
    font-family: var(--sf-regular);
}

main {
    width: 100%;
    overflow: hidden;
}

.margin-section {
    margin-top: 100px;
}

section {
    width: 100%;
    height: 100%;
    padding-block: 8rem;
    position: relative;
}

.container {
    width: 92%;
    max-width: 1400px;
    margin: auto;
}

h2,
.gTitle {
    text-align: center;
    /* font-size: 48px; */
    font-size: clamp(24px, 5vw, 48px);
    margin-bottom: 48px;
    font-weight: 400;
}

.none {
    display: none;
}

h1 {
    font-family: var(--sf-regular);
    font-size: 2.5rem;
    color: #000;
    text-align: center;
    margin-bottom: 1rem;
}

.mainTitle {
    font-size: clamp(1.5rem, 5vw, 3.5rem);
    font-weight: normal;
    line-height: 1.1;
    color: #000;
    font-weight: normal;
    letter-spacing: .025rem;

}

li {
    list-style: none;

}

img {

    width: 100%;
    height: auto;
}

a {
    text-decoration: none;

}

/*Clases generales*/
.flex-col {
    display: flex;
    flex-direction: column;
    /* justify-content: center;
    align-items: center; */
}


.flex-row {
    display: flex;
    align-items: center;

}

.content-tabs-container {
    max-width: 100%;

    .tabs-navigation {
        display: flex;
        justify-content: center;
        margin-bottom: 30px;
        flex-wrap: wrap;
        gap: 10px;
        position: relative;
        z-index: 5;
    }

    .tab-button {
        padding: 12px 30px;
        background-color: #f5f5f5;
        border: 1px solid #ddd;
        border-radius: 30px;
        cursor: pointer;
        font-weight: 500;
        transition: all 0.3s ease;
        outline: none;
        position: relative;
        z-index: 1;
        font-size: 16px;
        min-width: 120px;
        text-align: center;
		color: #000;

        &:hover {
            background-color: #e9e9e9;
            transform: translateY(-2px);
        }

        &.active {
            background-color: #000;
            color: #fff;
            border-color: #000;
            transform: translateY(0);
        }
    }

    .tab-content {
        display: none !important;
        padding-block: 2rem;

        opacity: 0;
        transition: opacity 0.3s ease;

        &.active {
            display: flex !important;
            opacity: 1;
            animation: fadeIn 0.5s ease;
            flex-direction: row-reverse;
            gap: 30px;
        }

        .posts-grid,
        .featured-post {
            width: 50%;
        }

        .posts-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 25px;

            .post-card {
                background-color: #fff;
                border-radius: 8px;
                overflow: hidden;
                box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
                transition: transform 0.3s ease, box-shadow 0.3s ease;
                position: relative;

                &:hover {
                    .post-thumbnail {
                        img {
                            filter: brightness(1);
                            transform: scale(1.1);
                        }
                    }
                }

                .card-link {
                    display: flex;
                    flex-direction: row-reverse;
                    align-items: center;
                    gap: 10px;
                    text-decoration: none;
                    color: inherit;
                    height: 100%;
                    padding: 20px;
                    box-shadow: 0 30px 60px 0 rgba(141, 139, 139, 0.2);
                }

                .info {

                    width: 50%;

                    .post-badge {
                        display: inline-block;
                        background-color: #000;
                        color: #fff;
                        padding: 5px 10px;
                        font-size: 12px;
                        border-radius: 4px;
                        margin-bottom: 10px;
                    }

                    .post-date {
                        color: #777;
                        font-size: 14px;
                        margin-bottom: 5px;
                    }

                    .post-title {
                        margin-top: 5px;
                        margin-bottom: 15px;
                        font-weight: 400;
                        font-size: 18px;
                        line-height: 1.4;
                        color: #333;
                    }
                }

                .post-thumbnail {
                    width: 50%;
                    margin-bottom: 0;
                    border-radius: 6px;
                    max-height: 197px;
                    overflow: hidden;

                    img {
                        width: 100%;
                        height: auto;
                        transform: scale(1);
                        filter: brightness(0.5);
                        transition: transform 0.3s ease;

                    }
                }

                &.empty-card {
                    display: none;
                }

                &:nth-child(n+3) {
                    display: none;
                }
            }
        }

        .featured-post {

            .post-card.featured {
                height: 100%;
                background-color: #fff;
                border-radius: 8px;
                overflow: hidden;
                box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
                transition: transform 0.3s ease, box-shadow 0.3s ease;
                position: relative;

                &:hover {
                    .post-thumbnail {
                        img {
                            filter: brightness(1);
                            transform: scale(1.1);
                        }
                    }
                }

                .card-link {
                    display: flex;
                    flex-direction: column;
                    text-decoration: none;
                    color: inherit;
                    height: 100%;
                    padding: 20px;
                }

                .info {


                    .post-badge {
                        display: inline-block;
                        background-color: #000;
                        color: #fff;
                        padding: 5px 10px;
                        font-size: 12px;
                        border-radius: 4px;
                        margin-bottom: 10px;
                    }

                    .post-date {
                        color: #777;
                        font-size: 14px;
                        margin-bottom: 5px;
                    }

                    .post-title {
                        font-size: 22px;
                        font-weight: 400;
                        margin-bottom: 15px;
                        line-height: 1.4;
                        color: #333;


                    }
                }

                .post-thumbnail {
                    margin-bottom: 15px;
                    border-radius: 6px;

                    overflow: hidden;

                    figure {


                        img {
                            width: 100%;
                            height: auto;
                            filter: brightness(0.5);
                            transform: scale(1);
                            transition: transform 0.3s ease;
                        }
                    }

                }

                .post-excerpt {
                    color: #666;
                    font-size: 15px;
                    line-height: 1.6;
                }

                &:not(:first-child) {
                    display: none;
                }
            }
        }
    }

    .tab-pagination {
        display: none;
    }
}

.form-wrapper {
    width: 50%;
    max-width: 580px;
    align-items: center;

    .wpcf7 {
        width: 100%;

        .wpcf7-form {
            width: 100%;

            br {
                display: none;
            }


            .form-row {
                display: flex;
                gap: 20px;
                margin-bottom: 20px;

                &.full-width {
                    flex-direction: column;

                    .wpcf7-form-control-wrap {
                        .wpcf7-form-control.wpcf7-acceptance {
                            .wpcf7-list-item {
                                margin: 0;

                                label {
                                    display: flex;
                                    justify-content: space-between;
                                    align-items: start;
                                    gap: 10px;

                                    input[type="checkbox"] {
                                        background: #7f46f1;
                                        height: 16px;
                                        width: 16px;
                                        overflow: hidden;
                                        border-radius: .1875rem;
                                        -webkit-appearance: none;
                                        -moz-appearance: none;
                                        appearance: none;
                                        position: relative;
                                        cursor: pointer;

                                        &::after {
                                            content: "";
                                            position: absolute;
                                            top: 2px;
                                            left: 5px;
                                            width: 4px;
                                            height: 8px;
                                            border: solid white;
                                            border-width: 0 2px 2px 0;
                                            transform: rotate(45deg);
                                            opacity: 0;
                                            transition: opacity 0.2s ease;
                                        }

                                        &:checked::after {
                                            opacity: 1;
                                        }
                                    }

                                    .wpcf7-list-item-label {
                                        font-size: .75rem;
                                        /* line-height: 2; */

                                        color: #000;

                                        br {
                                            display: block;
                                        }

                                        a {
                                            color: #7f46f1;
                                            text-decoration: underline;
                                        }
                                    }
                                }

                            }
                        }
                    }
                }

                >.floating-label-group {
                    flex: 1;
                    position: relative;
                }
            }

            .floating-label-group {
                position: relative;

                label {
                    position: absolute;
                    left: 15px;
                    top: 50%;
                    transform: translateY(-50%);
                    transition: all 0.3s ease;
                    pointer-events: none;
                    color: #777;
                    padding: 0;
                    z-index: 1;

                    &.active {
                        top: 2%;
                        left: 18px;
                        padding: 5px;
                        background-color: white;
                        font-size: 12px;
                    }
                }

                textarea~label {
                    top: 25px;
                }

                input,
                textarea {
                    width: 100%;
                    padding: 15px;
                    border: 1px solid #8d8b8b;
                    border-radius: 12px;
                    background-color: #fff;
                    font-size: 16px;
                }

                textarea {
                    resize: none;
                    height: 6.0625rem;
                }

                input:focus~label,
                textarea:focus~label,
                input:not(:placeholder-shown)~label,
                textarea:not(:placeholder-shown)~label {
                    top: -10px;
                    left: 10px;
                    font-size: 12px;
                    background-color: #fff;
                    padding: 0 5px;
                    z-index: 2;
                }

                input:focus,
                textarea:focus {
                    outline: none;
                }
            }

            .submit-row {
                display: flex;
                justify-content: flex-start;
            }

            .wpcf7-submit {
                background-color: transparent;
                color: #000;
                padding: 12px 30px;
                border: 1px solid #000;
                border-radius: 50px;
                font-weight: bold;
                cursor: pointer;
                transition: background-color 0.3s, color 0.3s;
                margin-top: 10px;

                &:hover {
                    background-color: #000;
                    color: #fff;
                }

                &:disabled {
                    cursor: not-allowed;
                }
            }

        }
    }

}

.aminateWebflow {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;

    iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
    }

}

.gButton {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 52px;
    width: fit-content;
    background: #000;
    border-radius: 25px;
    font-size: 16px;
    line-height: normal;
    color: white;
    transition: all 400ms ease;
    padding: 0 50px;
    box-sizing: border-box;
    border: 0;
}

/*Fin clases generales*/

/*Estilos header*/
.header {
    width: 100%;
    /* height: 100%; */
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background: transparent;


    .header-top {
        height: 28px;
        background: #000;

        width: 100%;

        justify-content: space-between;
        transition: all 0.3s ease;

        .container {
            height: 100%;
            max-width: 1400px;

            .left,
            .right {
                width: 100%;
                height: 100%;
                justify-content: flex-start;

                .custom-header-menu {
                    height: 100%;

                    li {
                        height: 100%;

                        a {
                            height: 100%;
                            font-size: 12px;
                            line-height: normal;
                            color: #868686;
                            padding: 0 20px;
                            position: relative;
                            height: 100%;
                            display: -webkit-box;
                            display: -moz-box;
                            display: -webkit-flex;
                            display: -ms-flexbox;
                            display: box;
                            display: flex;
                            -webkit-box-align: center;
                            -moz-box-align: center;
                            -o-box-align: center;
                            -ms-flex-align: center;
                            -webkit-align-items: center;
                            align-items: center;
                            -webkit-box-pack: center;
                            -moz-box-pack: center;
                            -o-box-pack: center;
                            -ms-flex-pack: center;
                            -webkit-justify-content: center;
                            justify-content: center;
                            -webkit-transition: all 0.2s ease;
                            -moz-transition: all 0.2s ease;
                            -o-transition: all 0.2s ease;
                            -ms-transition: all 0.2s ease;
                            transition: all 0.2s ease;
                        }

                        &.active {
                            a {
                                position: relative;
                                background-color: rgba(255, 255, 255, 0.1);

                                &::before {
                                    content: '';
                                    position: absolute;
                                    left: 0;
                                    top: 0;
                                    background-color: #7f46f1;
                                    width: 100%;
                                    height: 2px;
                                }
                            }
                        }

                        &:hover {
                            a {
                                color: white;
                            }
                        }
                    }
                }
            }

            .right {
                justify-content: flex-end;
            }
        }

    }

    .header-bottom {
        height: 144px;
        background: linear-gradient(180deg, #1e1e1e 0%, rgba(77, 77, 77, 0) 100%);
        transition: all 0.3s ease;

        &.soluciones-hover {
            background: none;
            background-color: #fff;

            .container {
                .logo {
                    .imgWhite {
                        display: none;
                    }

                    .imgBlack {
                        display: block;
                    }
                }

                .header-menu {

                    .menuWrap {
                        .menu-link {
                            a {
                                color: #000;
                            }
                        }
                    }
                }
            }
        }

        .container {
            height: 100%;
            justify-content: space-between;
            max-width: 1400px;

            .logo {
                height: 100%;

                .imgBlack {
                    display: none;
                }
            }

            .header-menu {
                height: 100%;

                .menuWrap {
                    height: 100%;
                    align-items: center;

                    .menu-link {
                        height: 100%;
                        position: relative;

                        a {
                            font-size: 16px;
                            line-height: normal;
                            color: white;
                            padding: 0;
                            display: -webkit-box;
                            display: -moz-box;
                            display: -webkit-flex;
                            display: -ms-flexbox;
                            display: box;
                            display: flex;
                            -webkit-box-align: center;
                            -moz-box-align: center;
                            -o-box-align: center;
                            -ms-flex-align: center;
                            -webkit-align-items: center;
                            align-items: center;
                            -webkit-box-pack: center;
                            -moz-box-pack: center;
                            -o-box-pack: center;
                            -ms-flex-pack: center;
                            -webkit-justify-content: center;
                            justify-content: center;
                            position: relative;
                            height: auto;
                            padding: 0 32px;
                            transition: all 0.2s ease;

                            &::before {
                                content: '';
                                background: #7f46f1;
                                height: 1px;
                                width: 0%;
                                top: calc(100% + 2px);
                                position: absolute;
                                position: absolute;
                                left: 0;
                                right: 0;
                                margin: auto;
                                opacity: 0;
                                -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
                                filter: alpha(opacity=0);
                                visibility: hidden;
                                -webkit-transition: all 400ms ease;
                                -moz-transition: all 400ms ease;
                                -o-transition: all 400ms ease;
                                -ms-transition: all 400ms ease;
                                transition: all 400ms ease;
                                pointer-events: none;
                            }
                        }

                        &:hover {
                            a {
                                color: var(--bg-morado);

                                &::before {
                                    width: calc(100% - 64px);
                                    opacity: 1;
                                    visibility: visible;
                                    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
                                    filter: alpha(opacity=100);
                                }
                            }
                        }

                        /* Estilos para el menú Soluciones */
                        &.soluciones {
                            position: static;
                            /* Importante para posicionar correctamente el mega-menú */

                            /* Al hacer hover, mostrar el submenu */
                            &:hover {
                                .soluciones-submenu {
                                    opacity: 1;
                                    visibility: visible;
                                }
                            }

                            /* Contenedor del submenu estilo mega-menu */
                            .soluciones-submenu {
                                position: absolute;
                                left: 0;
                                top: 100%;
                                width: 100%;
                                display: flex;
                                background-color: #000;
                                opacity: 0;
                                height: 550px;
                                visibility: hidden;
                                transition: all 0.3s ease;
                                z-index: 30;
                            }

                            /* Panel izquierdo con links */
                            .submenu-panel {
                                width: 55%;
                                display: flex;
                                padding: 40px 0;
                                border-right: 1px solid rgba(255, 255, 255, 0.1);

                                /* Título del panel */
                                .panel-title {

                                    margin-bottom: 20px;
                                    border-right: 2px solid rgba(255, 255, 255, 0.1);
                                    padding-left: 40px;
                                    flex: 1;
                                    display: flex;
                                    justify-content: center;



                                    span {
                                        font-size: 24px;

                                        color: #fff;
                                        display: block;
                                        position: relative;
                                        height: fit-content;

                                        &::before {
                                            content: '';
                                            height: 2px;
                                            width: 100%;
                                            position: absolute;
                                            left: 0;
                                            -webkit-transition: all 400ms ease;
                                            -moz-transition: all 400ms ease;
                                            -o-transition: all 400ms ease;
                                            -ms-transition: all 400ms ease;
                                            transition: all 400ms ease;
                                            top: calc(100% + 2px);
                                            background: #fff;
                                            z-index: 40;
                                        }


                                    }



                                }

                                /* Lista de links */
                                ul {
                                    list-style: none;
                                    margin: 0;
                                    padding: 0;
                                    flex: 1;

                                    li {
                                        /* display: block; */
                                        display: flex;
                                        padding: 0;
                                        /* justify-content: center; */
                                        width: 100%;
                                        margin-bottom: 48px;
                                        padding-left: 72px;

                                        a {
                                            /* padding: 15px 40px; */
                                            padding: 0;
                                            justify-content: flex-start;

                                            font-size: 24px;
                                            color: #888;
                                            transition: all 0.2s ease;
                                            position: relative;

                                            &::before {
                                                background-color: #fff;
                                                width: 100%;
                                                height: 2px;
                                                left: 0;
                                                transform: scaleX(0);
                                                transform-origin: left;
                                                transition: transform 0.3s ease;

                                            }

                                            &::after {
                                                content: '→';
                                                position: absolute;
                                                right: 0;

                                                opacity: 0;
                                                transition: all 0.3s ease-in;
                                            }

                                            &:hover,
                                            &.active {
                                                color: white;

                                            }

                                            /* Para el elemento activo (con flecha) */
                                            &.active {
                                                display: flex;
                                                align-items: center;

                                                &::before {
                                                    transform: scaleX(1);

                                                }

                                                &::after {
                                                    opacity: 1;
                                                    transform: translateX(50px);
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            /* Panel derecho con imagen */
                            .submenu-content {
                                flex: 1;
                                width: 45%;
                                padding: 40px;
                                background-size: cover;
                                background-position: center;
                                display: flex;
                                flex-direction: column;
                                justify-content: flex-end;
                                min-height: 400px;
                                position: relative;

                                /* Contenido sobre la imagen */
                                .content-info {
                                    z-index: 2;
                                    color: white;

                                    h3 {
                                        font-size: 32px;
                                        margin: 0 0 10px;
                                        color: white;
                                    }

                                    p {
                                        font-size: 16px;
                                        margin: 0;
                                        max-width: 70%;
                                    }
                                }

                                /* Overlay gradiente */
                                &::before {
                                    content: '';
                                    position: absolute;
                                    bottom: 0;
                                    left: 0;
                                    width: 100%;
                                    height: 50%;
                                    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);
                                    z-index: 1;
                                }
                            }
                        }
                    }
                }
            }


            .contacto {

                display: flex;
                align-items: center;
                justify-content: center;
                height: 52px;
                width: fit-content;
                background: #000;
                border-radius: 25px;
                font-size: 16px;
                line-height: normal;
                color: white;
                transition: all 400ms ease;
                padding: 0 50px;
                border: 0;
            }

            .hamburgerMenu {
                display: none;

                #openMenu {
                    path {
                        fill: #fff;
                    }
                }
            }
        }

    }

    .soluciones-container {
        position: fixed;
        top: 144px;
        /* Altura del header-bottom */
        left: 0;
        width: 100%;
        height: auto;
        background-color: rgba(0, 0, 0, 0.95);
        display: flex;
        z-index: 998;
        visibility: hidden;
        opacity: 0;
        transition: all 0.3s ease;

        /* Contenedor limitado al ancho del sitio */
        .soluciones-wrapper {
            width: 100%;
            max-width: 1400px;
            margin: 0 auto;
            display: flex;
            position: relative;

            /* Línea vertical separadora */
            &:after {
                content: '';
                position: absolute;
                top: 10%;
                left: 25%;
                width: 1px;
                height: 80%;
                background-color: rgba(255, 255, 255, 0.1);
            }

            /* Panel izquierdo con título y enlaces */
            .soluciones-panel {
                width: 25%;
                padding: 50px 0;

                /* Título Soluciones */
                .panel-title {
                    font-size: 20px;
                    color: white;
                    margin-bottom: 30px;
                    padding-bottom: 10px;
                    position: relative;

                    &:after {
                        content: '';
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        width: 40px;
                        height: 2px;
                        background-color: white;
                    }
                }

                /* Lista de enlaces */
                .soluciones-links {
                    list-style: none;
                    padding: 0;
                    margin: 0;

                    li {
                        margin-bottom: 20px;

                        a {
                            display: flex;
                            align-items: center;
                            color: #888;
                            font-size: 16px;
                            transition: all 0.3s ease;
                            padding: 0;

                            /* Flecha para el enlace activo */
                            &.active,
                            &:hover {
                                color: white;
                            }

                            &.active:after {
                                content: '→';
                                margin-left: 10px;
                            }

                            /* No mostrar la línea morada en hover */
                            &::before {
                                display: none;
                            }
                        }
                    }
                }
            }

            /* Panel derecho con la imagen y contenido */
            .soluciones-content {
                width: 75%;
                position: relative;

                /* Cada panel de contenido */
                .content-panel {
                    position: absolute;
                    top: 0;
                    left: 0;
                    width: 100%;
                    height: 100%;
                    opacity: 0;
                    visibility: hidden;
                    transition: all 0.3s ease;
                    background-position: center;
                    background-size: cover;
                    display: flex;
                    flex-direction: column;
                    justify-content: flex-end;
                    padding: 50px;

                    /* Gradiente para mejorar legibilidad */
                    &:before {
                        content: '';
                        position: absolute;
                        bottom: 0;
                        left: 0;
                        width: 100%;
                        height: 50%;
                        background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
                        z-index: 1;
                    }

                    /* Panel activo */
                    &.active {
                        opacity: 1;
                        visibility: visible;
                    }

                    /* Texto sobre la imagen */
                    .content-info {
                        position: relative;
                        z-index: 2;

                        h3 {
                            font-size: 32px;
                            color: white;
                            margin: 0 0 10px;
                        }

                        p {
                            font-size: 16px;
                            color: rgba(255, 255, 255, 0.8);
                            margin: 0;
                            max-width: 70%;
                        }
                    }
                }
            }
        }
    }

    /* Mostrar el mega-menu al hacer hover en Soluciones */
    .header-menu .menuWrap .menu-link.soluciones:hover+.soluciones-container,
    .soluciones-container:hover {
        visibility: visible;
        opacity: 1;
    }

    &.scrolling {
        background-color: white;
        box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);

        .header-top {
            height: 0;

            .container {
                display: none;
            }

        }

        .header-bottom {
            height: 80px;
            background: linear-gradient(white, white);

            .container {
                height: 100%;
                max-width: 1400px;
                justify-content: space-between;

                .logo {

                    .imgBlack {
                        display: block;
                    }

                    .imgWhite {
                        display: none;
                    }
                }

                .header-menu {
                    .menuWrap {
                        li {
                            a {
                                color: #000;

                            }
                        }
                    }
                }

                .hamburgerMenu {
                    #openMenu {
                        path {
                            fill: #000;
                        }
                    }
                }




            }
        }

        .menuResponsive {
            height: calc(100% - 80px);
        }


        &.not-home {
            .header-top {
                height: 20px;

                .container {
                    display: flex;
                }
            }
        }

    }

}


.menuResponsive {
    height: calc(100% - 170px);
    opacity: 0;
    visibility: hidden;
    transition: all 400ms ease;
    pointer-events: none;
    position: fixed;
    transform: translateX(100%);
    width: 100%;
    z-index: 900;
    bottom: 0;
    background: #000;

    .mega1,
    .mega2 {
        padding-top: 24px;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        transition: all 400ms ease;
        overflow-y: auto;

        ul {
            margin: auto;
            padding: 0;
            border: 0;
            font-weight: inherit;
            font-style: inherit;
            font-size: 100%;
            font-family: inherit;
            vertical-align: baseline;

            li {
                a {
                    height: 80px;
                    display: flex;
                    align-items: center;
                    justify-content: flex-start;
                    font-size: 24px;
                    line-height: 1.33;
                    color: #fff;
                    padding: 0 16px;
                    border-top: 1px solid #262626;
                }
            }
        }

        .linkBottoms {
            width: 100%;
            border-top: 1px solid #262626;
            border-bottom: 1px solid #262626;
            display: flex;
            align-items: center;
            justify-content: center;

            a {
                width: 50%;
                background: #0d0d0d;
                display: flex;
                align-items: center;
                justify-content: center;
                line-height: 1.5;
                color: rgba(255, 255, 255, 0.5);
                height: 56px;

                &:first-child {
                    border-right: 1px solid #262626;
                }
            }
        }
    }

    &.active {
        display: block;
        opacity: 1;
        visibility: visible;
        pointer-events: all;
        transform: translateX(0);


    }

    /* ESTADOS DE MEGA1 Y MEGA2 */
    &.active .mega1 {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
    }

    &.active .mega2 {
        transform: translateX(100%);
        opacity: 0;
        visibility: hidden;
    }

    /* Cuando mega2 está activo */
    &.active.mega2-active .mega1 {
        transform: translateX(-100%);
        opacity: 0;
        visibility: hidden;
    }

    &.active.mega2-active .mega2 {
        transform: translateX(0);
        opacity: 1;
        visibility: visible;
    }

    /* Estilos para mega2 */
    .mega2 .megaReturn {
        display: flex;
        align-items: center;
        padding: 16px;
        color: rgba(255, 255, 255, 0.7);
        text-decoration: none;
        font-size: 16px;
        border-bottom: 1px solid #262626;

        &::before {
            content: '←';
            margin-right: 8px;
            font-size: 18px;
        }

        &:hover {
            color: white;
            background: rgba(255, 255, 255, 0.05);
        }
    }

    /* Flecha para indicar submenu en mega1 */
    .mega1 li.soluciones a {
        position: relative;

        &::after {
            content: '→';
            font-size: 20px;
            color: rgba(255, 255, 255, 0.7);
            position: absolute;
            right: 16px;
        }
    }

    /* ESTILOS PARA EL CONTENEDOR DESPLEGABLE EN MEGA2 */
    .mega2 .megaInfo {
        overflow: hidden;
        transition: height 0.3s ease;
        background: rgba(255, 255, 255, 0.05);
    }

    .mega2 ul li .megaLinks {
        padding: 0;


        a {
            display: block;
            height: 56px;
            padding: 12px 32px;
            color: rgba(255, 255, 255, 0.8);
            text-decoration: none;
            font-size: 18px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            background-color: transparent;
            transition: all 0.3s ease;

            &:hover {
                color: white;
                background: rgba(255, 255, 255, 0.1);
                padding-left: 40px;
            }

            &:last-child {
                border-bottom: none;
            }
        }
    }

    /* Flecha para expandir/contraer en mega2 */
    .mega2 .clickMega.elClick {
        position: relative;

        &::after {
            content: '↓';
            font-size: 16px;
            color: rgba(255, 255, 255, 0.7);
            transform: rotate(0deg);
            transition: transform 0.3s ease;
            position: absolute;
            right: 16px;
        }

        &.expanded::after {
            transform: rotate(180deg);
        }
    }
}

.overlayHeader {
    background: rgba(0, 0, 0, 0.8);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 500;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    visibility: hidden;
    -webkit-transition: all 400ms ease;
    -moz-transition: all 400ms ease;
    -o-transition: all 400ms ease;
    -ms-transition: all 400ms ease;
    transition: all 400ms ease;
    pointer-events: none;
}


/*Fin estilos header*/

/*Estilos página de inicio*/
.home-banner {
    padding-block: 0;
    height: calc(100vh);
    background: #101010;
    position: relative;

    video {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.webFlowWrap {
    padding-block-end: 8rem;

    .container {
        display: flex;
        flex-direction: column;
        gap: 2rem;

        .r1 {
            justify-content: space-between;
            margin-bottom: 100px;

            h2 {

                text-align: center;
                line-height: 1.17;
                margin-bottom: 56px;
                font-weight: 500;
                text-align: center;
                max-width: 510px;
            }

            .parrafo {
                width: 50%;
                font-size: 18px;
                line-height: 1.44;
                color: #000;
                margin-bottom: 32px;

                a {

                    line-height: 1;
                    color: #000;
                    position: relative;

                    &::before {
                        content: '';
                        background: #000;
                        width: 100%;
                        height: 1px;
                        top: calc(100% + 2px);
                        left: 0;
                        position: absolute;
                    }
                }
            }
        }

        .btnBlack {
            display: -webkit-box;
            display: -moz-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: box;
            display: flex;
            -webkit-box-align: center;
            -moz-box-align: center;
            -o-box-align: center;
            -ms-flex-align: center;
            -webkit-align-items: center;
            align-items: center;
            -webkit-box-pack: center;
            -moz-box-pack: center;
            -o-box-pack: center;
            -ms-flex-pack: center;
            -webkit-justify-content: center;
            justify-content: center;
            height: 52px;
            width: fit-content;
            background: #000;
            border-radius: 25px;
            font-size: 16px;
            font-family: 'SFProDisplay-Regular', sans-serif;
            line-height: normal;
            color: white;
            -webkit-transition: all 400ms ease;
            -moz-transition: all 400ms ease;
            -o-transition: all 400ms ease;
            -ms-transition: all 400ms ease;
            transition: all 400ms ease;
            padding: 0 50px;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
            border: 0;
        }

        .r2 {
            /* padding-top: 96px;
            padding-bottom: 128px; */
            padding-block: 48px 64px;

            #swSoluciones {
                margin-left: 0;


                .swiper-wrapper {
                    .swiper-slide {

                        max-width: 350px;
                        @media (max-width:680px) {
                            max-width: 100%;
                            
                        }

                        .box-solution {
                            display: flex;
                            justify-content: center;

                            margin: auto;
                            position: relative;
                            height: 420px;
                            padding: 1rem;

                            .gGradient {
                                position: absolute;
                                width: 100%;
                                height: 100%;
                                top: 0;
                                left: 0;
                                background-color: rgba(0, 0, 0, .2);
                                border-radius: 15px;
                                z-index: 1;

                            }


                            img {
                                position: absolute;
                                display: block;
                                width: 100%;
                                border-radius: 15px;
                                height: 100%;
                                font-size: 0;
                                top: 0;
                                left: 0;
								object-fit:cover;


                            }

                            .info {
                                position: relative;
                                color: white;

                                line-height: 1;
                                color: #fff;
                                margin-bottom: 16px;
                                text-align: center;
                                align-items: center;
                                z-index: 1;
                                gap: 1rem;

                                h3 {
                                    font-size: 20px;
                                    font-weight: 400;
                                }

                                span {
                                    position: relative;
                                    opacity: 0;
                                    width: fit-content;
                                    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
                                    filter: alpha(opacity=0);
                                    visibility: hidden;
                                    -webkit-transition: all 400ms ease;
                                    -moz-transition: all 400ms ease;
                                    -o-transition: all 400ms ease;
                                    -ms-transition: all 400ms ease;
                                    transition: all 400ms ease;
                                    pointer-events: none;
                                    text-align: center;
                                    font-size: 16px;
                                    font-family: 'SFProDisplay-Regular', sans-serif;
                                    line-height: 1;
                                    color: #fff;

                                    &::before {
                                        content: '';
                                        background: #fff;
                                        top: calc(100% + 2px);
                                        width: 0%;
                                        height: 1px;
                                        position: absolute;
                                        left: 0;
                                        right: 0;
                                        margin: auto;
                                        -webkit-transition: all 400ms ease;
                                        -moz-transition: all 400ms ease;
                                        -o-transition: all 400ms ease;
                                        -ms-transition: all 400ms ease;
                                        transition: all 400ms ease;
                                    }
                                }
                            }

                            &:hover {
                                .gGradient {
                                    background-color: transparent;
                                }



                                .info {
                                    span {
                                        opacity: 1;
                                        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
                                        filter: alpha(opacity=100);
                                        visibility: visible;

                                        &:before {
                                            width: 100%;
                                        }
                                    }
                                }
                            }

                        }


                    }
                }
            }


            .navigation {
                margin-top: 48px;
                display: flex;
                justify-content: center;
                gap: 1rem;

                .swiper-button-prev {
                    position: relative;

                    width: 60px;
                    margin-right: 72px;
                    height: 60px;
                    border-radius: 50%;
                    border: 1px solid #000;

                    svg {
                        width: 30px;
                        height: 30px;
                    }

                    &::after {
                        content: none;
                    }
                }

                .swiper-button-next {
                    position: relative;

                    width: 60px;
                    height: 60px;
                    border-radius: 50%;
                    border: 1px solid #000;

                    svg {
                        width: 30px;
                        height: 30px;
                    }

                    &::after {
                        content: none;
                    }
                }
            }


        }

        .r3 {
            justify-content: space-between;
            gap: 8rem;

            .left {
                width: 50%;
                display: flex;
                flex-direction: column;
                gap: 2rem;
            }

            .right {
                width: 50%;
                display: flex;
                flex-direction: column;
                justify-content: center;


                .item {
                    width: 100%;
                    display: block;
                    border-top: 1px solid #000;
                    padding: 1rem 0;

                    .data {

                        width: 100%;

                        h3 {
                            font-size: 48px;
                            font-weight: 400;

                            .b3Number {

                                font-weight: 400;
                                line-height: normal;
                                color: #000;
                            }

                        }

                        h4 {
                            font-size: clamp(22px, 24px, 28px);

                            font-weight: 400;
                        }

                    }

                    &:nth-child(1) {
                        .data {
                            h3 {
                                font-size: clamp(50px, 70px, 112px);

                                font-weight: 400;
                            }
                        }
                    }
                }

                .gButton {
                    background-color: transparent;
                    border: 1px solid #000;
                    color: #000;
                    transition: all 0.3s ease;

                    &:hover {
                        background-color: #000;
                        color: white;
                    }
                }
            }
        }
    }
}

.solutions-home {
    height: 810px;
    position: relative;
    overflow: hidden;

    .background {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        transition: opacity 1s ease;
        opacity: 0;

        &.active {
            opacity: 1;
        }
    }

    .content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 0 10%;
        color: white;
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.8s ease, transform 0.8s ease;
        pointer-events: none;
        z-index: 2;

        &.active {
            opacity: 1;
            transform: translateY(0);
            pointer-events: auto;
        }

        h2 {
            text-align: start;
            font-weight: 300;
            margin-bottom: 30px;
        }

        p {
            font-size: 32px;
            max-width: 600px;
            margin-bottom: 30px;
            line-height: 1.4;
        }

        .gButton {
            background-color: transparent;
            border: 1px solid white;
            color: white;
            transition: all 0.3s ease;

            &:hover {
                background-color: white;
                color: #000;
            }
        }
    }

    .navigation {
        position: absolute;
        top: 200px;
        left: 0;
        width: 100%;
        display: flex;
        justify-content: center;
        gap: 20px;
        z-index: 10;
        padding: 0 20px;
        /* Agregado padding para mobile */

        .nav-item {
            padding: 10px 25px;
            background: rgba(255, 255, 255, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.7);
            border-radius: 30px;
            color: white;
            cursor: pointer;
            text-wrap: nowrap;
            font-size: 16px;
            transition: all 0.3s ease;
            flex-shrink: 0;
            /* Evita que los elementos se compriman */

            &.active {
                background: rgba(255, 255, 255, 0.9);
                color: #333;
            }
        }
    }

    .overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.4);
        z-index: 1;
    }
}

.recognitions {
    padding-block: 8rem;

    .container {
        gap: 2rem;
        align-items: center;

        .gParrafo {
            max-width: 792px;
            margin: auto;
            width: 100%;
            margin-bottom: 117px;

            p {
                font-size: 24px;
                line-height: 1.5;
                text-align: center;
            }
        }

        .wrapRecognition {
            width: 100%;
            justify-content: space-between;
            flex-wrap: wrap;

            .item {
                align-items: center;
                width: 228px;

                .images {
                    margin-bottom: 44px;
                    display: box;
                    display: flex;
                    position: relative;

                    .imgRelative {
                        position: relative;
                    }

                    .imgAbsolute {
                        left: 0;
                        right: 0;
                        position: absolute;
                        top: 50%;
                        margin: auto;
                        -webkit-transform: translateY(-50%);
                        -moz-transform: translateY(-50%);
                        -o-transform: translateY(-50%);
                        -ms-transform: translateY(-50%);
                        transform: translateY(-50%);
                        z-index: 5;
                        /* max-width: 90px; */
                        max-width: 70%;
                        max-height: 80%;
                        object-fit: contain;
                    }
                }

                h3 {
                    font-size: 24px;
                    line-height: 1.33;
                    color: #000;

                    margin-bottom: 16px;
                    text-align: center;
                }

                .age {
                    padding: 5px 20px;
                    border: 1px solid #000;
                    border-radius: 32px;
                    background-color: transparent;
                    display: flex;
                    justify-content: center;
                    font-size: 18px;
                    line-height: 1;
                    color: #000;
                }
            }
        }

        .gButton {
            margin-top: 72px;
            border: 1px solid #000;
            background-color: transparent;
            color: #000;

            &:hover {
                background-color: #000;
                color: white;
            }
        }
    }
}

/* Estilos para la sección de testimonios */

/* Estilos para la sección de testimonios */
.our-experience {
    position: relative;
    padding: 80px 0 40px;
    gap: 4rem;

    /* Variables CSS separadas para cada uso */
    --wrapper-margin: 280px;
    --content-margin: 340px;

    .container {
        h2 {
            max-width: 690px;
            margin-bottom: 40px;
            text-align: start;
        }
    }

    .wrapper-experiences {
        width: calc(100% - var(--wrapper-margin));
        position: relative;
        margin: 0 0 0 auto;

        display: flex;
        justify-content: flex-end;
        align-items: center;


        svg {
            position: absolute;
            top: -8%;
            left: 0;
        }

        .container-image {
            top: 50%;
            transform: translateY(-50%);
            position: absolute;
            left: 0;
            top: 62%;
            left: 0;
            width: 1840px;
            display: flex;
            align-items: center;
            justify-content: flex-start;
            height: 100%;
            z-index: 100;
            pointer-events: none;
            left: 102px;

            .bg-mascara {
                position: relative;
                height: 100%;
                width: 100%;

                .bgMascara-item {
                    position: absolute;
                    top: 0;
                    left: 0;
                    opacity: 0;
                    visibility: hidden;
                    transition: all 400ms ease;
                    pointer-events: none;
                    width: 48.5%;
                    pointer-events: none;

                    .media-triangle__clip {
                        -webkit-clip-path: url(#logosvg);
                        clip-path: url(#logosvg);
                        -webkit-transform: perspective(0);
                        -moz-transform: perspective(0);
                        -o-transform: perspective(0);
                        -ms-transform: perspective(0);
                        transform: perspective(0);
                        pointer-events: none;

                        .media-triangle__outside {
                            position: relative;
                            display: block;
                            padding-top: 111%;

                            .imgMascara {
                                object-fit: cover;
                                position: absolute;
                                overflow: hidden;
                                top: 0;
                                width: 385px;
                                height: 498px;
                                display: flex;
                                align-items: center;
                                justify-content: center;

                                img {
                                    height: 100%;
                                    max-width: 100%;
                                    object-fit: cover;
                                }
                            }
                        }
                    }

                    &.active {
                        position: relative;
                        opacity: 1;
                        visibility: visible;
                    }
                }
            }
        }

        .container-content {
            width: calc(100% - 308px);
            height: 690px;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            flex-direction: column;

            .aminateWebflow {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                z-index: 1;

                .s-main {
                    width: 100%;
                    height: 100% !important;
                    display: flex;
                    overflow: hidden;
                    justify-content: center;
                    align-items: center;

                    iframe {
                        border-radius: 32px;
                        width: 100%;
                        height: 100%;
                    }
                }
            }

            .testimonios-content {
                position: relative;
                z-index: 2;
                width: 100%;
                height: 100%;

                .info {
                    position: absolute;
                    top: 50%;
                    right: 0;
                    transform: translateY(-50%);
                    max-width: 490px;
                    margin-right: var(--content-margin);
                    gap: 1rem;
                    opacity: 0;
                    visibility: hidden;
                    transition: all 600ms ease;

                    .testimonio-text {
                        p {
                            font-size: 24px;
                            line-height: 1.5;
                            color: #000;
                            margin: 0;
                        }
                    }

                    .name {
                        font-size: 24px;
                        line-height: 1.5;
                        color: #000;
                        font-weight: 600;
                    }

                    .profesional {
                        font-size: 18px;
                        line-height: 1.5;
                        color: #000;
                    }

                    &.active {
                        opacity: 1;
                        visibility: visible;
                    }
                }
            }

            .testimonios-navigation {
                position: relative;
                bottom: 40px;
                left: var(--content-margin) - 180px;
                display: flex;
                gap: 16px;
                z-index: 3;

                .testimonio-tab {
                    width: 60px;
                    height: 60px;
                    border-radius: 50%;
                    border: 3px solid transparent;
                    background: #fff;
                    cursor: pointer;
                    overflow: hidden;
                    transition: all 300ms ease;
                    opacity: 0.6;
                    transform: scale(0.85);

                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }

                    &:hover {
                        opacity: 0.8;
                        transform: scale(0.9);
                    }

                    &.active {
                        border-color: #000;
                        opacity: 1;
                        transform: scale(1);
                        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
                    }
                }
            }
        }
    }
}


.companies {
    .container {
        p {
            font-size: 24px;
            line-height: 1.5;

            margin-bottom: 97px;
            color: #000;
            text-align: center;
        }
    }

    #swCompanies {
        .swiper-wrapper {
            transition-timing-function: linear;

            .swiper-slide {
                img {
                    max-width: 200px;
                }
            }
        }
    }
}

.place-to-work {
    background-color: var(--bg-morado-claro);
    height: 818px;
    overflow: hidden;

    .container {
        display: flex;
        justify-content: space-between;
        align-items: center;

        .left {
            max-width: 486px;
            gap: 3rem;

            h2 {

                font-weight: 400;
                text-align: start;
                margin-bottom: 0;
            }

            p {
                font-size: 18px;
                line-height: 1.44;
            }

            .gButton {
                background-color: transparent;
                border: 1px solid #000;
                color: #000;

                &:hover {
                    background-color: #000;
                    color: white;
                }
            }
        }

        .right {
            flex: 1;
            display: flex;
            justify-content: center;
            overflow: hidden;
            position: absolute;
            top: 96px;
            right: -70px;
            width: 48%;

            .floating-grid {
                display: flex;
                gap: 20px;
                height: 100%;
                width: 100%;
            }

            .column {
                display: flex;
                flex-direction: column;
                width: 100%;
                transition: transform 0.2s ease-out;
                will-change: transform;

                figure {
                    margin-bottom: 40px;
                    border-radius: 20px;
                    overflow: hidden;
                    position: relative;
                    /* font-size: xx-large; */

                    &::before {
                        content: '';
                        position: absolute;
                        width: 100%;
                        height: 100%;
                        top: 0;
                        left: 0;
                        z-index: 10;

                        opacity: 0;
                        pointer-events: none;
                        background-image: url(../../images/gradient_lucky_1.png);
                        background-repeat: no-repeat;
                        background-size: cover;
                        background-position: center center;
                    }


                    img {
                        max-width: 100%;
                        width: 100%;
                        height: auto;
                        object-fit: cover;
                        margin: 0;
                        border-radius: 20px;
                        filter: grayscale(1);
                    }
                }

                &:nth-child(1) {
                    margin-top: 214px;

                    figure {
                        &:nth-child(2) {
                            &::before {
                                opacity: 1;

                            }
                        }
                    }
                }

                &:nth-child(2) {
                    margin-top: 130px;

                    figure {
                        &:nth-child(1) {
                            &::before {
                                opacity: 1;

                            }
                        }
                    }
                }

                &:nth-child(3) {

                    figure {
                        &:nth-child(3) {
                            &::before {
                                opacity: 1;

                            }
                        }
                    }
                }

                &:nth-child(4) {
                    margin-top: 86px;

                    figure {
                        &:nth-child(1) {
                            &::before {
                                opacity: 1;

                            }
                        }
                    }
                }
            }
        }
    }
}

.main-blog {


    .container {
        gap: 2rem;

        h2 {}
    }
}

/* Estilos para la sección de todos los posts */
.all-posts-section {

    background-color: rgb(239, 242, 245);

    .container {
        max-width: 1200px;
        gap: 2rem;

        h2 {}
    }

    /* Estilos para las pestañas de categorías */
    .category-tabs {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px;
        margin-bottom: 40px;

        .cat-tab-button {
            padding: 12px 30px;
            background-color: #f5f5f5;
            border: 1px solid #ddd;
            border-radius: 30px;
            cursor: pointer;
            font-weight: 500;
            transition: all 0.3s ease;
            outline: none;
            position: relative;
            z-index: 1;
            font-size: 16px;
            min-width: 120px;
            text-align: center;

            &:hover {
                background-color: #e9e9e9;
                transform: translateY(-2px);
            }

            &.active {
                background-color: #000;
                color: #fff;
                border-color: #000;
                transform: translateY(0);
            }
        }
    }

    /* Contenedor de posts con indicador de carga */
    .posts-container {
        position: relative;
        min-height: 300px;
        transition: opacity 0.3s ease;

        &.loading {
            opacity: 0.6;

            &::after {
                content: "";
                position: absolute;
                top: 50%;
                left: 50%;
                width: 50px;
                height: 50px;
                margin-top: -25px;
                margin-left: -25px;
                border: 4px solid #f3f3f3;
                border-top: 4px solid #000;
                border-radius: 50%;
                animation: spin 1s linear infinite;
                z-index: 5;
            }
        }
    }

    @keyframes spin {
        0% {
            transform: rotate(0deg);
        }

        100% {
            transform: rotate(360deg);
        }
    }

    /* Grid de posts completo (sin limitación) */
    .posts-grid.full-width {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;

        .post-card {
            background-color: #fff;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            position: relative;

            &:hover {
                .post-thumbnail {
                    picture {
                        img {
                            transform: scale(1.1);
                        }
                    }
                }
            }

            /* Enlace que envuelve toda la tarjeta */
            .card-link {
                display: flex;
                flex-direction: column;
                text-decoration: none;
                color: inherit;
                height: 100%;
                padding: 20px;
            }

            /* Div info que agrupa badge, date y title */
            .info {
                flex: 1;

                .post-badge {
                    display: inline-block;
                    background-color: #000;
                    color: #fff;
                    padding: 5px 10px;
                    font-size: 12px;
                    border-radius: 4px;
                    margin-bottom: 10px;
                }

                .post-date {
                    color: #777;
                    font-size: 14px;
                    margin-bottom: 5px;
                }

                .post-title {
                    margin-top: 5px;
                    margin-bottom: 15px;
                    font-weight: 400;
                    font-size: 18px;
                    line-height: 1.4;
                    color: #333;


                }
            }

            /* Contenedor para la imagen */
            .post-thumbnail {
                margin-bottom: 0;
                /* max-height: 250px; */
                overflow: hidden;
                border-radius: 6px;
                height: 175px;
                position: relative;

                &::before {
                    content: "";
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    top: 0px;
                    left: 0px;
                    z-index: 10;
                    background: rgba(0, 0, 0, 0.4);
                }

                picture {
                    position: absolute;
                    display: block;
                    width: 100%;
                    height: 100%;
                    font-size: 0px;
                    top: 0px;
                    left: 0px;
                }

                img {
                    position: absolute;
                    object-fit: cover;
                    width: 100%;
                    height: 100%;
                    top: 0px;
                    left: 0px;
                    transition: transform 0.3s ease-in;
                }

                &.default-thumbnail {
                    background-color: #f5f5f5;

                    img {
                        object-fit: contain;
                        padding: 10px;
                    }
                }
            }
        }
    }

    /* Estilos para la paginación */
    .pagination-container {
        margin-top: 40px;
        text-align: center;

        .page-numbers {
            display: inline-block;
            padding: 8px 14px;
            margin: 0 5px;
            border-radius: 4px;
            background-color: #fff;
            color: #333;
            text-decoration: none;
            border: 1px solid #ddd;
            transition: all 0.2s ease;
            cursor: pointer;

            border-radius: 50%;

            &:hover {
                background-color: #f5f5f5;
            }

            &.current {
                background-color: #000;
                color: #fff;
                border-color: #000;
                cursor: default;
            }

            &.prev,
            &.next {
                padding: 8px 20px;
                border-radius: 10px;
            }

            &.dots {
                border: none;
                background: transparent;
                cursor: default;

                &:hover {
                    background: transparent;
                }
            }
        }
    }

    /* Mensaje de no hay posts */
    .no-posts {
        text-align: center;
        padding: 40px 0;
        font-size: 18px;
        color: #777;
    }

    /* Mensaje de error */
    .error-message {
        text-align: center;
        padding: 40px 0;

        p {
            font-size: 18px;
            color: #d32f2f;
            margin-bottom: 20px;
        }

        .retry-button {
            padding: 10px 20px;
            background-color: #0066cc;
            color: #fff;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s ease;

            &:hover {
                background-color: #0055aa;
            }
        }
    }

    /* Responsividad */
    @media (max-width: 992px) {
        .posts-grid.full-width {
            grid-template-columns: repeat(2, 1fr);
        }

        .category-tabs {
            .cat-tab-button {
                padding: 10px 20px;
                font-size: 14px;
				color:#000;
            }
        }
    }

    @media (max-width: 576px) {
        .posts-grid.full-width {
            grid-template-columns: 1fr;
        }

        .category-tabs {
            flex-direction: column;

            .cat-tab-button {
                width: 100%;
            }
        }
    }
}

/* Estilos para el contenido de tabs actual (primera sección) */

/*Estilos formulario suscripcion*/
.section-subscription {
    background-color: #9669f0;

    .container {
        justify-content: space-between;

        .info {
            max-width: 510px;

            h2,
            p {
                color: #fff;
                text-align: start;
            }
        }

        .form-wrapper {

            .wpcf7 {


                .wpcf7-form {


                    br {
                        display: none;
                    }


                    .form-row {

                        &.full-width {

                            p {
                                display: flex;
                                justify-content: space-between;
                                gap: 1rem;

                                .wpcf7-form-control-wrap {
                                    .wpcf7-form-control.wpcf7-acceptance {
                                        .wpcf7-list-item {


                                            label {


                                                input[type="checkbox"] {
                                                    background: #fff;


                                                    &::after {
                                                        content: "";
                                                        position: absolute;
                                                        top: 2px;
                                                        left: 5px;
                                                        width: 4px;
                                                        height: 8px;
                                                        border: solid var(--bg-morado-claro);
                                                        border-width: 0 2px 2px 0;
                                                        transform: rotate(45deg);
                                                        opacity: 0;
                                                        transition: opacity 0.2s ease;
                                                    }

                                                    &:checked::after {
                                                        opacity: 1;
                                                    }


                                                }

                                                .wpcf7-list-item-label {
                                                    font-size: .75rem;
                                                    /* line-height: 2; */

                                                    color: #fff;

                                                    br {
                                                        display: block;
                                                    }

                                                    a {
                                                        color: #fff;
                                                        text-decoration: underline;
                                                    }
                                                }
                                            }

                                        }
                                    }
                                }

                                .wpcf7-submit {
                                    margin-top: 0;
                                    background-color: transparent;
                                    border-color: #fff;
                                    color: #fff;

                                    &:hover {
                                        background-color: #fff;
                                        color: #000;

                                    }
                                }

                                .wpcf7-spinner {
                                    display: none;
                                }
                            }

                        }

                        >.floating-label-group {}
                    }

                    .floating-label-group {
                        position: relative;

                        label {

                            color: rgba(255, 255, 255, 0.5);

                            &.active {
                                background-color: var(--bg-morado-claro);
                                color: #fff;
                            }
                        }


                        input,
                        textarea {

                            border-color: rgba(255, 255, 255, 0.5);
                            background-color: transparent;

                        }



                        input:focus,
                        textarea:focus {
                            outline: none;
                        }
                    }

                    .submit-row {}

                    .wpcf7-submit {


                        &:hover {}
                    }

                }
            }

        }

    }
}

/*Fin fomrulario suscipcion*/


/*Estilos páginas de soluciones*/
.solutions-page {
    .container {
        gap: 6rem;

        .parrafo {
            padding-block-start: 2rem;
            margin: auto;
            max-width: 636px;
            gap: 2rem;

            h2 {
                font-size: 56px;
                text-align: center;
                line-height: normal;
                color: #000;
                font-weight: 400;
            }

            p {
                font-size: 18px;
                text-align: center;
                line-height: 1.44;
                color: #000;
            }
        }

        .wrap-solutions {
            width: 100%;
            display: grid;
            /* grid-template-columns: repeat(3, 1fr); */
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            /* column-gap: 4rem; */
            row-gap: 3rem;
            place-items: center;

            .box-solution {
                height: 464px;
                position: relative;
                border-radius: 15px;
                overflow: hidden;
                position: relative;
                box-shadow: 0 20px 35px 0 rgba(0, 0, 0, 0.3);
                -webkit-box-shadow: 0 20px 35px 0 rgba(0, 0, 0, 0.3);
                max-width: 80%;
                transition: all 400ms ease;
				@media(max-width:480px){
					height: 420px;
					max-width: 100%;
					
				}

                &::before {
                    content: '';
                    position: absolute;
                    background: rgba(0, 0, 0, .2);
                    z-index: 2;
                    left: 0;
                    top: 0;
                    width: 100%;
                    height: 100%;
                    transition: all 0.3s ease-in-out;

                }

                &::after {
                    content: '';
                    background-image: linear-gradient(0deg, rgba(0, 0, 0, 1), transparent);
                    opacity: 1;
                    filter: none;
                    position: absolute;
                    width: 100%;
                    height: 100%;
                    top: 0;
                    left: 0;
                    z-index: 2;
                    pointer-events: none;
                }

                img {
                    /* position: absolute; */
                    left: 0;
                    top: 0;
                    width: 100%;
                    height: 100%;
					object-fit:cover;
                }

                .info {
                    position: absolute;
                    left: 0;
                    right: 0;
                    margin: auto;
                    gap: 1rem;
                    bottom: 10px;
                    width: fit-content;
                    align-items: center;
                    text-align: center;

                    transition: all 400ms ease;
                    z-index: 3;

                    h3 {
                        font-size: 32px;
                        line-height: 1;
                        color: #fff;

                        text-align: center;
                    }

                    span {
                        font-size: 16px;
                        color: white;
                        width: fit-content;
                        position: relative;
                        visibility: 0;
                        opacity: 0;
                        transition: all 0.4s ease-in-out;

                        &::before {
                            content: '';
                            background: #fff;
                            top: calc(100% + 2px);
                            width: 0%;
                            height: 1px;
                            position: absolute;
                            left: 0;
                            right: 0;
                            margin: auto;
                            transition: all 400ms ease;
                        }
                    }
                }

                &:hover {

                    box-shadow: 0 20px 35px 0 rgba(0, 0, 0, 0.4);

                    &::before {
                        content: none;
                    }

                    .info {
                        bottom: 45px;

                        span {
                            visibility: visible;
                            opacity: 1;

                            &::before {
                                width: 100%;
                            }
                        }
                    }

                }
            }
        }
    }
}

.solution-child-page {
    padding-block: 0;
    position: relative;
    height: 539px;
    margin-top: 80px;
    align-items: center;

    &::before {
        content: '';
        background: rgba(0, 0, 0, 0.2);
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 2;
    }

    picture {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%;
        font-size: 0;
        top: 0;
        left: 0;

        img {
            height: 100%;
            object-fit: cover;
        }
    }

    .content {
        position: relative;
        max-width: 490px;
        width: 100%;
        gap: 2rem;
        z-index: 2;

        p {
            font-size: 18px;
            line-height: 1.44;
            color: #fff;
        }

        h2 {
            margin-bottom: 0;
            color: #fff;
            text-align: start;
        }

        .gButton {
            background-color: transparent;
            border: 1px solid #fff;
            color: #fff;

            &:hover {
                background-color: white;
                color: black;
            }
        }
    }

}

.solution-content {
    .container {
        gap: 8rem;

        h2 {
            text-align: start;
            line-height: 1.17;
            max-width: 893px;
            width: 100%;
            font-weight: 400;
        }

        .row {
            justify-content: space-between;
            gap: 24px;

            .left {
                max-width: 510px;

                h3 {
                    font-size: 32px;
                    line-height: normal;
                    color: #000;
                    margin-bottom: 48px;
                }

                p {
                    font-size: 24px;
                    line-height: 1.5;
                    color: #000;
                }
            }

            .right {
                img {
                    border-radius: 24px;
                    max-width: 510px;
                }
            }
        }
    }
}

.our-pillars {
    .container {
        max-width: 954px;


        .wrap-pillars {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: 1fr 1fr;
            gap: 3.5rem;
            place-items: center;

            .pillar {
                height: 240px;
                width: 100%;
                max-width: 430px;
                border-radius: 24px;
                overflow: hidden;
                position: relative;

                img {
                    position: absolute;
                    left: 0;
                    top: 0;
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            }
        }
    }
}

.benefits {

    background: #000;

    h2 {
        color: #fff;

    }



    .benefits-wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 3rem;
    }

    .benefits-left {
        flex: 1;


        .benefits-image {
            position: relative;
            overflow: hidden;
            border-radius: 1.2rem;
            aspect-ratio: 1/1;
            display: flex;
            align-items: center;
            justify-content: center;

            .active-benefit-image {
                width: 100%;
                max-width: 510px;
                border-radius: 24px;
                height: auto;
                object-fit: cover;
                transition: opacity 0.5s ease-in-out;

            }
        }
    }

    .benefits-right {
        flex: 1;


        .benefits-accordion {
            border-radius: 0.8rem;
            overflow: hidden;

            .accordion-item {
                max-width: 550px;
                margin-bottom: 1.5rem;
                border-radius: 0.8rem;
                overflow: hidden;
                box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.3);
                transition: all 0.3s ease;

                &.active {
                    background-image: radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2));

                    .accordion-header {
                        border: none;
                    }

                    .accordion-icon {
                        transform: rotate(180deg);
                    }

                    .accordion-content {
                        padding: 2rem;
                        max-height: 50rem !important;
                        opacity: 1;
                    }
                }

                .accordion-header {
                    padding: 2rem;
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    cursor: pointer;
                    border-bottom: 1px solid #2b2828;
                    transition: all 0.3s ease;

                    h3 {
                        font-size: 20px;
                        color: white;
                        font-weight: 400;
                        gap: 1rem;
                    }

                    .accordion-icon {
                        position: relative;
                        width: 2rem;
                        height: 2rem;
                        transition: all 0.2s ease;
                    }
                }

                .accordion-content {
                    padding: 0 2rem;
                    max-height: 0;
                    overflow: hidden;
                    transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1),
                        opacity 0.3s ease,
                        padding 0.3s ease;
                    color: #ddd;
                    opacity: 0;

                    p {
                        margin-bottom: 1rem;
                        line-height: 1.6;
                    }
                }
            }
        }
    }

}

.banner-service {
    padding-block: 2rem;
    position: relative;
    display: block;

    &::before {
        content: '';
        background-color: #000;
        position: absolute;
        height: 50%;
        width: 100%;
        top: 0;
        left: 0;
    }

    .container {
        background: #7f46f1;
        height: 364px;
        justify-content: start;
        padding-left: 4.8rem;
        border-radius: 24px;
        position: relative;

        .info {
            max-width: 510px;
            text-align: start;

            h2 {
                text-align: start;
                color: white;
            }

            .gButton {
                border: 1px solid #fff;
                color: white;
                background-color: transparent;

                &:hover {
                    background-color: white;
                    color: #000;
                }
            }

        }

        figure {
            position: absolute;
            bottom: 0px;
            right: 0px;
        }
    }
}

.articles-solutions {
    padding-block: 0;
    background-color: white;
    position: relative;
    z-index: 3;

    .container {
		     padding-block: 4rem;
        h2 {

            text-align: center;
            font-weight: 400;
            margin-bottom: 48px;
        }

        #swSolutionArticles {
            padding-bottom: 8rem;
            padding-right: 30px;
            padding-left: 30px;
            padding-top: 20px;

            .swiper-wrapper {
                .swiper-slide {
                    height: 100%;

                    .slide-content {
                        justify-content: space-between;
                        width: 100%;
                        box-shadow: 0 30px 35px 0 rgba(0, 0, 0, 0.08);
                        padding: 2rem;
                        height: 100%;
                        height: 400px;
                        border-radius: 24px;
                        background: #fff;

                        .category-name {
                            background-color: #000;
                            color: #fff;
                            width: fit-content;
                            font-size: 12px;
                            padding: 2px 8px;
                        }

                        .post-date {
                            font-size: 16px;
                            color: #868686;
                        }

                        .post-title {
                            font-size: 18px;
                            line-height: 1.44;
                            color: #000;
                            font-weight: 400;
                        }

                        .post-image {
                            border-radius: 15px;
                            overflow: hidden;
                            position: relative;

                            img {
                                height: 100%;
                                transition: all 0.3s ease;
                            }

                            &::before {
                                content: '';
                                background: rgba(0, 0, 0, 0.4);
                                position: absolute;
                                width: 100%;
                                height: 100%;
                                top: 0;
                                left: 0;
                                z-index: 1;
                            }
                        }

                        &:hover {
                            .post-image {
                                img {
                                    transform: scale(1.05);
                                }
                            }
                        }
                    }
                }

            }

            .swiper-button-prev {
                left: inherit;
                top: inherit;
                right: 8%;
                bottom: 8%;
                width: 60px;
                margin-right: 72px;
                height: 60px;
                border-radius: 50%;
                border: 1px solid #000;

                svg {
                    width: 30px;
                    height: 30px;
                }

                &::after {
                    display: none;
                }

            }

            .swiper-button-next {
                top: inherit;
                bottom: 8%;
                width: 60px;
                height: 60px;
                border-radius: 50%;
                border: 1px solid #000;

                svg {
                    width: 30px;
                    height: 30px;
                }

                &::after {
                    display: none;
                }

            }
        }



        .gButton {
            color: #000;
            background-color: transparent;
            border: 1px solid #000;
            position: absolute;
            bottom: 15%;
            margin-left: 30px;
            z-index: 2;

            &:hover {
                background-color: #000;
                color: white;
            }
        }
    }
}
.b35Download {
    background: #d9d4c8;
    z-index: 100;
    bottom: -96px; /* Empieza oculto fuera de la pantalla */
    position: fixed;
    left: 0;
    right: 0;
    margin: auto;
    height: 96px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: bottom 0.3s ease-in-out;
    visibility: hidden; /* Inicia oculto */

    /* Cuando está activo */
    &.active {
        visibility: visible; /* Se hace visible cuando se activa */
        bottom: 0px; /* Aparece en la parte inferior */
    }

    /* Cuando está oculto */
    &.hidden {
        display: none; /* Se oculta el banner */
    }

    /* Contenedor del banner */
    .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
      
        padding: 0 20px;
    }

    h4 {
        font-size: 16px;
        margin: 0;
    }

    a {
         font-size: 14px;
        color: #000;
        text-decoration: none;
        display: flex;
        align-items: center;
        gap: 10px;
        background: white;

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

   
}


.articles-home {
    .container {
        .gButton {
            border: 1px solid #000;
            background-color: #fff;
            color: #000;
            margin: auto;
        }
    }
}

.form-solution {
    position: relative;

    &::before {
        content: '';
        max-width: 1200px;
        width: 100%;
        height: 4px;
        background: #eff2f5;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        top: 0;
    }

    .container {
        justify-content: space-between;
        align-items: start;

        .info {
            max-width: 588px;

            h2 {
                font-weight: normal;
                line-height: 1.1;
                font-size: clamp(20px, 4vw, 80px);

                text-align: start;
            }

            p {
                font-size: 18px;
                letter-spacing: .0125rem;
                line-height: 1.44;
            }
        }


    }
}

.work-with-us {
    .container {
        justify-content: space-between;

        .left {
            max-width: 560px;
            justify-content: start;
            gap: 1rem;

            h2 {
                text-align: start;
                margin-bottom: 0;
            }

            .button-container {
                gap: 1rem;
                align-items: start;

                .whatsapp {
                    background-color: var(--bg-morado-claro);
                    color: #fff;
                    border: 1px solid var(--bg-morado-claro);

                    &:hover {
                        background-color: transparent;
                        color: #000;
                    }
                }

                .formulario {
                    border: 1px solid #000;

                    &:hover {
                        background-color: transparent;
                        color: black;
                    }
                }
            }
        }

        figure {
            img {
                max-width: 551px;
            }
        }
    }
}

.video-work {
    .container {
        justify-content: center;


    }

}

.lucky-benefits {
    .container {
        .wrap-benefits {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: 1fr 1fr;
            gap: 2rem;

            .benefits-box {
                padding: 1rem;
                gap: 1rem;
                border: 1px solid #000;
                border-radius: 15px;
                transition: all 0.3s ease-in-out;

                .svg-icon {
                    padding: .2rem;
                    width: fit-content;
                    border: 1px solid;
                    border-radius: 50%;

                    img {
                        max-width: 20px;
                        max-height: 20px;
                        object-fit: contain;

                    }
                }

                &:hover {
                    background-color: #000;

                    .svg-icon {
                        border: 1px solid #fff;

                        img {
                            filter: invert(1);
                        }
                    }

                    h3 {
                        color: #fff;
                    }

                    p {
                        color: #fff;
                    }
                }
            }
        }
    }
}

.testimonials {
    position: relative;

    .blob {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: -1;
    }

    .container {
        .wrap-testimonials {
            width: 100%;
            gap: 4rem;

            .row {
                width: 100%;
                gap: 2rem;
                justify-content: space-between;
                align-items: start;

                figure {

                    img {
                        max-width: 561px;
                        border-radius: 24px;


                    }
                }

                .info {
                    max-width: 586px;
                    gap: 1rem;

                    h3 {
                        font-size: 32px;
                        font-weight: 700;
                        line-height: 42px;
                    }

                    h4 {
                        font-size: 16px;
                        font-weight: 700;
                        line-height: 20.48px;

                    }

                    p {
                        font-size: 18px;
                    }
                }

                &:nth-child(even) {
                    flex-direction: row-reverse;
                }
            }
        }
    }
}

.certifications {
    .container {
        .gTitle {}

        #swCertificaciones {
            .swiper-wrapper {
                transition-timing-function: linear;

                .swiper-slide {
                    img {
                        max-width: 250px;
                    }
                }
            }
        }
    }
}

.certifications-to-work {
    .container {
        .wrap-certifications {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
            align-items: stretch;

            figure {
                img {
                    max-width: 200px;
                }
            }

        }
    }
}



/*Estilos páginas de nosotros*/
.banner-us {
    padding-top: 268px;
    background-color: #000;

    .container {

        h2 {
            max-width: 588px;
            font-size: clamp(50px, 6vw, 56px);
            text-align: start;
            color: white;
        }
    }
}

.pageUs {
    position: relative;
    padding-top: 0;

    &::before {
        content: '';
        background: #000;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        width: 100%;
        height: 50%;
        top: 0;
        z-index: 1;
        height: 350px;
    }

    .container {
        gap: 3rem;
        position: relative;
        z-index: 2;

        .popuBoxImage {
            max-width: 100%;
            width: 100%;
            height: 676px;

            picture {
                display: block;
                height: 100%;
                width: 100%;

                img {
                    height: 100%;
                    border-radius: 15px;
                    object-fit: cover;
                }
            }
        }

        .row {
            width: 100%;
            justify-content: space-between;

            .left {
                max-width: 510px;
                gap: 1.5rem;

                h2 {
                    margin-bottom: 0;
                    text-align: start;
                }

                p {
                    font-size: 18px;
                    line-height: 1.44;
                }
            }

            figure {
                width: 100%;
                clip-path: polygon(100% 0%, 100% 77.5%, 0% 100%, 0% 20.3%);
                max-width: 510px;
                overflow: hidden;
            }
        }
    }
}

.count-downs {
    background-color: var(--bg-morado-claro);

    .container {
        #swCountDown {
            .swiper-wrapper {
                padding-bottom: 5rem;

                .swiper-slide {
                    display: flex;
                    align-items: start;
                    flex-direction: column;

                    .wpsm_counter_b_row {
                        .wpsm_row {
                            .wpsm_col-md-4 {
                                .wpsm_counterbox {
                                    margin-top: 0;
                                    margin-bottom: 0;
                                    display: flex;
                                    gap: 1rem;

                                    .wpsm_number {
                                        .counter {
                                            font-size: 140px;
                                            font-family: var(--sf-regular);
                                            line-height: normal;
                                            color: rgb(255, 255, 255);
                                            font-weight: 300;

                                        }
                                    }

                                    .wpsm_count-title {
                                        font-size: 140px;
                                        font-weight: 300;
                                        font-family: var(--sf-regular);
                                        line-height: normal;
                                        color: rgb(255, 255, 255);
                                    }

                                }
                            }
                        }

                    }

                    p {
                        padding-left: 15px;
                        font-size: 48px;
                        color: white;
                        line-height: 0.75;
                    }
                }
            }

            .swiper-button-prev {
                left: inherit;

                right: 10%;
                top: 10%;
                width: 60px;
                height: 60px;
                border-radius: 50%;
                border: 1px solid #000;

                svg {
                    width: 30px;
                    height: 30px;
                }

                &::after {
                    display: none;
                }

            }

            .swiper-button-next {
                top: 10%;
                width: 60px;
                height: 60px;
                border-radius: 50%;
                border: 1px solid #000;

                svg {
                    width: 30px;
                    height: 30px;
                }

                &::after {
                    display: none;
                }

            }

            .swiper-pagination {
                padding-left: 15px;

                bottom: 0%;
                display: flex;

                .swiper-pagination-bullet {
                    width: 12px;
                    height: 12px;

                    &.swiper-pagination-bullet-active {
                        background-color: #fff;
                    }

                }
            }
        }
    }
}

.our-presence {

    position: relative;
    height: 1066px;
    overflow: hidden;
    padding-top: 191px;

    .container {
        h2 {
            max-width: 792px;
            margin: auto;
        }
    }

    .container-imageWorld {


        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        bottom: -190px;

        &::before {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            margin: auto;
            background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 100%);
            height: 384px;
            z-index: 2;
            bottom: 0;
            bottom: 190px;
        }

        figure {
            text-align: center;

            img {
                max-width: 792px;
                position: relative;
                border-radius: 50%;
                opacity: .5;
            }
        }

        .imgList {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            max-width: 792px;
            width: 100%;
            margin: auto;
            left: 0;
            right: 0;
            z-index: 3;

            img {
                position: absolute;
                filter: grayscale(1);
                width: 16.2%;
                border-radius: 16px;

                &:nth-child(1) {
                    left: -5%;
                    bottom: 40%;


                }

                &:nth-child(2) {
                    bottom: 35%;
                    left: 27%;
                    width: 16.2%;
                    border-radius: 16px;
                }

                &:nth-child(3) {
                    top: 11%;
                    left: 0;
                    width: 14.2%;
                    border-radius: 12px;

                }

                &:nth-child(4) {
                    top: 21%;
                    left: 34%;
                    width: 14.2%;
                    border-radius: 12px;
                }

                &:nth-child(5) {
                    top: 33%;
                    right: 18%;
                    width: 14.2%;
                    border-radius: 12px;
                }

                &:nth-child(6) {
                    bottom: 29%;
                    right: 31%;
                    width: 12.2%;
                    border-radius: 10px;
                }

                &:nth-child(7) {
                    bottom: 30%;
                    right: -3%;
                    width: 12.2%;
                    border-radius: 10px;
                }

                &:nth-child(8) {
                    top: 15%;
                    right: -1%;
                    width: 12.2%;
                    border-radius: 10px;
                }

                &:nth-child(9) {
                    top: 0%;
                    right: 24%;
                    border-radius: 10px;
                    width: 9.2%;
                }
            }
        }
    }
}

.our-principles {
    .container {
        .benefits-wrapper {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 3rem;
        }

        .benefits-left {
            flex: 1;
            /* min-width: 30rem; */

            .benefits-image {
                position: relative;
                overflow: hidden;
                border-radius: 1.2rem;
                aspect-ratio: 1/1;
                display: flex;
                align-items: center;
                justify-content: center;


                .active-benefit-image {
                    width: 100%;
                    max-width: 510px;
                    border-radius: 24px;
                    height: auto;
                    object-fit: cover;
                    transition: opacity 0.5s ease-in-out;

                }
            }
        }

        .benefits-right {
            flex: 1;
            /* min-width: 30rem; */

            .benefits-accordion {
                border-radius: 0.8rem;
                overflow: hidden;

                .accordion-item {

                    border-radius: 0.8rem;
                    overflow: hidden;

                    transition: all 0.3s ease;

                    &.active {
                        background: #fff;
                        box-shadow: 0 30px 60px 0 rgba(141, 139, 139, 0.2);
                        /* background-image: radial-gradient(circle at 100% 0, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.2)); */

                        .accordion-header {
                            border: none;
                        }

                        .accordion-icon {
                            transform: rotate(180deg);
                        }

                        .accordion-content {
                            padding: 2rem;
                            max-height: 50rem !important;
                            opacity: 1;
                        }
                    }

                    .accordion-header {
                        padding: 2rem;
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        cursor: pointer;
                        /* border-bottom: 1px solid #2b2828; */
                        border-bottom: 1px solid rgba(0, 0, 0, 0.1);
                        transition: all 0.3s ease;

                        h3 {
                            font-size: 20px;

                            font-weight: 400;
                            gap: 1rem;
                        }

                        .accordion-icon {
                            position: relative;
                            width: 2rem;
                            height: 2rem;
                            transition: all 0.2s ease;
                        }
                    }

                    .accordion-content {
                        padding: 0 2rem;
                        max-height: 0;
                        overflow: hidden;
                        transition: max-height 0.5s cubic-bezier(0.215, 0.61, 0.355, 1),
                            opacity 0.3s ease,
                            padding 0.3s ease;

                        opacity: 0;

                        p {
                            margin-bottom: 1rem;
                            line-height: 1.6;
                        }
                    }
                }
            }
        }
    }
}

.progress-history {
    .container {


        .mySwiperMain {
            margin-bottom: 3rem;

            .swiper-wrapper {
                .swiper-slide {
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    gap: 1rem;

                    figure {
                        position: relative;
                        border-radius: 24px;

                        display: block;

                        &::before {
                            content: '';
                            position: absolute;
                            left: 0;
                            top: 0;
                            width: 100%;
                            height: 100%;
                            border-radius: 24px;
                            background: rgba(0, 0, 0, 0.5);
                        }

                        img {

                            max-width: none;
                            width: auto;
                            height: auto;
                            display: block;
                            border-radius: 24px;
                        }
                    }

                    .info {
                        align-items: start;

                    }

                }
            }
        }

        .mySwiperTimeline {
            height: 78px;
            width: calc(100% - 60px);
            margin: auto;
            margin-top: 67px;

            .swiper-wrapper {

                /* transform: inherit !important; */
                .swiper-slide {
                    position: relative;
                    text-align: center;
                    cursor: pointer;
                    display: flex;
                    align-items: flex-start;
                    justify-content: center;
                    /* margin-left: 70px; */


                    .year {
                        font-size: 18px;
                        line-height: 1;
                        color: #000;
                        height: 23px;
                        width: 60px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        border: 1px solid transparent;
                        border-radius: 12px;
                        transition: all 400ms ease;
                    }

                    &.swiper-slide-thumb-active {

                        /* &::after{

                            content: '';
                            position:absolute;
                            right: 0;
                            top: 50%;
                            width: 15px;
                            height: 15px;
                            border-radius: 50%;
                            transform: translateY(-50%);
                            background-color: #000;
                        } */

                        .year {
                            border: 1px solid #000;
                        }
                    }

                    &::before {
                        content: "";
                        position: absolute;
                        height: 4px;
                        background: #ccc;
                        width: 100%;
                        top: 50%;
                        left: 0;
                        transform: translateY(-50%);
                        z-index: -1;
                    }

                    &.swiper-slide-thumb-active {
                        &::before {
                            background: #000;
                        }
                    }
                }
            }

            .swiper-button-prev {
                background-color: white;
                opacity: 1;
                top: 38%;
                left: 0%;
                width: 60px;
                height: 60px;
                border-radius: 50%;
                border: 1px solid #000;

                svg {
                    width: 30px;
                    height: 30px;
                }

                &::after {
                    display: none;
                }

            }

            .swiper-button-next {
                background-color: white;
                top: 38%;
                right: 0%;
                opacity: 1;
                width: 60px;
                height: 60px;
                border-radius: 50%;
                border: 1px solid #000;

                svg {
                    width: 30px;
                    height: 30px;
                }

                &::after {
                    display: none;
                }

            }
        }
    }
}

.post-ours {
    .container {
        .mySwiperEntradas {
            overflow: visible;

            .swiper-wrapper {
                .swiper-slide {
                    .post-card {
                        background-color: #fff;
                        border-radius: 8px;
                        overflow: hidden;
                        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
                        transition: transform 0.3s ease, box-shadow 0.3s ease;
                        position: relative;

                        &:hover {
                            .post-thumbnail {
                                img {
                                    filter: brightness(1);
                                    transform: scale(1.1);
                                }
                            }
                        }

                        .card-link {
                            display: flex;
                            flex-direction: column;
                            align-items: center;
                            gap: 10px;
                            text-decoration: none;
                            color: inherit;
                            height: 100%;
                            padding: 20px;
                        }

                        .info {



                            .post-badge {
                                display: inline-block;
                                background-color: #000;
                                color: #fff;
                                padding: 5px 10px;
                                font-size: 12px;
                                border-radius: 4px;
                                margin-bottom: 10px;
                            }

                            .post-date {
                                color: #777;
                                font-size: 14px;
                                margin-bottom: 5px;
                            }

                            .post-title {
                                margin-top: 5px;
                                margin-bottom: 15px;
                                font-weight: 400;
                                font-size: 18px;
                                line-height: 1.4;
                                color: #333;
                            }
                        }

                        .post-thumbnail {

                            margin-bottom: 0;
                            border-radius: 6px;
                            overflow: hidden;

                            img {
                                width: 100%;
                                height: auto;
                                transform: scale(1);
                                filter: brightness(0.5);
                                transition: transform 0.3s ease;

                            }
                        }

                        &.empty-card {
                            display: none;
                        }

                        &:nth-child(n+3) {
                            display: none;
                        }
                    }
                }
            }


            .swiper-button-next,
            .swiper-button-prev {
                background-color: white;
                top: inherit;
                bottom: -12%;
                right: 0%;
                opacity: 1;
                width: 60px;
                height: 60px;
                border-radius: 50%;
                border: 1px solid #000;

                svg {
                    width: 30px;
                    height: 30px;
                }

                &::after {
                    display: none;
                }
            }

            .swiper-button-prev {
                left: inherit;
                right: 5%;
                margin-right: 3rem;
            }

        }

        .gButton {
            border: 1px solid #000;
            color: #000;
            background-color: #fff;

            &:hover {
                background-color: #000;
                color: #fff;
            }
        }
    }
}

/*Fin estilos nosotros*/
/*Estilos página de single-post*/
.section-post-article {
    padding-block: 0;
    position: relative;




    .animated {
        padding-top: 48px;
        padding-bottom: 390px;
        position: relative;

        .container {
            max-width: 1200px;

            .info {
                gap: 1rem;
                align-items: start;

                .gReturn {
                    align-items: center;
                    gap: 10px;
                    width: fit-content;
                    color: #000;
                }

                h2 {
                    max-width: 996px;
                    text-align: start;
                }

                .categoria {
                    display: inline-block;
                    background-color: #000;
                    color: #fff;
                    padding: 5px 10px;
                    font-size: 12px;
                    border-radius: 4px;
                    margin-bottom: 10px;


                }

                .fecha {
                    color: #777;
                    font-size: 14px;
                    margin-bottom: 5px;
                }
            }
        }

    }

    .content {
        background-color: #fff;

        margin-top: -320px;
        align-items: start;
        /* gap: 2rem; */
        position: relative;

        &::before {
            content: '';
            background: #eff2f5;
            top: 0px;
            right: 0;
            height: 100%;
            width: 20%;
            z-index: 1;
            position: absolute;
        }


        &.no-before {
            &::before {
                content: none;
            }
        }



        .container {
            align-items: start;

            .left {
                flex: 1;
                padding: 20px;


                .imagen-destacada {
                    position: relative;
                    margin-block-end: 2rem;

                    &::before {
                        content: '';
                        position: absolute;
                        width: 100%;
                        height: 100%;
                        top: 0;
                        left: 0;
                        border-radius: 24px;
                        background: rgba(0, 0, 0, 0.2);
                    }

                    figure {

                        img {
                            border-radius: 24px;
                        }
                    }


                }

                .gParrafo {
                    padding: 20px;
                    font-family: var(--sf-regular);
                    font-size: 16px;
                    line-height: 1.5;

                    P {
                        font-size: 16px;
                        line-height: 1.5;
                        color: #000;
                        margin-bottom: 30px;
                    }

                    a {
                        color: #000;
                    }
                }

                p {
                    img {
                        border-radius: 24px;
                        margin-bottom: 60px;
                        max-height: 561px;
                        object-fit: cover;
                    }
                }

                p {
                    iframe {
                        height: 561px;
                        width: 100%;
                        border-radius: 24px;
                    }
                }
            }

            .right-social {
                display: flex;
                flex-direction: column;
                position: relative;
                top: 320px;
                padding-top: 35px;
                height: fit-content;

                .shared-social {}

                &.active {
                    position: sticky;
                    top: 88px;
                }
            }

            .right-form {
                flex: .6;
                display: block;
                width: 408px;
                height: 100%;
                position: sticky;
                background: #eff2f5;
                height: 500px;
                top: 88px;
                height: calc(100vh - 88px);
                z-index: 2;



                .form-wrapper {
                    width: 100%;
                    padding-left: 48px;
                    padding-top: 96px;

                    h3 {
                        font-size: 20px;
                        line-height: normal;
                        color: #000;
                        margin-bottom: 32px;
                    }

                    .wpcf7 {
                        .wpcf7-form {
                            .form-row {
                                .floating-label-group {

                                    label {

                                        &.active {
                                            background-color: #eff2f5;
                                        }
                                    }

                                    input,
                                    textarea {
                                        background-color: transparent;
                                    }


                                }
                            }


                        }
                    }

                }
            }
        }
    }
}

/*Fin estilos single-post*/

/*Estilos contacto*/
.section-contact {
    background-color: #eff2f5;

    .container {
        align-items: start;
        justify-content: space-between;


        .info {
            h1 {
                max-width: 588px;
            }

        }

        .form-wrapper {
            & .wpcf7 {
                & .wpcf7-form {
                    & .floating-label-group {

                        input,
                        textarea {
                            width: 100%;
                            padding: 15px;
                            border: 1px solid #8d8b8b;
                            border-radius: 12px;
                            background: none;
                            font-size: 16px;
                        }

                        label {
                            &.active {
                                background: #eff2f5;
                            }
                        }
                    }
                }
            }
        }
    }
}

.contact-info {
    .container {
        .mainTitle {
            text-align: start;
        }

        .wrapper-offices {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 30px;
            align-items: stretch;

            .office {
                box-shadow: 0 30px 60px 0 rgba(141, 139, 139, 0.2);
                border-radius: 24px;
                padding: 32px;
                height: 262px;

                h3 {
                    margin-bottom: 24px;
                    font-weight: 500;

                }

                .link {
                    gap: 10px;
                    margin-bottom: 16px;

                    p {
                        a {
                            font-size: 16px;
                            line-height: 1.3;
                            color: #000;
                        }

                    }
                }
            }
        }
    }
}

/*Fin estilso contacto*/

.politicas {

    .container {
        color: #000;

        h2 {
            padding-block: 20px;

        }

        p {
            color: #000;
            margin-bottom: 30px;
        }

        ol,
        ul {
            margin-bottom: 30px;

            li {
                list-style: autos;
                margin-left: 2rem;
                padding-block: 15px;

                p {
                    margin-left: 1rem;
                    font-size: 14px;
                }
            }

        }

        .table-container {
            width: 100%;
            overflow-x: auto;
            -webkit-overflow-scrolling: touch;
            margin-bottom: 20px;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            min-width: 650px;
            /* Asegura que la tabla mantiene un ancho mínimo */
        }

        th {
            background-color: #000;
            color: white;
            text-align: center;
            padding: 10px;
            font-weight: bold;
            border: 1px solid #000;
            white-space: nowrap;
            /* Evita que los encabezados se partan */
        }

        td {
            border: 1px solid #000;
            padding: 8px;
            text-align: center;
        }

        .resaltado {
            background-color: #ffff00;
            font-weight: bold;
        }

        /* Para dispositivos muy pequeños, podemos transformar la tabla */
        @media (max-width: 480px) {
            table {
                min-width: unset;
                width: 100%;
            }

            th,
            td {
                padding: 6px 4px;
                font-size: 12px;
            }
        }
    }
}


.info#reclamaciones {
    padding-block: 0 4rem;
    background-color: var(--bg-blue-gray);
    margin-top: 86px;
    background-color: #000;

    .container {

        margin-inline: auto;
        padding: 40px;

        .info-enterprise {
            padding-block: 1rem;
            gap: .5rem;

            h1 {
                color: #fff;
                text-align: center;
            }

            span {
                font-size: 18px;
                line-height: 1.2;
                color: #fff;
                text-align: center;
            }

        }


        .wpcf7 {
            width: 100%;

            .wpcf7-form {
                width: 100%;
                display: flex;
                flex-direction: column;
                gap: 1rem;

                .customs {
                    width: 100%;
                    display: grid;
                    grid-template-columns: 1fr 1fr 1fr;
                    gap: 1rem;

                    .custom {

                        select {
                            -webkit-appearance: none;
                            /* Safari y Chrome */
                            -moz-appearance: none;
                            /* Firefox */
                            appearance: none;
                            width: 100%;
                            padding: 15px 20px;
                            border: none;
                            border-radius: 28px;
                            background: #f5f5f5;

                            font-size: 17.595px;
                            font-style: normal;
                            line-height: 21.994px;

                            &::placeholder {
                                color: #000;
                                font-size: 17.595px;
                                font-style: normal;
                                line-height: 21.994px;

                            }

                            &:focus {
                                outline: none;
                            }
                        }
                    }
                }

                p {
                    width: 100%;

                    input {
                        padding: 15px 20px;
                        border: none;
                        border-radius: 28px;
                        background: #fff;
                        width: 100%;

                        font-size: 17.595px;
                        font-style: normal;
                        line-height: 21.994px;
                        color: #202020;


                        &::placeholder {
                            font-size: 17.595px;
                            font-style: normal;

                            color: #202020;
                            line-height: 21.994px;
                        }

                        &:focus {
                            outline: none;
                        }
                    }

                    input[type="radio"] {
                        accent-color: #8658EB;
                        opacity: 0;
                        position: absolute;
                        width: 100%;
                        height: 100%;
                    }



                    textarea {
                        width: 100%;
                        padding: 15px 20px;
                        border: none;
                        border-radius: 28px;
                        background: #f5f5f5;

                        font-size: 17.595px;
                        font-style: normal;
                        line-height: 21.994px;
                        font-family: var(--rb-regular);
                        color: #202020;

                        &::placeholder {

                            font-size: 17.595px;
                            font-style: normal;
                            font-family: var(--rb-regular);
                            line-height: 21.994px;
                            color: #202020;
                        }

                        &:focus {
                            outline: none;
                        }
                    }
                }

                .content-items {
                    display: flex;
                    flex-direction: column;
                    padding-block: 1rem;
                    gap: 1rem;

                    p {
                        color: #fff;

                        .wpcf7-form-control.wpcf7-radio {
                            color: #fff;
                            display: flex;
                            flex-direction: column;
                            gap: .2rem;
                            align-items: start;
                            margin: 0;

                            span {
                                position: relative;
                            }
                        }
                    }

                    h2 {
                        color: #fff;
                        text-align: start;
                        font-size: 30px;
                        line-height: 30px;
                        margin-bottom: 12px;

                    }

                    h3 {
                        color: #fff;
                    }

                    .group {
                        display: flex;
                        justify-content: space-between;
                        gap: 1rem;

                        .item {
                            width: 50%;

                            p {
                                display: flex;
                                flex-direction: column;
                                gap: 1rem;
                                color: #fff;

                                br {
                                    display: none;
                                }


                                span {
                                    width: 100%;
                                }
                            }
                            @media (max-width:768px) {
                                width: 100%;
                                
                            }

                        }
                        @media (max-width:768px) {
                            flex-direction: column;
                            
                        }

                    }

                    .wpcf7-form-control-wrap {
                        display: flex;

                        label {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            gap: 0.8rem;
                        }

                        .wpcf7-list-item-label {
                            color: #fff;
                        }
                    }

                    &.ubigeo {
                        flex-direction: row;
                        justify-content: space-between;

                        .group {
                            width: 100%;
                            flex-basis: 33.3%;

                            p {
                                width: 100%;

                                .wpcf7-form-control-wrap {
                                    width: 100%;
                                    flex: 1;

                                    select {
                                        -webkit-appearance: none;
                                        -moz-appearance: none;
                                        appearance: none;
                                        width: 100%;
                                        padding: 15px 20px;
                                        border: none;
                                        border-radius: 28px;
                                        background: #f5f5f5;
                                        font-size: 17.595px;
                                        font-style: normal;
                                        line-height: 21.994px;

                                    }

                                    .wpcf7-not-valid-tip {
                                        display: none;
                                    }
                                }
                            }
                        }

                    }
                }

                .btn-animated {
                    display: flex;

                    border-radius: 16px;
                    justify-content: center;
                    align-items: center;
                    gap: 10px;
                    background-color: var(--bg-morado);
                    font-weight: 700;
                    color: #000;
                    gap: 1rem;
                    width: fit-content;
                    margin: auto;

                    &:hover {
                        background-color: var(--bg-morado-claro)
                    }

                    p {
                        position: relative;
                        margin-bottom: 0;

                        z-index: 6;


                        input[type="submit"] {
                            background-color: var(--bg-green-light);
                            padding: 12px 44px;
                            font-size: 20px;
                            color: white;
                            cursor: pointer;
                            font-family: var(--g-bold);

                        }

                        .wpcf7-spinner {
                            display: none;
                        }
                    }
                }
            }
        }
    }
}


/*Estilos footer*/
footer {
    background-color: #000;
    padding-block: 4rem 0;

    .container {
        max-width: 1400px;

        .top {
            gap: 5rem;
            align-items: start;

            .logo-footer {
                img {}
            }

            .right {
                display: grid;
                width: 100%;
                grid-template-columns: repeat(3, 1fr);
                column-gap: 7rem;

                .info-country {
                    gap: 1rem;

                    h3 {
                        font-size: clamp(20px, 1.25vw + 1rem, 24px);
                        line-height: 1.08;
                        color: #fff;
                        font-weight: 400;
                    }

                    p {
                        font-size: clamp(12px, 1vw + 0.5rem, 18px);
                        line-height: 1.44;
                        color: rgba(255, 255, 255, 0.8);
                    }
                }

            }
        }

        .footer-section {
            margin-block: 30px;
            min-width: 200px;
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: 5rem;


            a {
                font-size: clamp(12px, 1vw + 0.5rem, 18px);
                line-height: 1.44;
                color: rgba(255, 255, 255, 0.5);
            }

            .libro-reclamaciones {
                gap: 4px;

                img {
                    max-width: 40px;
                }

                span {
                    font-size: clamp(12px, 1vw + 0.5rem, 18px);
                    line-height: 1.44;
                    color: rgba(255, 255, 255, 0.5);
                }

            }
        }

        .redes {
            ul {
                justify-content: center;
                flex-wrap: wrap;
                gap: 5rem;
                padding-block: 6rem 2rem;

                li {
                    a {

                        position: relative;
                        font-size: clamp(16px, 1.25vw + 1rem, 24px);
                        line-height: 1;
                        color: rgba(255, 255, 255, 0.5);

                        svg {
                            width: 15px;
                            height: 15px;
                            position: relative;
                            top: -5px;
                            left: -4px;
                        }
                    }
                }
            }
        }

        .bottom {
            justify-content: center;
            padding-block: 2rem;
            border-top: 1px solid rgba(255, 255, 255, 0.1);

            p {
                font-size: 16px;
                line-height: 1;
                color: rgba(255, 255, 255, 0.5);
                margin-bottom: 0;
                text-align: center;
            }
        }
    }
}

/*Fin estilos footer*/