/* Background et typo globale */
body {
  background-color: #f6f9fc;
  font-family: "Open Sans", Arial, sans-serif;
  color: #2c3e50;
}

/* Héros en haut de page */
.page-header h1 {
  font-size: 3em;
  font-weight: 600;
  color: #1b75bc;
  text-align: center;
  margin-top: 2rem;
}

/* Barre de recherche */
form[action="/portail"] {
  max-width: 600px;
  margin: 2rem auto;
}

#home_search_bar {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid #1b75bc;
  border-radius: 4px;
  font-size: 1.1em;
}

/* Boutons */
button,
a.btn {
  background-color: #1b75bc;
  color: white !important;
  padding: 0.5rem 1rem;
  border-radius: 3px;
  border: none;
  font-weight: bold;
  text-transform: uppercase;
}

button:hover,
a.btn:hover {
  background-color: #145a8a;
}

/* Sections d'accueil (Graphique / Carte) */
#block-accueilrestitutions h2 {
  font-size: 1.8em;
  margin-bottom: 0.5rem;
  color: #1b75bc;
}

#block-accueilrestitutions a {
  display: inline-block;
  margin-bottom: 1.5rem;
  font-weight: 600;
}

/* Footer */
.footer {
  background: #1b75bc;
  color: white;
  padding: 2rem 1rem;
}

.footer a {
  color: white !important;
  font-weight: bold;
}
