/* ═══════════════════════════════════════════
   RTM — responsive.css
   Tablette : 1024px | Mobile : 768px | Petit : 480px
═══════════════════════════════════════════ */

/* ─── TABLETTE (max 1024px) ──────────────── */
@media (max-width: 1024px) {

  :root { --header-h: 64px; }

  /* Header */
  .header-tel span { display: none; }
  .header-cta { display: none; }
  .hamburger { display: flex; }
  .nav-links { display: none; }

  /* Hero */
  .hero-inner { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .hero-visual { display: none; }
  .hero-badge { margin: 0 auto; }
  .hero-sub { margin: 0 auto; max-width: 520px; }
  .hero-btns { justify-content: center; }
  .hero-stats { justify-content: center; }

  /* Services */
  .service-card { flex: 0 1 calc(50% - 14px); }

  /* Simulateur */
  .sim-wrap { grid-template-columns: 1fr; }
  .sim-result-col { position: static; }

  /* Agenda */
  .agenda-wrap { grid-template-columns: 1fr; }

  /* Points */
  .points-grid { grid-template-columns: repeat(2, 1fr); }

  /* Témoignages */
  .temoignages-grid { grid-template-columns: repeat(2, 1fr); }

  /* Zone */
  .zone-wrap { grid-template-columns: 1fr; }
  .zone-map { max-width: 400px; margin: 0 auto; }

  /* Contact */
  .contact-wrap { grid-template-columns: 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ─── MOBILE (max 768px) ─────────────────── */
@media (max-width: 768px) {

  #zone .container > div[style*="grid"],
  section [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  /* Zone d'intervention dans les pages service */
  .zone-service-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  .zone-service-grid img {
    width: 100% !important;
    display: block !important;
    border-radius: 12px !important;
  }

  .zone-service-grid div p {
    text-align: left !important;
  }

  .zone-service-grid .btn {
    display: block !important;
    text-align: center !important;
    width: 100% !important;
  }

  /* CTA sections pages service */
  .sd-cta-title,
  .sd-cta-sub {
    text-align: center !important;
  }

  /* Titres pages service */
  .service-hero-title,
  .sd-section-title,
  .sd-cta-title {
    text-align: center !important;
  }

  /* Centrer titres et éléments visuels */
  .section-title,
  .section-subtitle,
  .badge,
  .hero-stats,
  .point-icon,
  .service-icon,
  .service-title,
  .sd-step-num,
  .sd-step-title {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Garder les paragraphes et listes à gauche */
  p, li, .form-field {
    text-align: left !important;
  }

  /* Layout */
  .section-pad { padding: 64px 0; }
  .container { padding: 0 16px; }

  /* Hero */
  #hero { padding: calc(var(--header-h) + 24px) 0 60px; min-height: auto; }
  .hero-title { font-size: 2rem; }
  .hero-stats { flex-direction: column; gap: 16px; align-items: center; }
  .stat-sep { width: 40px; height: 1px; }

  /* Services */
  .service-card { flex: 0 1 100%; }

  /* Simulateur */
  .sim-row { grid-template-columns: 1fr; }
  .sim-result-panel { padding: 24px 20px; }

  /* Points */
  .points-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .point-card { padding: 24px 16px; }

  /* Témoignages */
  .temoignages-grid { grid-template-columns: 1fr; }

  /* Zone */
  .zone-map { max-width: 100%; }

  /* Contact */
  #contact-form .form-row { grid-template-columns: 1fr; }
  .contact-form-wrap { padding: 28px 24px; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 8px; }
  .footer-col { text-align: center !important; align-items: center !important; }
  .footer-brand-sub { text-align: center !important; }
  .footer-col > a:first-child { display: block; text-align: center; }
  .footer-col > a:first-child img { margin: 0 auto !important; margin-left: auto !important; display: block !important; }
  .footer-col ul { align-items: center !important; }
  .footer-contact-item { justify-content: center !important; }
}

/* ─── STEP CARDS ─────────────────────────── */
@media (max-width: 768px) {
  .step-card {
    grid-template-columns: 1fr !important;
  }
}

/* ─── PETIT MOBILE (max 480px) ──────────── */
@media (max-width: 480px) {

  .hero-btns { flex-direction: column; width: 100%; }
  .hero-btns .btn { width: 100%; justify-content: center; }

  .hero-stats { gap: 12px; }
  .stat-num { font-size: 1.2rem; }

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

  .sim-toggle-field {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .section-title { font-size: 1.6rem; }

  .contact-form-wrap { padding: 20px 16px; }

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

/* ─── TOUCH DEVICES ──────────────────────── */
@media (hover: none) {
  .service-card:hover { transform: none; box-shadow: none; }
  .btn:hover { transform: none; box-shadow: none; }
  .hero-card { animation: none; }
  .hero-card-truck { animation: none; }
}

/* ─── PRINT ──────────────────────────────── */
@media print {
  header, #simulateur, #agenda, footer { display: none; }
  body { background: white; color: black; }
}
