/* ===== Responsive ===== */
@media (max-width: 860px) {
  .feature-grid,
  .contact-section {
    grid-template-columns: 1fr;
  }

  .feature-section.reverse .feature-grid img {
    order: -1;
  }

  .feature-section.reverse .feature-text {
    text-align: left;
  }

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

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

/* 830px est un choix délibéré (confort de lecture des liens sur tablette),
   pas le point réel de débordement de .nav-top : le contenu (4 liens en mode
   particulier) ne déborde/ne wrap qu'aux alentours de 460-480px. Repasser en
   menu burger bien avant ce point est donc volontaire. */
@media (max-width: 830px) {
  .nav-toggle {
    display: flex;
  }

  .nav-top {
    display: none;
    position: absolute;
    top: 40px;
    left: 0;
    right: 0;
    background: var(--primary-dark);
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 20px 0;
    z-index: 10;
  }

  .nav-top.open {
    display: flex;
  }

  /* Fond flou en mode mobile. Protégé par @supports : sur Samsung Internet/
     Android 8 (Chromium 59, voir CLAUDE.md), backdrop-filter n'existe pas et
     color-mix() serait une valeur invalide ignorée à l'analyse — le menu
     conserve alors son fond opaque défini plus haut, sans blur ni régression. */
  @supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
    .nav-top {
      background: color-mix(in srgb, var(--primary-dark) 82%, transparent);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }
  }
}
