body { font-family: Arial, sans-serif; margin:0; background:#fdfdf9; color:#333; }

/* Header + menu */
header {
  background:#fff;
  border-bottom:2px solid #eee;
  display:flex;
  justify-content:center;   /* centre horizontalement */
  align-items:center;       /* centre verticalement */
  padding:10px 20px;
}
nav { display:flex; align-items:center; gap:15px; }
nav a { text-decoration:none; color:#2f4f4f; font-weight:bold; padding:8px; border-radius:6px; }
nav a:hover { background:#f0f0ec; }
.burger { display:none; font-size:28px; cursor:pointer; }

/* Logo agrandi */
nav .logo { height:300px; margin-right:12px; }

/* Hero */
.hero {
  background:url('../images/gite.jpg') center/cover no-repeat;
  color:white;
  text-align:center;
  height:300px;       /* augmente la hauteur */
  display:flex;
  flex-direction:column;
  justify-content:center; /* centre verticalement */
  align-items:center;     /* centre horizontalement */
}
.btn { background:#c2a679; color:white; padding:15px 25px; border-radius:5px; text-decoration:none; margin-top:80px; }

/* Footer */
footer { background:#2f4f4f; color:#fff; text-align:center; padding:18px; margin-top:24px; }

/* Formulaire */
form input, form textarea { width:100%; padding:10px; margin:10px 0; border:1px solid #ccc; border-radius:5px; }
form button { background:#c2a679; color:white; padding:10px 20px; border:none; border-radius:5px; }

/* Galerie */
.gallery { display:grid; grid-template-columns: 1fr; gap:20px; }
.gallery img { width:100%; border-radius:10px; box-shadow:0 2px 8px rgba(0,0,0,0.15); transition:transform .25s ease; }
.gallery img:hover { transform:scale(1.03); }
.gallery figcaption { font-size:.95em; color:#666; margin-top:8px; text-align:center; }

/* Centrage global */
section, h1, h2, h3, p { text-align:center; margin:0 auto; max-width:1000px; }

* Espacement entre les intitulés Activités */
section h2 {
  margin-top:30px;
  margin-bottom:15px;
}

/* Responsive */
@media (max-width: 768px) {
  nav { display:none; flex-direction:column; gap:10px; background:#fff; padding:10px; }
  nav.active { display:flex; }
  .burger { display:block; }
  .gallery { grid-template-columns: 1fr; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .gallery { grid-template-columns: repeat(3, 1fr); }
}
