/* ── Responsive — ÉchafaudPro ───────────────── */

/* Large desktop (1280px+) : déjà géré par container */

/* Desktop (1024px–1280px) */
@media (max-width: 1280px) {
  .products-grid      { grid-template-columns: repeat(3, 1fr); }
  .categories-grid    { grid-template-columns: repeat(4, 1fr); }
}

/* Tablet large (960px–1024px) */
@media (max-width: 1024px) {
  .hero .container     { grid-template-columns: 1fr; text-align: center; }
  .hero-image          { display: none; }
  .hero-stats          { justify-content: center; }
  .hero-actions        { justify-content: center; }

  .trust-grid           { grid-template-columns: repeat(2, 1fr); }
  .process-grid         { grid-template-columns: repeat(2, 1fr); }

  /* Hide hero panel on tablet/mobile — content covered by trust bar */
  .hero-panel           { display: none; }

  .categories-grid     { grid-template-columns: repeat(2, 1fr); }
  .products-grid       { grid-template-columns: repeat(2, 1fr); }
  .advantages-grid     { grid-template-columns: repeat(2, 1fr); }
  .testimonials-grid   { grid-template-columns: repeat(2, 1fr); }
  .footer-grid         { grid-template-columns: 1fr 1fr; }
  .values-grid         { grid-template-columns: repeat(2, 1fr); }
  .certifs-list        { grid-template-columns: repeat(2, 1fr); }
  .catalogue-layout    { grid-template-columns: 220px 1fr; gap: var(--space-md); }

  /* About redesign */
  .about-counters-grid  { grid-template-columns: repeat(3, 1fr); }
  .about-story-inner    { grid-template-columns: 1fr; }
  .about-story-visual   { display: none; }
  .certif-cards         { grid-template-columns: 1fr; }
  .engagements-grid     { grid-template-columns: repeat(2, 1fr); }
  .team-grid            { grid-template-columns: repeat(2, 1fr); }

  /* Contact redesign */
  .contact-hero-inner   { grid-template-columns: 1fr; }
  .contact-hero-badges  { grid-template-columns: repeat(3, 1fr); max-width: 400px; }
  .contact-main-grid    { grid-template-columns: 1fr; }

  /* New pages */
  .real-hero-inner      { grid-template-columns: 1fr; }
  .real-grid            { grid-template-columns: repeat(2, 1fr); }
  .regl-hero-inner      { grid-template-columns: 1fr; }
  .regl-layout          { grid-template-columns: 1fr; }
  .regl-sidebar         { position: static; }
  .regl-dl-grid         { grid-template-columns: repeat(2, 1fr); }
  .serv-hero-inner      { grid-template-columns: 1fr; }
  .serv-block           { grid-template-columns: 1fr; }
  .serv-block-alt       { grid-template-columns: 1fr; }
  .serv-block-alt .serv-block-visual { order: 0; }
  .serv-compare-grid    { grid-template-columns: 1fr; }
  .dex-hero-inner       { grid-template-columns: 1fr; }
  .dex-layout           { grid-template-columns: 1fr; }
  .dex-sidebar          { position: static; display: grid; grid-template-columns: 1fr 1fr; }
  .dex-cards-group      { grid-template-columns: repeat(2, 1fr); }
}

/* Tablet (768px–960px) */
@media (max-width: 960px) {
  h1 { font-size: 36px; }
  h2 { font-size: 28px; }

  /* Top bar: hide reassurance text, keep phone + espace client */
  .top-bar-left   { display: none; }
  .top-bar-inner  { justify-content: flex-end; }

  .nav-links, .nav-cta { display: none; }
  .nav-links.open      { display: flex; }
  .nav-toggle          { display: flex; }

  .catalogue-layout    { grid-template-columns: 1fr; }
  .filters-sidebar     { position: static; }

  .product-layout      { grid-template-columns: 1fr; }
  .about-intro         { grid-template-columns: 1fr; }
  .about-stats         { grid-template-columns: repeat(4, 1fr); }
  .contact-grid        { grid-template-columns: 1fr; }

  /* About redesign */
  .about-counters-grid { grid-template-columns: repeat(3, 1fr); }
  .certif-cards        { grid-template-columns: 1fr; }
  .engagements-grid    { grid-template-columns: repeat(2, 1fr); }
  .about-story-inner   { grid-template-columns: 1fr; }
  .about-story-visual  { display: none; }

  /* Contact redesign */
  .contact-hero-inner  { grid-template-columns: 1fr; }
  .contact-main-grid   { grid-template-columns: 1fr; }
  .form-row-3          { grid-template-columns: 1fr; }

  /* New pages */
  .real-grid            { grid-template-columns: 1fr; }
  .regl-dl-grid         { grid-template-columns: 1fr; }
  .serv-block-details   { grid-template-columns: 1fr; }
  .dex-cards-group      { grid-template-columns: 1fr 1fr; }
  .dex-height-grid      { grid-template-columns: repeat(2, 1fr); }
  .dex-sidebar          { display: grid; grid-template-columns: 1fr; }
}

/* Mobile (max 768px) */
@media (max-width: 768px) {
  .container           { padding: 0 var(--space-sm); }

  .main-nav            { gap: var(--space-sm); }
  /* Mobile nav dropdown — positioned below main-nav (position:relative set on it) */
  .nav-links           {
    display: none;
    position: absolute;
    top: 100%; /* = bottom of .main-nav */
    left: calc(-1 * var(--space-sm));
    right: calc(-1 * var(--space-sm));
    background: var(--swiss-white);
    flex-direction: column;
    padding: var(--space-md);
    border-bottom: 2px solid var(--swiss-primary);
    gap: var(--space-xs);
    box-shadow: var(--shadow-md);
    z-index: 999;
  }
  .nav-links.open        { display: flex; }
  .nav-links a           { padding: 10px 0; border-bottom: 1px solid var(--border-light); }
  .nav-links a:last-child { border-bottom: none; }
  /* Reset dropdown animation for mobile static display */
  .has-dropdown .dropdown {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
    pointer-events: auto;
    box-shadow: none;
    border: none;
    border-left: 3px solid var(--swiss-accent);
    margin-left: var(--space-sm);
    min-width: 0;
  }
  /* Hide nav search on mobile — already accessible via catalogue */
  .nav-search { display: none; }

  .hero                { padding: var(--space-2xl) 0; }
  .hero-stats          { gap: var(--space-lg); flex-wrap: wrap; }

  .cat-hero-inner   { grid-template-columns: 1fr; }
  .cat-hero-visual  { height: 200px; max-width: 400px; margin: 0 auto; }
  .cat-cta-inner    { flex-direction: column; text-align: center; }
  .cat-cta-actions  { justify-content: center; }
  .cat-products-header { flex-direction: column; align-items: flex-start; }

  .trust-grid           { grid-template-columns: 1fr; }
  .process-grid         { grid-template-columns: 1fr; }

  .categories-grid     { grid-template-columns: repeat(2, 1fr); gap: var(--space-sm); }
  .products-grid       { grid-template-columns: 1fr; }

  .advantages-grid     { grid-template-columns: 1fr 1fr; }
  .testimonials-grid   { grid-template-columns: 1fr; }
  .footer-grid         { grid-template-columns: 1fr; }
  .about-stats         { grid-template-columns: 1fr 1fr; }
  .values-grid         { grid-template-columns: 1fr; }
  .certifs-list        { grid-template-columns: 1fr 1fr; }

  /* About redesign */
  .about-hero h1       { font-size: 34px; }
  .about-counters-grid { grid-template-columns: repeat(2, 1fr); }
  .about-cta-inner     { flex-direction: column; text-align: center; }
  .about-cta-buttons   { justify-content: center; }
  .team-grid           { grid-template-columns: 1fr; }
  .engagements-grid    { grid-template-columns: 1fr 1fr; }

  /* Contact redesign */
  .contact-hero-badges { grid-template-columns: repeat(3, 1fr); }
  .contact-hero-text h1 { font-size: 32px; }
  .form-row-3          { grid-template-columns: 1fr; }

  .form-row            { grid-template-columns: 1fr; }
  .cta-buttons         { flex-direction: column; }

  .product-card-footer { flex-direction: column; }
  .product-card-footer .btn-secondary,
  .product-card-footer .btn-primary { width: 100%; justify-content: center; }

  .catalogue-toolbar   { flex-direction: column; align-items: flex-start; gap: var(--space-xs); }
  .footer-bottom       { flex-direction: column; text-align: center; }

  .popup-container     { margin: var(--space-sm); max-height: 95vh; }
}

/* Mobile small (max 480px) */
@media (max-width: 480px) {
  .top-bar             { display: none; } /* phone in hamburger menu instead */
  .categories-grid     { grid-template-columns: 1fr; }
  .certifs-list        { grid-template-columns: 1fr; }
  .about-stats         { grid-template-columns: 1fr; }
  .hero-stats          { flex-direction: column; gap: var(--space-sm); }
  .tab-nav             { flex-wrap: wrap; }
  .tab-btn             { padding: 10px 14px; font-size: 13px; }
  .cta-buttons         { flex-direction: column; }

  /* About redesign */
  .about-counters-grid  { grid-template-columns: repeat(2, 1fr); }
  .certif-cards         { grid-template-columns: 1fr; }
  .engagements-grid     { grid-template-columns: 1fr; }

  /* WhatsApp FAB repositioned */
  .whatsapp-fab         { bottom: 16px; right: 16px; width: 52px; height: 52px; font-size: 24px; }
}

/* Print */
@media print {
  .site-header, .site-footer, .popup-overlay, .lightbox-overlay, .btn-primary, .btn-secondary { display: none !important; }
  body { background: white; color: black; }
  .container { max-width: 100%; }
}
