/* ==========================================================================
   Entropy — Adaptations
   ========================================================================== */

@media (max-width: 1080px) {
  .footer__top { grid-template-columns: 1fr 1fr; }
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .method { grid-template-columns: 1fr; }
  .method__sticky { position: static; }
  .method__visual { aspect-ratio: 16 / 9; }
  .cta { grid-template-columns: 1fr; }
}

@media (max-width: 940px) {
  .nav__links { display: none; }
  .nav__actions .btn { display: none; }
  .burger { display: inline-flex; }

  .hero__head { grid-template-columns: 1fr; align-items: start; }
  .hero__aside { max-width: 54ch; }
  .hero__media { aspect-ratio: 16 / 11; }

  .section-head { grid-template-columns: 1fr; align-items: start; }

  .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }

  .hero__media { aspect-ratio: 4 / 5; }
  .hero__float { left: clamp(1rem, 3vw, 2rem); width: auto; }

  .cta__grid { grid-template-columns: 1fr; }

  .step { grid-template-columns: 1fr; gap: 0.75rem; }
  .step__num { padding-top: 0; }

  .footer__top { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .tour { aspect-ratio: 3 / 4; }

  /* Le prix est la colonne qui compte : plutôt que de faire défiler le tableau
     latéralement — ce qui la pousserait hors écran — on replie la durée sur
     place, déjà induite par le nombre de points. */
  .rate__table { min-width: 0; }
  .rate__table th:nth-child(3),
  .rate__table td:nth-child(3) { display: none; }
  .rate__table th,
  .rate__table td { padding-left: 1rem; padding-right: 1rem; }
}

@media (max-width: 460px) {
  .hero__actions .btn { width: 100%; }
  .tour__hints { gap: 0.9rem; }

  .rate__table th:nth-child(2),
  .rate__table td:nth-child(2) { display: none; }
  .extras__list > div { flex-direction: column; align-items: flex-start; gap: 0.3rem; }
}

/* --- Impression --------------------------------------------------------- */

@media print {
  .nav, .mobile-menu, .grain, .tour__poster { display: none !important; }
  body { background: #fff; }
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
