.elementor-277 .elementor-element.elementor-element-31509ef{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:flex-start;--gap:30px 10px;--row-gap:30px;--column-gap:10px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:-21px;--margin-left:0px;--margin-right:0px;--padding-top:42px;--padding-bottom:20px;--padding-left:16px;--padding-right:16px;}.elementor-277 .elementor-element.elementor-element-ab171fd{--display:flex;--padding-top:16px;--padding-bottom:16px;--padding-left:16px;--padding-right:16px;}.elementor-277 .elementor-element.elementor-element-ab171fd.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-277 .elementor-element.elementor-element-8e0a8e2 img{width:157px;}.elementor-277 .elementor-element.elementor-element-ab7abf4{--display:flex;--gap:16px 0px;--row-gap:16px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-277 .elementor-element.elementor-element-ab7abf4.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(7px/2);}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(7px/2);}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(7px/2);}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-7px/2);}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-7px/2);}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-icon i{color:var( --e-global-color-0b40ece );transition:color 0.3s;}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-icon svg{fill:var( --e-global-color-0b40ece );transition:fill 0.3s;}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-c146b5f{--e-icon-list-icon-size:18px;--e-icon-list-icon-align:right;--e-icon-list-icon-margin:0 0 0 calc(var(--e-icon-list-icon-size, 1em) * 0.25);--icon-vertical-align:center;--icon-vertical-offset:0px;}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-icon{padding-inline-end:7px;}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-item > .elementor-icon-list-text, .elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-item > a{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-text{color:var( --e-global-color-0b40ece );transition:color 0.3s;}.elementor-277 .elementor-element.elementor-element-c146b5f .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-f72e213{--grid-template-columns:repeat(0, auto);text-align:left;--icon-size:20px;--grid-column-gap:12px;--grid-row-gap:0px;}.elementor-277 .elementor-element.elementor-element-f72e213 .elementor-social-icon{background-color:#657FA200;--icon-padding:0.5em;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-0b40ece );}.elementor-277 .elementor-element.elementor-element-f72e213 .elementor-icon{border-radius:50px 50px 50px 50px;}.elementor-277 .elementor-element.elementor-element-f72e213 .elementor-social-icon:hover{background-color:#FFFFFF00;border-color:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-f72e213 .elementor-social-icon:hover i{color:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-f72e213 .elementor-social-icon:hover svg{fill:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-57be2ac{--display:flex;--flex-wrap:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-277 .elementor-element.elementor-element-57be2ac.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(32px/2);}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(32px/2);}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(32px/2);}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-32px/2);}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-32px/2);}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-icon i{color:var( --e-global-color-0b40ece );transition:color 0.3s;}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-icon svg{fill:var( --e-global-color-0b40ece );transition:fill 0.3s;}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-277 .elementor-element.elementor-element-85658c4{--e-icon-list-icon-size:23px;--e-icon-list-icon-align:center;--e-icon-list-icon-margin:0 calc(var(--e-icon-list-icon-size, 1em) * 0.125);--icon-vertical-align:center;--icon-vertical-offset:-2px;}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-item > a{font-family:"Anek Latin", Sans-serif;font-size:16px;font-weight:300;line-height:17px;}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-text{color:var( --e-global-color-0b40ece );transition:color 0.3s;}.elementor-277 .elementor-element.elementor-element-85658c4 .elementor-icon-list-item:hover .elementor-icon-list-text{color:var( --e-global-color-primary );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-277 .elementor-element.elementor-element-ab171fd{--width:21%;}.elementor-277 .elementor-element.elementor-element-ab7abf4{--width:30%;}.elementor-277 .elementor-element.elementor-element-57be2ac{--width:100%;}}@media(max-width:767px){.elementor-277 .elementor-element.elementor-element-31509ef{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:-13px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-277 .elementor-element.elementor-element-f72e213{text-align:center;}}/* Start custom CSS for html, class: .elementor-element-006e857 *//* --- Contenedor Principal --- */
.floating-menu-container {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 1000;
    /* Ayuda a alinear los elementos hijos */
    display: flex;
    flex-direction: column;
    align-items: flex-end; 
}
/* --- 
  MODIFICADO: Contenedor Principal (Medio y Derecha) 
--- */
.floating-menu-container {
    position: fixed;
    top: 50%; /* <--- CAMBIO: Lo pone a la mitad vertical */
    right: 30px;
    /* <--- AÑADIDO: Centra verticalmente el elemento */
    transform: translateY(-50%); 
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: flex-end; 
}

/* --- Botón de Hamburguesa (Principal) --- */
.fab-menu-toggle {
    background-color: #1f2a2e; /* Color azul, cámbialo al tuyo */
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

/* --- Lista de Iconos (Oculta por defecto) --- */
.fab-menu-items {
    list-style: none;
    padding: 0;
    margin: 0;
    /* Ajusta el margen si es necesario para tu nuevo layout */
    margin-right: 15px; /* Espacio entre los iconos y el borde */
    
    /* Ocultos por defecto */
    opacity: 0;
    visibility: hidden;
    transform: translateX(20px); /* Animación de salida lateral */
    transition: all 0.3s ease;
}

/* --- Estado ABIERTO (.open) --- */
.floating-menu-container.open .fab-menu-items {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}
.floating-menu-container.open .fab-menu-toggle {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.5);
}

/* --- Estilo de cada Icono de la lista --- */
.fab-menu-items li {
    margin-bottom: 10px;
    display: flex;
    justify-content: flex-end;
}

/* --- Estilo de cada Icono de la lista (CORREGIDO) --- */
.fab-menu-items li a {
    background-color: #1f2a2e;
    color: #ffffff;
    width: 50px; 
    height: 50px;
    border-radius: 50px; /* Círculo perfecto */
    display: flex;
    align-items: center;
    
    /* CAMBIO: Quitamos "justify-content: center;"
      y añadimos un padding-left fijo de 16px.
      (50px de ancho - 18px del icono = 32px. 16px a cada lado)
    */
    padding-left: 16px;
    box-sizing: border-box; /* Asegura que el padding no altere el ancho */
    
    text-decoration: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    font-size: 18px; /* Tamaño del icono */
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}
.fab-menu-items li a .fas,
.fab-menu-items li a .fab {
    /* Fija el ancho del icono para un centrado perfecto */
    width: 18px;
    text-align: center;
}

.fab-menu-items li a.fab-menu-close {
    background-color: #dc3545;
    color: white;
}

.fab-menu-items li .fab-label {
    opacity: 0;
    margin-left: 0;
    white-space: nowrap;
    font-size: 14px;
    font-weight: bold;
    transition: all 0.3s ease;
}

.fab-menu-items li a:hover {
    width: 170px;
    justify-content: flex-start;
    padding-left: 16px;
}

.fab-menu-items li a:hover .fab-label {
    opacity: 1;
    margin-left: 10px;
}


/* --- 
  NUEVO: Botón Flotante de WhatsApp 
--- */
.fab-whatsapp {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 999; /* Por debajo del menú principal */
    
    background-color: #1f2a2e; /* Color oficial de WhatsApp */
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px; /* Icono más grande */
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

.fab-whatsapp:hover {
    transform: scale(1.1); /* Efecto simple */
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
}
.fab-menu-toggle:hover {
    transform: scale(1.1); /* Efecto simple */
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
}

/* =========================================================
  ESTILOS PARA MÓVILES (Pantallas de 767px o menos)
=========================================================
*/
@media (max-width: 767px) {

    /* --- 1. Botón de WhatsApp (más pequeño y más pegado) --- */
    .fab-whatsapp {
        width: 50px;           /* Más pequeño (antes 60px) */
        height: 50px;          /* Más pequeño (antes 60px) */
        font-size: 24px;       /* Icono más pequeño (antes 30px) */
        
        /* Menos espacio desde el borde */
        right: 15px;           /* Menos padding (antes 30px) */
        bottom: 15px;          /* Menos padding (antes 30px) */
    }

    /* --- 2. Menú de Hamburguesa (más pequeño y más pegado) --- */
    .floating-menu-container {
        /* Menos espacio desde el borde */
        right: 15px;           /* Menos padding (antes 30px) */
    }

    .fab-menu-toggle {
        width: 50px;           /* Más pequeño (antes 60px) */
        height: 50px;          /* Más pequeño (antes 60px) */
        font-size: 20px;       /* Icono más pequeño (antes 24px) */
    }

    /* --- 3. Iconos del Menú (los que se expanden) --- */
    .fab-menu-items li a {
        width: 44px;           /* Más pequeño (antes 50px) */
        height: 44px;          /* Más pequeño (antes 50px) */
        font-size: 16px;       /* Icono más pequeño (antes 18px) */
        
        /* RE-AJUSTE DEL CENTRADO (IMPORTANTE)
          Ajustado para el nuevo tamaño de 44px y 16px de icono
        */
        padding-left: 14px;
    }

    /* Ajuste del ancho del icono para el centrado */
    .fab-menu-items li a .fas,
    .fab-menu-items li a .fab {
        width: 16px;           /* Coincide con el font-size de 16px */
    }

    /* --- 4. Expansión (hover) en móvil --- */
    .fab-menu-items li a:hover {
        /* Ancho expandido más corto para pantallas pequeñas */
        width: 130px;          /* Antes 150px */
        padding-left: 14px;    /* Mantiene el mismo padding */
    }
    
    .fab-menu-items li a:hover .fab-label {
        font-size: 12px;       /* Texto más pequeño */
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-31509ef */.piePagina a{
    color: white;
}/* End custom CSS */