/* =============================================
   RESPONSIVE — MOBILE FIRST
   Breakpoints: 960 | 900 | 860 | 700 | 640 | 580 | 540 | 480
   ============================================= */

/* --- NAVBAR & MOBILE NAV --- */
@media (max-width: 960px) {
  .nav-links,
  .nav-cta .dtbtn { display: none; }
  .hamburger      { display: flex; }
}

/* --- HERO --- */
@media (max-width: 960px) {
  #hero           { margin: 0 16px; padding: 80px 0 60px; }
  .hero-row       { grid-template-columns: 1fr; }
  .hero-visual    { display: none; }
}

/* --- FEATURE CARDS --- */
@media (max-width: 1000px) {
  .feature-box { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
  .feature-box { grid-template-columns: repeat(2, 1fr); }
}

/* --- ABOUT --- */
@media (max-width: 860px) {
  .about-grid    { grid-template-columns: 1fr; }
  .about-images  { padding-left: 0; }
}

/* --- SERVICES --- */
@media (max-width: 900px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 580px) {
  .services-grid { grid-template-columns: 1fr; }
}

/* --- COUNTER --- */
@media (max-width: 640px) {
  .counter-grid                          { grid-template-columns: repeat(2, 1fr); }
  .counter-item:nth-child(2)::after      { display: none; }
}
@media (max-width: 480px) {
  #counter { margin: 0 16px; }
}

/* --- LOGICIELS --- */
@media (max-width: 960px) {
  .logi-header           { flex-direction: column; align-items: flex-start; gap: 24px; }
  .logi-header-right     { order: -1; }
  .prod-selector         { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 860px) {
  .logiciel-panel.active { grid-template-columns: 1fr; }
  .product-visual        { min-height: 300px; }
  .pv-pos-body           { grid-template-columns: 1fr; }
  .pos-total-col         { width: 100%; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }
  .pos-pay-methods       { flex-direction: row; margin-top: 0; flex: 1; }
  .features-grid         { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .immo-props            { grid-template-columns: 1fr 1fr; }
  .tbl-hdr span:nth-child(2), .tr-type { display: none; }
  .tbl-hdr, .tbl-row     { grid-template-columns: 1.4fr 1fr 1fr; }
}

/* --- DÉVELOPPEMENT --- */
@media (max-width: 860px) {
  .dev-grid              { grid-template-columns: 1fr; }
  .dev-steps             { flex-wrap: wrap; gap: 20px; }
  .dev-timeline::before  { display: none; }
}

/* --- POURQUOI --- */
@media (max-width: 900px) {
  .pourquoi-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .pourquoi-grid { grid-template-columns: 1fr; }
}

/* --- CTA BAND --- */
@media (max-width: 700px) {
  #cta-band   { margin: 0 16px; }
  .cta-inner  { flex-direction: column; text-align: center; }
}

/* --- CONTACT --- */
@media (max-width: 860px) {
  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .form-grid    { grid-template-columns: 1fr; }
}

/* --- FOOTER --- */
@media (max-width: 960px) {
  .footer-inner        { grid-template-columns: 1fr 1fr; }
  .footer-brand        { grid-column: 1 / -1; }
}
@media (max-width: 540px) {
  .footer-inner { grid-template-columns: 1fr; }
  footer        { margin: 0 16px 24px; }
}
