.elementor-1040 .elementor-element.elementor-element-314a9c2{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1040 .elementor-element.elementor-element-6c495da{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1040 .elementor-element.elementor-element-2558ce4{--display:flex;}.elementor-1040 .elementor-element.elementor-element-4501458{--display:flex;--min-height:6vh;--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-1040 .elementor-element.elementor-element-85f7858 .elementor-repeater-item-046ccf4.elementor-social-icon{background-color:#000000;}.elementor-1040 .elementor-element.elementor-element-85f7858 .elementor-repeater-item-35a8cba.elementor-social-icon{background-color:#F8008A;}.elementor-1040 .elementor-element.elementor-element-85f7858 .elementor-repeater-item-7f0f229.elementor-social-icon{background-color:#0091E0;}.elementor-1040 .elementor-element.elementor-element-85f7858 .elementor-repeater-item-186c604.elementor-social-icon{background-color:#F8008A;}.elementor-1040 .elementor-element.elementor-element-85f7858 .elementor-repeater-item-21e8267.elementor-social-icon{background-color:#000000;}.elementor-1040 .elementor-element.elementor-element-85f7858{--grid-template-columns:repeat(0, auto);text-align:center;--grid-column-gap:12px;--grid-row-gap:0px;}@media(max-width:767px){.elementor-1040 .elementor-element.elementor-element-6c495da{--min-height:0vh;}.elementor-1040 .elementor-element.elementor-element-4501458{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:-0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}}@media(min-width:768px){.elementor-1040 .elementor-element.elementor-element-314a9c2{--content-width:100%;}.elementor-1040 .elementor-element.elementor-element-4501458{--content-width:100%;}}/* Start custom CSS for container, class: .elementor-element-6c495da *//* RESET Y BASE */
.elementor-1040 .elementor-element.elementor-element-6c495da, .elementor-1040 .elementor-element.elementor-element-6c495da * {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background-color: transparent !important;
}

.elementor-1040 .elementor-element.elementor-element-6c495da {
    width: 260px !important;
    height: 260px !important;
    border-radius: 50% !important;
    position: relative !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: visible !important; /* Permite ver los iconos fuera */
}

/* ANILLO INTERIOR AZUL */
.elementor-1040 .elementor-element.elementor-element-6c495da::before {
    content: "";
    position: absolute;
    top: 14px; left: 14px;
    width: calc(100% - 28px);
    height: calc(100% - 28px);
    border-radius: 50%;
    border: 2px solid transparent !important;
    border-top-color: #1e90ff !important;
    border-bottom-color: #1e90ff !important;
    animation: orbit-blue 6s linear infinite reverse;
    pointer-events: none;
    z-index: 1;
}

/* ANILLO EXTERIOR ROSA/BLANCO */
.elementor-1040 .elementor-element.elementor-element-6c495da::after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    border-radius: 50%;
    border: 2px solid transparent !important;
    border-right-color: #FF0088 !important; 
    border-left-color: #FF0088 !important;
    border-top-color: #ffffff !important;
    border-bottom-color: #ffffff !important;
    animation: orbit-white 4s linear infinite;
    pointer-events: none;
    z-index: 2;
}

@keyframes orbit-blue { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes orbit-white { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

@media (max-width: 767px) {
    .elementor-1040 .elementor-element.elementor-element-6c495da {
        width: 260px !important;
        height: 260px !important;
    }
}















/* ELIMINAR SOMBRA AL TOCAR EL LOGO */
.elementor-1040 .elementor-element.elementor-element-6c495da {
    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
    cursor: pointer;
}

/* Aplicar limpieza a la imagen y al enlace del logo */
.elementor-1040 .elementor-element.elementor-element-6c495da img, 
.elementor-1040 .elementor-element.elementor-element-6c495da a {
    -webkit-tap-highlight-color: transparent !important;
    -webkit-touch-callout: none !important;
    outline: none !important;
    user-select: none !important;
}

/* Opcional: Pequeño feedback visual al tocar el logo */
.elementor-1040 .elementor-element.elementor-element-6c495da:active img {
    transform: scale(0.96);
    transition: transform 0.1s ease;
    filter: brightness(1.2);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-314a9c2 */.elementor-1040 .elementor-element.elementor-element-314a9c2 {
    min-height: 100svh;
    min-height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; /* Referencia para los iconos */
    overflow: hidden;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4501458 *//* POSICIONAMIENTO Y LIMPIEZA TOTAL */
.elementor-1040 .elementor-element.elementor-element-4501458 {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: 550px !important; 
    
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 20px !important;
    z-index: 9999 !important;
    
    /* ESTO EVITA QUE SE ENCOJAN */
    width: auto !important;
    max-width: none !important;
    min-width: max-content !important;

    -webkit-tap-highlight-color: transparent !important;
    outline: none !important;
}

/* FORZAR TAMAÑO REAL DEL ICONO */
.elementor-1040 .elementor-element.elementor-element-4501458 img, 
.elementor-1040 .elementor-element.elementor-element-4501458 svg {
    /* Cambia estos valores al tamaño que quieras (ej. 40px o 45px) */
    width: 35px !important; 
    height: 35px !important;
    
    /* Esto impide que cualquier otro estilo los reduzca */
    min-width: 35px !important;
    min-height: 35px !important;
    
    object-fit: contain !important; /* Mantiene la proporción */
    flex-shrink: 0 !important;      /* Prohíbe que el flexbox los aplaste */
}

@media (max-width: 480px) {
    .elementor-1040 .elementor-element.elementor-element-4501458 {
        top: 520px !important;
    }
    /* Ajuste fino para móvil si los quieres un pelín menores, 
       pero puedes dejarlos en 35px si te gustan grandes */
    .elementor-1040 .elementor-element.elementor-element-4501458 img, .elementor-1040 .elementor-element.elementor-element-4501458 svg {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
    }
}/* End custom CSS */