/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

/* ---- Grands écrans / ultrawide ---- */
@media (min-width: 1800px) {
  :root { --container-max: 1560px; }
}

/* ---- Tablette ---- */
@media (max-width: 1024px) {
  #a-propos .about-grid { grid-template-columns: 1fr; gap: var(--sp-6); }
  #a-propos .about-portrait { position: static; max-width: 360px; }

  .projects-grid { grid-template-columns: 1fr; }
  .skills-grid { grid-template-columns: repeat(2, 1fr); }
  .hardware-grid { grid-template-columns: repeat(2, 1fr); }
  .passions-grid { grid-template-columns: repeat(2, 1fr); }

  #contact .contact-grid { grid-template-columns: 1fr; gap: var(--sp-6); }
}

/* ---- Mobile ---- */
@media (max-width: 640px) {
  .section { padding-block: var(--sp-7); }

  .now-item {
    grid-template-columns: 2rem 1fr;
    row-gap: var(--sp-1);
  }
  .now-item .now-status { grid-column: 2; }

  .skills-grid { grid-template-columns: 1fr; }
  .hardware-grid { grid-template-columns: repeat(2, 1fr); }
  .passions-grid { grid-template-columns: 1fr 1fr; }
  .passion-card { aspect-ratio: 1 / 1; }

  .timeline-item { grid-template-columns: 1fr; gap: var(--sp-1); }

  .form-row.split { grid-template-columns: 1fr; }

  .nav-list a { font-size: clamp(1.8rem, 10vw, 2.6rem); }
  .nav-foot { position: static; margin-top: var(--sp-6); opacity: 1; }
  .nav-overlay { justify-content: flex-start; padding-top: var(--sp-9); overflow-y: auto; }

  .footer-top { flex-direction: column; }
}

/* Empêche tout débordement horizontal */
html, body { max-width: 100%; overflow-x: hidden; }
