/* Hero */
.hero {
  /* background: linear-gradient(120deg, #1976d2, #005078); */
  background: rgba(0,80,120,0.95);
  color: white;
  padding: 70px 20px;
  text-align: center;
  border-radius: 0 0 30px 30px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.hero h1 {
  font-size: 2.8rem;
  font-weight: bold;
  animation: fadeInDown 1s;
}
.hero p {
  animation: fadeInUp 1s;
  font-size: 1.1rem;
}

/* Contact section */
.contact-section {
  padding: 50px 20px;
}

/* Carte contact */
.contact-card {
  background: white;
  border-radius: 15px;
  padding: 25px;
  margin-bottom: 20px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform 0.3s, box-shadow 0.3s;
}
.contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
}
.contact-card h5 {
  font-weight: bold;
  margin-bottom: 10px;
  color: #005078;
}

/* Formulaire */
.form-control:focus {
  border-color: #1976d2;
  box-shadow: 0 0 8px rgba(25, 118, 210, 0.3);
  transform: scale(1.01);
}
.btn-primary {
  background: linear-gradient(135deg, #1976d2, #005078);
  border: none;
  border-radius: 10px;
  padding: 12px;
  font-weight: bold;
  transition: all 0.3s;
}
.btn-primary:hover {
  background: linear-gradient(135deg, #005078, #1976d2);
  transform: scale(1.05);
  box-shadow: 0 6px 15px rgba(25,118,210,0.4);
}

/* Legal infos */
.legal-info {
  background: #eef3ff;
  border-radius: 15px;
  padding: 20px;
  margin-top: 20px;
}

/* Animations */
@keyframes fadeInDown {
  from {opacity:0; transform: translateY(-30px);}
  to {opacity:1; transform: translateY(0);}
}
@keyframes fadeInUp {
  from {opacity:0; transform: translateY(30px);}
  to {opacity:1; transform: translateY(0);}
}

/* Map */
.map-container iframe {
  border-radius: 15px;
  border: none;
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);
  transition: transform 0.3s;
}
.map-container iframe:hover {
  transform: scale(1.02);
}
