/* Root Colors */
:root {
  --primary-color: #DF1067;
  --secondary-color: #7DA1A0;
  --accent-color: #FF76C9;
  --background-gradient: linear-gradient(120deg, #FF76C9, #FEF08C);
  --text-color: #FFFFFF;
  --text-shadow-color: rgba(0, 0, 0, 0.4);
  --button-hover-color: #EA5792;
  --overlay-color: rgba(0, 0, 0, 0.5); /* Semi-transparent overlay */
  --glow-color: #FFFFFF;
  --heading-font: 'Poppins', sans-serif;
  --body-font: 'Roboto', sans-serif;
}

/* General Styling */
body {
  margin: 0;
  padding: 0;
  font-family: var(--body-font);
  background: linear-gradient(-45deg, #FF76C9, #EA5792, #FEF08C, #7DA1A0);
  background-size: 400% 400%;
  animation: gradient-animation 10s ease infinite;
  color: var(--text-color);
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh; /* Use min-height instead of height */
  overflow: hidden;
  position: relative;
}

/* Semi-Transparent Overlay for Contrast */
.background-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--overlay-color);
  z-index: 1;
}

/* Gradient Animation */
@keyframes gradient-animation {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Landing Page Container */
.landing-page {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 2; /* Above overlay */
  padding: 20px; /* Add padding for smaller screens */
}

/* Welcome Text */
.welcome-container h1 {
  font-family: var(--heading-font);
  font-size: clamp(2rem, 8vw, 3.5rem); /* Responsive font size */
  letter-spacing: 1.5px;
  margin-bottom: 20px;
  text-shadow: 2px 4px 6px var(--text-shadow-color);
  animation: fadeIn 1.5s ease-out;
}

.welcome-container h1 span {
  color: var(--primary-color);
  font-weight: bold;
  animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
  from { text-shadow: 0 0 10px #fef08c, 0 0 20px #36ba53, 0 0 30px #e0dfdb; }
  to { text-shadow: 0 0 20px #ff76c9, 0 0 30px #e0dfdb, 0 0 40px #fef08c; }
}

/* Drone Animation */
.drone-animation {
  position: absolute;
  top: 50%;
  left: 20%;
  z-index: 10;
  transform-origin: center;
  animation: drone-pop-up-and-fly 10s ease-in-out forwards;
}

.drone-animation img {
  width: clamp(80px, 20vw, 130px); /* Responsive image size */
  height: auto;
  filter: drop-shadow(0 0 15px rgba(255, 118, 201, 0.8));
}

@keyframes drone-pop-up-and-fly {
  0% { transform: translate(-3050px, -500px) scale(0); opacity: 0; }
  20% { transform: translate(-350px, -95px) scale(1); opacity: 1; }
  40% { transform: translate(800px, -180px); }
  60% { transform: translate(300px, 180px); }
  80% { transform: translate(-250px, 0px); }
  100% { transform: translate(-300px, -90px); }
}

/* Drone Shadow Animation */
.drone-shadow {
  position: absolute;
  top: 90%;
  left: 23%;
  width: clamp(50px, 15vw, 80px); /* Responsive shadow size */
  height: clamp(10px, 5vw, 25px); /* Responsive shadow size */
  background: rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  filter: blur(10px);
  opacity: 1;
  transform-origin: center;
  animation: shadow-pop-up-and-fly 10s ease-in-out forwards;
}

@keyframes shadow-pop-up-and-fly {
  0% { transform: translate(-3050px, -500px) scale(0); }
  20% { transform: translate(-350px, -95px) scale(1); }
  40% { transform: translate(800px, -180px); }
  60% { transform: translate(300px, 180px); }
  80% { transform: translate(-250px, 0px); }
  100% { transform: translate(-300px, -90px); }
}

/* Language Selection Styling */
.language-selection {
  margin-top: 20px;
  animation: fadeIn 1.5s ease-out;
}

#language-text {
  font-size: clamp(1rem, 5vw, 1.5rem); /* Responsive font size */
  font-family: var(--heading-font);
  margin-bottom: 10px;
  color: var(--glow-color);
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 0 20px rgba(255, 255, 255, 0.6);
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0%, 100% { text-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 0 20px rgba(255, 255, 255, 0.6); }
  50% { text-shadow: 0 0 20px rgba(255, 255, 255, 1), 0 0 40px rgba(255, 255, 255, 0.9); }
}

.language-buttons {
  display: flex;
  flex-wrap: wrap; /* Allow buttons to wrap on smaller screens */
  justify-content: center;
  gap: 10px; /* Space between buttons */
}

.language-btn {
  padding: clamp(10px, 3vw, 15px) clamp(15px, 5vw, 25px); /* Responsive padding */
  border: none;
  border-radius: 30px;
  font-size: clamp(1rem, 4vw, 1.2rem); /* Responsive font size */
  font-family: var(--heading-font);
  cursor: pointer;
  color: var(--text-color);
  background: var(--secondary-color);
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.2), inset 0 0 10px rgba(255, 255, 255, 0.1);
}

.language-btn:hover {
  background: var(--button-hover-color);
  transform: scale(1.1);
  box-shadow: 0px 4px 15px rgba(255, 255, 255, 0.4), inset 0 0 15px rgba(255, 255, 255, 0.3);
}

/* Media Queries for Smaller Screens */
@media (max-width: 768px) {
  .drone-animation {
    left: 10%; /* Adjust drone position for smaller screens */
  }

  .drone-shadow {
    left: 13%; /* Adjust shadow position for smaller screens */
  }
}

@media (max-width: 480px) {
  .welcome-container h1 {
    font-size: 2rem; /* Smaller font size for mobile */
  }

  .language-buttons {
    flex-direction: column; /* Stack buttons vertically on mobile */
  }

  .language-btn {
    width: 100%; /* Full-width buttons on mobile */
  }
}