.elementor-100 .elementor-element.elementor-element-8b8673f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-100 .elementor-element.elementor-element-8b8673f:not(.elementor-motion-effects-element-type-background), .elementor-100 .elementor-element.elementor-element-8b8673f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#20150C;}.elementor-100 .elementor-element.elementor-element-a20ddb5{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-100 .elementor-element.elementor-element-f8b88e0.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-100 .elementor-element.elementor-element-bdfe8e3{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-100 .elementor-element.elementor-element-1a73585.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-100 .elementor-element.elementor-element-76646cd{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-100 .elementor-element.elementor-element-0dc056c.xpro-widget-bg-overlay:before{transition:background 0.3s;}.elementor-100 .elementor-element.elementor-element-eb7b0d7{--display:flex;--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;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-100 .elementor-element.elementor-element-2cf647b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-100 .elementor-element.elementor-element-2cf647b.xpro-widget-bg-overlay:before{transition:background 0.3s;}.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-100 .elementor-element.elementor-element-8b8673f{--width:100vw;}.elementor-100 .elementor-element.elementor-element-eb7b0d7{--width:100vw;}}/* Start custom CSS for html, class: .elementor-element-f8b88e0 */.footer-contact{
    background-color: #20150C;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f8b88e0 */.footer-contact li {
  margin: 5px 0;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #ffffff;
  position: relative;
  padding: 8px 12px;
  transition: transform 0.4s ease, background-color 0.4s ease;
  transform-origin: center;
  border-radius: 6px;
  overflow: hidden;
}

/* Barrita inferior blanca animada */
.footer-contact li::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1px;
  background-color: #ffffff;
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

/* Hover: crece la barrita desde el centro hacia los lados */
.footer-contact li:hover::after {
  width: 60%;
}

/* Hover principal ya existente (efecto de elevación y sombra) */
.footer-contact li:hover {
  transform: translateY(-3px) scale(1.05);
  background-color: rgba(255, 255, 255, 0.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.footer-contact li > * {
  position: relative;
  z-index: 1;
}

.footer-contact a {
  text-decoration: none;
  font-weight: 300;
  color: #ffffff;
  transition: color 0.3s ease;
}

.footer-contact a:hover {
  color: #cccccc;
}

.footer-contact .icon {
  font-size: 1.1em;
  color: #ffffff;
  transition: transform 0.3s ease, color 0.3s ease;
}

.footer-contact li:hover .icon {
  transform: scale(1.2);
  color: #dddddd;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1a73585 */.footer-contact {
  text-align: center;
  font-family: 'Poppins', sans-serif;
  color: #ffffff;
}

.footer-contact ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-contact li {
  margin: 5px 0;
  font-size: 16px;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.footer-contact a {
  text-decoration: none;
  font-weight: 300;
  color: #ffffff;
  transition: color 0.3s ease;
}

.footer-contact a:hover {
  color: #cccccc;
}

.footer-contact .icon {
  font-size: 1.1em;
  color: #ffffff;
  transition: transform 0.3s ease;
}

.footer-contact li:hover .icon {
  transform: scale(1.15);
  color: #dddddd;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2cf647b */.footer-location {
  display: flex;
  flex-direction: column;   /* Apila los elementos uno debajo del otro */
  align-items: center;      /* Centra horizontalmente */
  justify-content: center;  /* Centra verticalmente si el contenedor tiene altura */
  text-align: center;       /* Centra el texto dentro de cada li */
  padding: 20px 0;          /* Espacio arriba y abajo */

}

.footer-location ul {
  list-style: none;         /* Quita viñetas */
  padding: 0;
  margin: 0;
}

.footer-location li {
  margin: 5px 0;            /* Espacio entre elementos */
  color: #ffffff;              /* Color de texto */
  font-family: 'Poppins', sans-serif;
  font-size: 0.95rem;
  line-height: 1.5;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2cf647b */.footer-location {
    text-align: center;
    margin: 0 auto;
    padding: 10px 20px;
    font-family: 'Poppins', sans-serif;
    color: #ffffff;
  }

  .footer-location ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .footer-location .direccion {
    font-size: 0.9rem;
    line-height: 1.5;
    margin-bottom: 10px;
  }

  .footer-location .copy {
    font-size: 0.75rem;
    opacity: 0.8;
  }

  /* Redes Sociales */
  .footer-social {
    text-align: center;
    margin: 5px 0;
  }
.footer-social a {
  position: relative;
  display: inline-block;
  margin: 0 8px;
  width: 36px;
  height: 36px;
  line-height: 36px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 16px;
  text-align: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px #ffffff;
  overflow: hidden;
  z-index: 1;
  transform: translateY(0); /* estado base */
}

/* Brillo alrededor base */
.footer-social a::before,
.footer-social a::after {
  content: "";
  position: absolute;
  top: -5px;
  left: -5px;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.3),
              0 0 20px rgba(255, 255, 255, 0.2);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

/* Efecto flotante hacia arriba sin escalar */
.footer-social a:hover {
  background-color: #ffffff;
  color: #111111;
  transform: translateY(-5px); /* se mueve hacia arriba */
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}

.footer-social a:hover::before,
.footer-social a:hover::after {
  opacity: 1;
}/* End custom CSS */