/* ---------- Grands écrans / petits desktops (<= 1200px) ---------- */
@media (max-width: 1200px) {
   .section_head h2 {font-size: 4.4rem;}
   .hero_content h1 {font-size: 5.2rem;}
   .trips_grid {gap: 6rem;}
}
/* ---------- Tablettes (<= 900px) ---------- */
@media (max-width: 900px) {
   .section {padding-block: 7rem;}
   .section_head {margin-bottom: 5.6rem;}
   .section_head h2 {font-size: 3.8rem;}
   .hero_inner {min-height: 56rem;}
   .hero_content h1 {font-size: 4.4rem;}
   .hero_content p {font-size: 2rem;}
   .trips_grid {
      grid-template-columns: 1fr;
      gap: 4rem;
   }
   .gallery_grid {grid-template-columns: repeat(2, 1fr);}
   .gallery_cta {margin-top: 5.6rem;}
}
/* ---------- Menu burger : tablettes & mobiles (<= 768px) ---------- */
@media (max-width: 768px) {
   .header_inner {position: relative;}
   .burger {display: flex;}
   .nav {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background: var(--white);
      box-shadow: var(--shadow-header);
      overflow: hidden;
      max-height: 0;
      transition: max-height 0.35s ease;
   }
   .nav ul {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 0.8rem 0;
   }
   .nav ul li {width: 100%;}
   .nav a {
      display: block;
      padding: 1.4rem 2.4rem;
   }
   .nav-toggle:checked ~ .nav {max-height: 34rem;}
}
/* ---------- Mobiles (<= 640px) ---------- */
@media (max-width: 640px) {
   .hero_inner {
      min-height: 46rem;
      padding-block: 6rem;
   }
   .hero_content {padding: 2.4rem;}
   .hero_content h1 {font-size: 3.4rem;}
   .section_head h2 {font-size: 3rem;}
   .trip_card_body h3 {font-size: 2.8rem;}
   .services_grid {
      flex-direction: column;
      align-items: center;
      gap: 4.4rem;
   }
   .service {max-width: 100%;}
   .newsletter_form {gap: 1.6rem;}
   .newsletter_form input {width: 100%;}
   .newsletter_form .btn {width: 100%;}
}
/* ---------- Très petits mobiles (<= 400px) ---------- */
@media (max-width: 400px) {
   .gallery_grid {grid-template-columns: 1fr;}
   .section_head h2 {font-size: 2.6rem;}
}