/* Cookie Popup Styles */
.cookie-popup {
  position: fixed;
  bottom: -100%;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  border: 2px solid black;
  border-radius: 0.5rem;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  padding: 2rem;
  max-width: 500px;
  width: 90%;
  z-index: 9999;
  transition: bottom 0.5s ease-in-out;
}

.cookie-popup.show {
  bottom: 2rem;
}

/* Smooth Transitions */
* {
  transition-property: color, background-color, border-color;
  transition-duration: 200ms;
  transition-timing-function: ease-in-out;
}

/* Focus States */
input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #facc15;
  box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.1);
}

/* Button Hover Effects */
button,
a {
  cursor: pointer;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 10px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

/* Animation for sections on scroll */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive Images */
img {
  max-width: 100%;
  height: auto;
}

/* Form Input States */
input.border-red-500,
textarea.border-red-500 {
  border-color: #ef4444 !important;
}

/* Mobile Menu Transition */
#mobileMenu {
  transition: all 0.3s ease-in-out;
}

/* Link Underline Effect */
a:not(.bg-yellow-400):not(.bg-transparent) {
  position: relative;
}
