.fsl-button-container {
  background-color: none;
  margin: 0px auto 38px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 101px;
  position: relative;
}

.fsl-button {
  display: block;
  width: 268px;
  height: 88px;
  background-color: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(4px);
  border-radius: 200px;
  text-decoration: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: hidden;
  transition: height 0.3s ease, background-color 0.6s ease-out;
}

.fsl-button:hover {
  height: 101px;
  background-color: rgba(255, 255, 255, 0.1);
}

.fsl-button.hover-out {
  background-color: #ffffff;
}

.fsl-button-content {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  z-index: 2;
}

.fsl-button-text {
  font-family: "neue-haas-unica", sans-serif;
  font-size: 20px;
  font-weight: 500;
  color: #E8EFFC;
  transition: font-size 0.3s ease;
}

.fsl-button:hover .fsl-button-text {
  font-size: 24px;
}

.fsl-button-image {
  width: 61px;
  height: 61px;
  background-color: #012266;
  border-radius: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.fsl-button-image img {
  transition: all 0.3s ease;
  width: 17px;
  height: 17px;
}

.fsl-button:hover .fsl-button-image {
  width: 76px;
  height: 76px;
  background-color: #ffffff;
}

.fsl-button:hover .fsl-button-image img {
  width: 24px;
  height: 24px;
}

.bg-animation {
  width: 0%;
  height: 100%;
  background: transparent linear-gradient(90deg, #012266 0%, #0044A6 100%) 0% 0% no-repeat padding-box;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 200px;
  transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  opacity: 1;
  z-index: 1;
}

.fsl-button:hover .bg-animation {
  width: 100%;
  transition: width 0.03s ease-in, opacity 0.03s ease-in;
  animation: moveGradient 3s linear infinite;
  opacity: 1;
}

.fsl-button:not(:hover) .bg-animation {
  opacity: 0;
  width: 0%;
}

/* Blue button version */
.bt-blue {
  background-color: #002266;
}

.bt-blue .fsl-button-text {
  color: #ffffff;
}

.bt-blue .fsl-button-image {
  background-color: #ffffff;
}

.bt-blue .fsl-button-image img {
  content: url('../img/arrow_forward-blue.svg');
}

.fsl-button.bt-blue.hover-out {
  background-color: #002266;
}

@keyframes moveGradient {
  0% { background-position: 0% 0%; }
  100% { background-position: 200% 0%; }
}

/* Ajustes responsivos para el botón FSL */
@media (max-width: 992px) {
  .fsl-button-container {
    height: 90px;
    margin: 0px auto 30px auto;
  }
  
  .fsl-button {
    width: 240px;
    height: 78px;
  }
  
  .fsl-button:hover {
    height: 90px;
  }
  
  .fsl-button-text {
    font-size: 18px;
  }
  
  .fsl-button:hover .fsl-button-text {
    font-size: 22px;
  }
  
  .fsl-button-image {
    width: 54px;
    height: 54px;
  }
  
  .fsl-button:hover .fsl-button-image {
    width: 68px;
    height: 68px;
  }
  
  .fsl-button-image img {
    width: 15px;
    height: 15px;
  }
  
  .fsl-button:hover .fsl-button-image img {
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 768px) {
  .fsl-button-container {
    height: 80px;
    margin: 0px auto 25px auto;
  }
  
  .fsl-button {
    width: 220px;
    height: 68px;
  }
  
  .fsl-button:hover {
    height: 80px;
  }
  
  .fsl-button-text {
    font-size: 16px;
  }
  
  .fsl-button:hover .fsl-button-text {
    font-size: 20px;
  }
  
  .fsl-button-image {
    width: 48px;
    height: 48px;
  }
  
  .fsl-button:hover .fsl-button-image {
    width: 60px;
    height: 60px;
  }
  
  .fsl-button-image img {
    width: 14px;
    height: 14px;
  }
  
  .fsl-button:hover .fsl-button-image img {
    width: 18px;
    height: 18px;
  }
}

@media (max-width: 576px) {
  .fsl-button-container {
    height: 70px;
    margin: 0px auto 20px auto;
  }
  
  .fsl-button {
    width: 190px;
    height: 58px;
  }
  
  .fsl-button:hover {
    height: 70px;
  }
  
  .fsl-button-text {
    font-size: 14px;
  }
  
  .fsl-button:hover .fsl-button-text {
    font-size: 17px;
  }
  
  .fsl-button-image {
    width: 42px;
    height: 42px;
  }
  
  .fsl-button:hover .fsl-button-image {
    width: 52px;
    height: 52px;
  }
  
  .fsl-button-image img {
    width: 12px;
    height: 12px;
  }
  
  .fsl-button:hover .fsl-button-image img {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 375px) {
  .fsl-button-container {
    height: 60px;
    margin: 0px auto 15px auto;
  }
  
  .fsl-button {
    width: 170px;
    height: 50px;
  }
  
  .fsl-button:hover {
    height: 60px;
  }
  
  .fsl-button-text {
    font-size: 13px;
  }
  
  .fsl-button:hover .fsl-button-text {
    font-size: 15px;
  }
  
  .fsl-button-image {
    width: 36px;
    height: 36px;
  }
  
  .fsl-button:hover .fsl-button-image {
    width: 44px;
    height: 44px;
  }
  
  .fsl-button-image img {
    width: 10px;
    height: 10px;
  }
  
  .fsl-button:hover .fsl-button-image img {
    width: 14px;
    height: 14px;
  }
}