/* ==========================================================================
   NORVELIS — responsive.css
   Adaptations tablette & mobile. Approche desktop-first maîtrisée.
   ========================================================================== */

/* ----- ≤ 1080px : grilles resserrées ----- */
@media (max-width: 1080px) {
  .nv-method__grid { grid-template-columns: repeat(2, 1fr); }
  .nv-refs__grid   { grid-template-columns: repeat(3, 1fr); }
  .nv-footer__grid { grid-template-columns: 1fr 1fr; }
  .nv-footer__brand-col { grid-column: 1 / -1; }
}

/* ----- ≤ 900px : passage colonne + menu mobile ----- */
@media (max-width: 900px) {
  .nv-why__grid,
  .nv-cta__inner,
  .nv-contact-grid { grid-template-columns: 1fr; gap: var(--nv-space-xl); }
  .nv-quotes { grid-template-columns: 1fr; gap: var(--nv-space-md); }
  .nv-cta__aside { align-items: flex-start; }

  /* Navigation mobile */
  .nv-nav-toggle { display: inline-flex; }
  .nv-nav__menu {
    position: fixed;
    inset: var(--nv-header-h) 0 0 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: var(--nv-space-lg);
    padding: var(--nv-space-2xl) var(--nv-gutter);
    background: var(--nv-navy);
    transform: translateX(100%);
    transition: transform var(--nv-dur) var(--nv-ease);
    overflow-y: auto;
  }
  .nv-nav__menu.is-open { transform: none; }
  .nv-header .nv-nav__menu .nv-nav__link,
  .nv-header.is-scrolled .nv-nav__menu .nv-nav__link,
  .nv-header--solid .nv-nav__menu .nv-nav__link {
    color: #fff;
    font-family: var(--nv-font-display);
    font-size: 2rem;
    font-weight: 500;
  }
  .nv-nav__menu .nv-nav__link::after { background: var(--nv-gold); }
  /* Le bouton du menu (CTA) est affiché en dernier dans le panneau */
  .nv-nav__cta { margin-top: var(--nv-space-md); }

  body.nv-menu-open { overflow: hidden; }
}

/* ----- ≤ 720px : rythme réduit ----- */
@media (max-width: 720px) {
  :root { --nv-header-h: 72px; }

  .nv-stats { grid-template-columns: 1fr; gap: var(--nv-space-md); text-align: left; }
  .nv-method__grid { grid-template-columns: 1fr; }
  .nv-step { min-height: auto; }
  .nv-refs__grid { grid-template-columns: repeat(2, 1fr); }
  .nv-footer__grid { grid-template-columns: 1fr; gap: var(--nv-space-xl); }

  .nv-form__row { grid-template-columns: 1fr; }

  .nv-expertise {
    grid-template-columns: 1fr;
    gap: var(--nv-space-sm);
    padding-block: var(--nv-space-lg);
  }
  .nv-expertise__cta { display: none; }
  .nv-expertise:hover { padding-inline: 0; }

  .nv-hero { align-items: center; min-height: 92svh; }
  .nv-hero__scroll { display: none; }
  .nv-hero__actions .nv-btn { width: 100%; justify-content: center; }

  .nv-footer__bottom { flex-direction: column; align-items: flex-start; }
}

/* ----- ≤ 420px ----- */
@media (max-width: 420px) {
  .nv-refs__grid { grid-template-columns: 1fr; }
  .nv-header__brand { font-size: 1.3rem; }
}

/* ----- Impression : neutralise couleurs & animations ----- */
@media print {
  .nv-header, .nv-hero__scroll, .nv-nav-toggle, .nv-cta { display: none !important; }
  * { color: #000 !important; background: #fff !important; box-shadow: none !important; }
}
