/* Background gradient animation */
@keyframes gradientBG {
  0% {background-position: 0% 50%;}
  50% {background-position: 100% 50%;}
  100% {background-position: 0% 50%;}
}

body, .appointment-section {
  font-family: 'Poppins', sans-serif;
}

.appointment-section {
  min-height: 100vh;
  background: linear-gradient(-45deg, #c0e5ff, #f0f4ff, #d0f0ea, #e0f7fa);
  background-size: 400% 400%;
  animation: gradientBG 15s ease infinite;
  display: flex;
  align-items: center;
}

.appointment-card {
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(15px);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.appointment-card:hover {
  transform: translateY(-15px);
  box-shadow: 0 25px 50px rgba(0,0,0,0.2);
}

/* Floating labels effect */
.form-floating-form .floating-input {
  border-radius: 50px;
  padding: 1rem 1.5rem;
  border: 2px solid #ddd;
  background: #fff;
  transition: all 0.4s ease;
}

.floating-input:focus {
  border-color: #0d6efd;
  box-shadow: 0 0 15px rgba(13,110,253,0.3);
  outline: none;
}

.form-floating label {
  padding-left: 1.2rem;
  color: #0b2b4a;
  transition: all 0.3s ease;
}

.floating-input:focus + label,
.floating-input:not(:placeholder-shown) + label {
  transform: translateY(-1.5rem);
  font-size: 0.85rem;
  color: #0d6efd;
}

/* WhatsApp button */
.btn-whatsapp {
  background: linear-gradient(135deg, #25D366, #1ebe5d);
  color: #fff;
  font-weight: 600;
  border-radius: 50px;
  padding: 0.8rem 2rem;
  transition: all 0.4s ease;
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  position: relative;
  overflow: hidden;
}

.btn-whatsapp:hover {
  background: linear-gradient(135deg, #1ebe5d, #25D366);
  transform: scale(1.05);
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.whatsapp-icon {
  transition: transform 0.3s ease;
}

.btn-whatsapp:hover .whatsapp-icon {
  transform: scale(1.3) rotate(-10deg);
}

/* Responsive textarea */
textarea.floating-input {
  height: 100px;
  resize: none;
}

/* Headings */
.appointment-card h2 {
  color: #0b2b4a;
  font-weight: 700;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.05);
}
.appointment-card p {
  color: #4a4a4a;
  font-size: 0.95rem;
}
