    input.form-control:focus,
textarea.form-control:focus {
  border-color: #007bff;
  box-shadow: 0 0 0 0.15rem rgba(0, 123, 255, 0.25);
}

input::placeholder,
textarea::placeholder {
  font-style: italic;
  color: #aaa;
}

.footer-modern {
  background-color: #1e1e1e;
  color: #fff;
}

.footer-modern .footer-link {
  color: #ccc;
  text-decoration: none;
  display: block;
  margin: 4px 0;
  transition: color 0.3s;
}

.footer-modern .footer-link:hover {
  color: #fff;
}

.footer-modern .footer-icon {
  color: #ccc;
  font-size: 1.2rem;
  transition: color 0.3s, transform 0.2s;
}

.footer-modern .footer-icon:hover {
  color: #0d6efd;
  transform: scale(1.2);
}


.footer-modern-gradient {
  background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
  background-size: 400% 400%;
  animation: footerGradientFlow 10s ease infinite;
  color: #fff;
}

@keyframes footerGradientFlow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.footer-modern-gradient .footer-link {
  color: #d1d1d1;
  text-decoration: none;
  display: block;
  margin: 6px 0;
  transition: color 0.3s ease;
}

.footer-modern-gradient .footer-link:hover {
  color: #ffffff;
  text-decoration: underline;
}

.footer-modern-gradient .footer-icon {
  color: #d1d1d1;
  font-size: 1.3rem;
  transition: color 0.3s, transform 0.2s;
}

.footer-modern-gradient .footer-icon:hover {
  color: #ffffff;
  transform: scale(1.2);
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

footer {
  margin-top: auto;
}
html, body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}