/* Minimal custom CSS - only for features impossible with Tailwind */

/* Backdrop filter fallbacks */
@supports not (backdrop-filter: blur(15px)) {
  .backdrop-blur-fallback {
    background: rgba(0, 0, 0, 0.95) !important;
  }
}

/* Keyframe animations */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes bounce-custom {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-12px);
  }
  60% {
    transform: translateY(-6px);
  }
}

.animate-fadeInUp {
  animation: fadeInUp 1.5s ease both;
}
.animate-bounce-custom {
  animation: bounce-custom 2s infinite;
}
.delay-500 {
  animation-delay: 0.5s;
}
.delay-1000 {
  animation-delay: 1s;
}
.delay-1500 {
  animation-delay: 1.5s;
}
.delay-2000 {
  animation-delay: 2s;
}

/* Header Logo Hover Effect */
.header-logo {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.header-logo:hover::before {
  left: 100%;
}

.header-logo img {
  position: relative;
  z-index: 2;
  transition: all 0.3s ease;
}
.header-logo:hover img {
  filter: brightness(1.1) contrast(1.1)
    drop-shadow(0 0 15px rgba(255, 215, 0, 0.4));
}

/* Flag icons */
.flag-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
}
.flag-icon.es {
  background-image: url("https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/es.svg");
}
.flag-icon.en {
  background-image: url("https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/us.svg");
}
.flag-icon.pt {
  background-image: url("https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/br.svg");
}

/* Video responsive */
.hero-video iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100vh * (16 / 9));
  height: 100vh;
  min-width: 100vw;
  min-height: calc(100vw * (9 / 3));
  transform: translate(-50%, -50%);
  border: none;
  pointer-events: none;
}

/* Nav link underline effect */
.nav-link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 2px;
  background: #ffd700;
  transition: width 0.3s ease;
}
.nav-link:hover::after {
  width: 100%;
}

@keyframes float {
  0% {
    transform: translateY(0px) rotate(var(--tw-rotate, 0deg));
  }

  50% {
    transform: translateY(-10px) rotate(var(--tw-rotate, 0deg));
  }

  100% {
    transform: translateY(0px) rotate(var(--tw-rotate, 0deg));
  }
}

@keyframes float-reverse {
  0% {
    transform: translateY(0px) rotate(var(--tw-rotate, 0deg));
  }

  50% {
    transform: translateY(10px) rotate(var(--tw-rotate, 0deg));
  }

  100% {
    transform: translateY(0px) rotate(var(--tw-rotate, 0deg));
  }
}

@keyframes float-slow {
  0% {
    transform: translate(-50%, -50%) translateY(0px)
      rotate(var(--tw-rotate, 0deg));
  }

  50% {
    transform: translate(-50%, -50%) translateY(-15px)
      rotate(var(--tw-rotate, 0deg));
  }

  100% {
    transform: translate(-50%, -50%) translateY(0px)
      rotate(var(--tw-rotate, 0deg));
  }
}

.animate-home-float {
  animation: float 6s ease-in-out infinite;
}

.animate-home-float-reverse {
  animation: float-reverse 6s ease-in-out infinite;
}

.animate-home-float-slow {
  animation: float-slow 8s ease-in-out infinite;
}
