/* ================================================================
   responsive.css — Bénin Concassé
   Breakpoints : 1280 / 1024 / 960 / 768 / 480px
   ================================================================ */

/* ── 1280px ── */
@media (max-width: 1280px) {
  .footer__grid {
    grid-template-columns: 1.5fr 1fr 1fr 1fr 1.5fr;
    gap: var(--space-lg);
  }
  .hero__stats { grid-template-columns: repeat(4,1fr); }
}

/* ── 1024px ── */
@media (max-width: 1024px) {
  .hero__inner { grid-template-columns: 1fr; }
  .hero__form-card { max-width: 540px; margin-inline: auto; }
  .hero__stats { grid-template-columns: repeat(2,1fr); }

  .category-grid  { grid-template-columns: repeat(2,1fr); }
  .avantages-grid { grid-template-columns: repeat(2,1fr); }
  .temoignages-grid { grid-template-columns: repeat(2,1fr); }
  .counter-grid   { grid-template-columns: repeat(2,1fr); }
  .stats-band__grid { grid-template-columns: repeat(2,1fr); }

  .service-block { grid-template-columns: 1fr; }
  .service-block--reverse { direction: ltr; }

  .product-detail { grid-template-columns: 1fr; }
  .product-detail__gallery { min-height: 280px; }

  .catalogue-layout { grid-template-columns: 240px 1fr; }

  .footer__grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: var(--space-lg);
  }
  .footer__col--brand { grid-column: span 3; }
}

/* ── 960px ── */
@media (max-width: 960px) {
  .process-steps {
    grid-template-columns: repeat(2,1fr);
    gap: var(--space-md);
  }
  .process-steps::before { display: none; }

  .sidebar-layout { grid-template-columns: 1fr; }
  .sidebar-layout aside { order: -1; }

  .comparateur { grid-template-columns: 1fr; max-width: 540px; margin-inline: auto; }

  .realisation-grid { grid-template-columns: repeat(2,1fr); }
  .product-grid     { grid-template-columns: repeat(2,1fr); }

  .catalogue-layout { grid-template-columns: 1fr; }
  .catalogue-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: 300px;
    max-width: 90vw;
    z-index: 950;
    overflow-y: auto;
    transform: translateX(-110%);
    transition: transform .3s ease;
    border-radius: 0;
    border: none;
    box-shadow: var(--shadow-lg);
  }
  .catalogue-sidebar.open { transform: translateX(0); }
  .catalogue-filter-btn   { display: flex; }

  .navbar__links {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 280px;
    max-width: 90vw;
    background: var(--gp-white);
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 80px var(--space-md) var(--space-md);
    box-shadow: var(--shadow-lg);
    transform: translateX(110%);
    transition: transform .3s ease;
    z-index: 850;
    overflow-y: auto;
  }
  .navbar__links.open { transform: translateX(0); }
  .navbar__links a {
    width: 100%;
    padding: 14px 0;
    border-bottom: 1px solid var(--border-light);
    font-size: 1rem;
    border-radius: 0;
  }
  .hamburger { display: flex; }
  .navbar__actions .btn--sm { display: none; }
}

/* ── 768px ── */
@media (max-width: 768px) {
  :root {
    --space-3xl: 64px;
    --space-2xl: 48px;
  }

  h1 { font-size: 2rem; }
  h2 { font-size: 1.5rem; }

  .topbar { display: none; }

  .category-grid  { grid-template-columns: repeat(2,1fr); }
  .avantages-grid { grid-template-columns: 1fr 1fr; }
  .temoignages-grid { grid-template-columns: 1fr; }
  .counter-grid   { grid-template-columns: repeat(2,1fr); }

  .form-row { grid-template-columns: 1fr; }
  .calc-row { grid-template-columns: 1fr; }

  .hero__sub { font-size: 1rem; }
  .hero__ctas { flex-direction: column; }
  .hero__ctas .btn { width: 100%; justify-content: center; }

  .radio-cards--3 { grid-template-columns: repeat(2,1fr); }

  .cta-band__inner { flex-direction: column; text-align: center; }
  .cta-band__actions { width: 100%; justify-content: center; }

  .product-grid     { grid-template-columns: 1fr; }
  .realisation-grid { grid-template-columns: 1fr; }

  .process-steps  { grid-template-columns: 1fr; }

  .stats-band__grid { grid-template-columns: repeat(2,1fr); }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
  }
  .footer__col--brand { grid-column: span 2; }

  .page-hero { padding: var(--space-xl) 0; }

  .form-stepper { flex-direction: column; }
  .form-step-tab { border-right: none; border-bottom: 1px solid var(--border-light); }
}

/* ── 480px ── */
@media (max-width: 480px) {
  .container { padding-inline: var(--space-sm); }

  .category-grid  { grid-template-columns: 1fr; }
  .avantages-grid { grid-template-columns: 1fr; }
  .counter-grid   { grid-template-columns: 1fr 1fr; }
  .stats-band__grid { grid-template-columns: 1fr 1fr; }

  .radio-cards--3 { grid-template-columns: 1fr; }
  .radio-cards--2 { grid-template-columns: 1fr; }

  .footer__grid   { grid-template-columns: 1fr; }
  .footer__col--brand { grid-column: span 1; }
  .footer__bottom { flex-direction: column; text-align: center; }
  .footer__bottom-links { flex-direction: column; align-items: center; gap: 6px; }

  .navbar__brand span { display: none; }

  .hero__stats { grid-template-columns: 1fr 1fr; }

  .product-card__actions { flex-direction: column; }
  .product-card__actions .btn { width: 100%; }
}
