/* ============================================================
   SITA & Compagnie — Responsive mobile
   ============================================================ */

/* Tablette — ≤ 991px */
@media (max-width: 991.98px) {

  /* Navbar collapse mobile — fond clair frosted glass (comme l'exemple RenewPath) */
  .navbar-collapse {
    background: rgba(248,251,255,0.96);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    margin-top: .5rem;
    border-radius: var(--radius-lg);
    padding: 1rem;
    border: 1px solid var(--color-border);
    box-shadow: var(--shadow-soft);
  }
  /* Texte sombre lisible sur fond clair */
  .navbar-collapse .navbar-nav .nav-link {
    color: var(--color-foreground) !important;
    padding: .65rem 1rem;
    border-radius: .75rem;
    margin-bottom: .2rem;
  }
  .navbar-collapse .navbar-nav .nav-link:hover,
  .navbar-collapse .navbar-nav .nav-link.active {
    color: var(--color-primary) !important;
    background: var(--color-soft);
  }
  .navbar-nav .nav-link::after { display: none; }

  /* Dropdown dans le mobile */
  .dropdown-menu-sita {
    background: var(--color-card);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-card);
  }
  .dropdown-menu-sita .dropdown-item { color: var(--color-foreground); }
  .dropdown-menu-sita .dropdown-item:hover { background: var(--color-soft); color: var(--color-primary); }

  .lang-switcher, .btn-gold { margin-top: .75rem; }

  /* Top bar cachée sur mobile */
  .top-bar { display: none !important; }

  /* Hero */
  .hero-section { min-height: 80vh; }
  .hero-section h1 { font-size: clamp(1.75rem, 5vw, 2.5rem); }
  .hero-ctas { flex-direction: column; align-items: center; gap: .75rem; }

  /* Stats */
  .stat-card { padding: 1.5rem .5rem; }
  .stat-card .stat-number { font-size: 2.25rem; }

  /* Process horizontal → vertical */
  .process-connector { display: none; }
  .process-step { margin-bottom: 1.5rem; }

  /* Section padding réduit */
  .section { padding: 60px 0; }
  .section-lg { padding: 70px 0; }

}

/* Mobile — ≤ 767px */
@media (max-width: 767.98px) {

  h1 { font-size: clamp(1.625rem, 6vw, 2.25rem); }
  h2 { font-size: clamp(1.375rem, 5vw, 1.875rem); }
  h3 { font-size: clamp(1.125rem, 4vw, 1.5rem); }

  /* Hero */
  .hero-section { min-height: 100svh; padding: 120px 0 60px; }
  .hero-section .btn { width: 100%; justify-content: center; }

  /* Cards produits pleine largeur */
  .card-produit .card-img-top { height: 180px; }

  /* Processus vertical */
  .process-steps { flex-direction: column; }
  .timeline::before { left: 16px; }
  .timeline-dot { width: 36px; height: 36px; font-size: .9rem; }

  /* Footer */
  .footer-main { padding: 50px 0 30px; }
  .footer-legal-links { justify-content: flex-start; margin-top: .5rem; }

  /* Boutons flottants */
  .floating-btn--whatsapp { bottom: 72px; right: 16px; width: 48px; height: 48px; }
  .floating-btn--top       { bottom: 16px; right: 16px; width: 40px; height: 40px; }

  /* Formulaire devis mono-colonne */
  .quote-form-row .col-md-6 { margin-bottom: .75rem; }

  /* Sidebar devis sous formulaire */
  .quote-sidebar { margin-top: 2rem; }

  /* Section stats 2 colonnes */
  .section-sm .row .col-6 { text-align: center; }

  /* Table scroll horizontal */
  .table-responsive-sita { overflow-x: auto; }

  /* Masquer carte Google Maps sur très petit écran */
  .contact-map-wrap { height: 250px; }
}

/* Très petit écran — ≤ 480px */
@media (max-width: 479.98px) {
  .btn { padding: .55rem 1.1rem; font-size: .9rem; }
  .hero-section h1 { font-size: 1.625rem; }
  .stat-card .stat-number { font-size: 2rem; }
  .navbar-logo { height: 38px; }
}

/* Grand écran — ≥ 1400px */
@media (min-width: 1400px) {
  .container { max-width: 1320px; }
  h1 { font-size: 3.5rem; }
  .hero-section h1 { font-size: 3.75rem; }
}

/* Accessibilité : focus visible */
:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
}

/* Mode sombre OS */
@media (prefers-color-scheme: dark) {
  /* Le site utilise son thème propre — on ne force pas le mode sombre */
}

/* Réduction des animations (accessibilité) */
@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
  #page-loader { display: none !important; }
}
