/* Reset et bases responsives */
* { box-sizing: border-box; margin: 0; padding: 0; }
img, video { max-width: 100%; height: auto; display: block; }

/* Media queries pour tous les layouts */
@media (max-width: 900px) {
  .about-objectif, .localisation-section, .footer-container {
    flex-direction: column !important;
    align-items: center !important;
  }
  .footer-links {
    flex-direction: column !important;
    gap: 20px !important;
  }
  .localisation-section {
    flex-direction: column !important;
    gap: 20px !important;
    align-items: stretch !important;
  }
  .footer-container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 30px !important;
  }
}
@media (max-width: 600px) {
  .header-container {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 10px 5vw !important;
    gap: 10px !important;
  }
  nav {
    width: 100% !important;
    margin-top: 10px !important;
  }
  nav a {
    display: block !important;
    width: 100% !important;
    padding: 10px 0 !important;
    font-size: 16px !important;
    border-bottom: 1px solid #eee !important;
  }
  .header-actions {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }
  .hero-banner, .banner-img {
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    height: auto !important;
  }
  .about-flex {
    flex-direction: column !important;
    gap: 20px !important;
    align-items: stretch !important;
  }
  .about-illustration {
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 auto !important;
  }
  .objectif {
    margin-left: 0 !important;
  }
  .map {
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    margin: 0 auto 10px auto !important;
  }
  .map iframe {
    width: 100vw !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    height: 220px !important;
  }
  .footer-container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 20px !important;
    padding: 0 5vw !important;
  }
  .footer-links {
    flex-direction: column !important;
    gap: 10px !important;
  }
  .footer-social {
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 15px !important;
    margin-top: 10px !important;
  }
  .section-title {
    font-size: 1.5em !important;
    margin-bottom: 16px !important;
  }
  .about-text .section-content,
  .why-us .section-content,
  .localisation .section-content {
    font-size: 1em !important;
    padding: 10px 0 !important;
  }
}
@media (max-width: 900px) {
  .prestations-content {
    max-width: 98vw;
    padding: 10px 2vw;
  }
  .prestation {
    max-width: 98vw;
    padding: 12px 4vw;
  }
  .prestation img {
    width: 120px;
    height: 120px;
  }
}
@media (max-width: 700px) {
  .contact-main {
    padding: 10px;
  }
  .contact-info-box, .contact-mention-box {
    padding: 8px 5px;
  }
  .form-row {
    flex-direction: column;
    gap: 0;
  }
}
@media (max-width: 900px) {
  .sidebar-categories {
    display: none !important;
  }
}
@media (max-width: 600px) {
  .sidebar-categories {
    display: none !important;
  }
}