/**
 * responsive.css
 * Points de rupture testés : 1600, 1440, 1280, 1024, 768, 480, 390, 360.
 */

@media (max-width: 1440px) {
  .expertise-item__numero { font-size: 3.4rem; }
}

@media (max-width: 1280px) {
  .grille-galerie { grid-template-columns: repeat(2, 1fr); }
  .pied-page__grille { grid-template-columns: 1.2fr 1fr 1fr; }
}

@media (max-width: 1024px) {
  .presentation__grille,
  .corps-projet,
  .contact-grille,
  .bloc-expertise__contenu {
    grid-template-columns: 1fr;
  }
  .bloc-expertise__entete { grid-template-columns: 80px 1fr; }
  .bloc-expertise__numero { font-size: 3.5rem; }
  .raisons-grille { grid-template-columns: 1fr; }
  .expertises-liste { grid-template-columns: 1fr; }
  .expertise-item { border-right: none; border-bottom: var(--trait-fin) solid var(--couleur-bordure-claire); }
  .navigation-projets a:last-child { text-align: left; align-items: flex-start; border-left: none; border-top: var(--trait-fin) solid var(--couleur-bordure); }
}

@media (max-width: 900px) {
  .nav-principale__liste,
  .nav-principale .bouton {
    position: fixed;
    inset: 0;
    top: 0;
    height: 100svh;
    width: 100%;
    background: var(--c-noir-doux);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: var(--espace-2xl) var(--marge-page);
    gap: var(--espace-md);
    transform: translateY(-100%);
    opacity: 0;
    visibility: hidden;
    transition: transform var(--vitesse-normale) var(--easing-entree),
      opacity var(--vitesse-normale) var(--easing-standard),
      visibility var(--vitesse-normale);
  }
  .nav-principale .bouton { top: auto; height: auto; position: static; }
  [data-menu-ouvert="true"] .nav-principale__liste,
  [data-menu-ouvert="true"] .nav-principale .bouton {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
    position: fixed;
  }
  [data-menu-ouvert="true"] .nav-principale .bouton {
    top: auto;
    bottom: var(--espace-2xl);
    left: var(--marge-page);
  }
  .nav-principale__liste a { font-size: var(--echelle-xl); }
  .bouton-menu { display: flex; }
  body[data-menu-ouvert="true"] { overflow: hidden; }
}

@media (max-width: 768px) {
  .grille-galerie { grid-template-columns: 1fr; }
  .pied-page__grille { grid-template-columns: 1fr 1fr; }
  .galerie-projet { grid-template-columns: repeat(2, 1fr); }
  .entete-projet__meta { gap: var(--espace-sm) var(--espace-md); }
  .hero__titre { font-size: clamp(2.4rem, 9vw, 4rem); }
  .section { padding-block: var(--espace-xl); }
  .curseur { display: none; }
}

@media (max-width: 480px) {
  .pied-page__grille { grid-template-columns: 1fr; }
  .pied-page__bas { flex-direction: column; align-items: flex-start; }
  .galerie-projet { grid-template-columns: 1fr; }
  .barre-outils-galerie { flex-direction: column; align-items: stretch; }
  .filtres { justify-content: center; }
  .entete-projet__meta > div { min-width: 45%; }
  .bouton-rappel-flottant span:not(.bouton-rappel-flottant__icone) { display: none; }
}

@media (max-width: 390px) {
  .hero__titre { max-width: 14ch; }
  .cta__titre { font-size: var(--echelle-2xl); }
  :root { --marge-page: 1rem; }
}
