/* ============================================================
   BOULANGER — Responsive Stylesheet
   ============================================================ */

/* ---- Laptop: 992px - 1199px ---- */
@media (max-width: 1199px) {
  :root { --container-max: 960px; }

  .products-grid { grid-template-columns: repeat(3, 1fr); }
  .features-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .footer-grid   { grid-template-columns: repeat(2, 1fr); gap: 40px; }

  .hero-headline { font-size: 3rem; }
  h2 { font-size: 2rem; }

  .brand-strip-content { padding: 48px; }

  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .process-steps::before { display: none; }
}

/* ---- Tablet: 768px - 991px ---- */
@media (max-width: 991px) {
  :root { --container-max: 720px; }

  /* Header */
  .main-nav { display: none; }
  .desktop-cta { display: none; }
  .mobile-cta { display: flex; }
  .hamburger { display: flex; }

  /* Sections */
  .section { padding: 60px 0; }

  h1 { font-size: 2.5rem; }
  h2 { font-size: 1.75rem; }
  .hero-headline { font-size: 2.5rem; }

  /* Grids */
  .categories-grid { grid-template-columns: repeat(2, 1fr); }
  .products-grid   { grid-template-columns: repeat(2, 1fr); }
  .testimonials-grid { grid-template-columns: 1fr; gap: 16px; }
  .stats-grid      { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .features-grid   { grid-template-columns: repeat(2, 1fr); }
  .values-grid     { grid-template-columns: 1fr; }
  .footer-grid     { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .info-cards-grid { grid-template-columns: 1fr; }
  .process-steps   { grid-template-columns: repeat(2, 1fr); }
  .process-steps::before { display: none; }

  /* Splits — stack vertically on tablet, reset reversed order */
  .split,
  .split.split-reverse {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .split.split-reverse .split-img  { order: 0; }
  .split.split-reverse .split-text { order: 0; }

  /* Brand Strip */
  .brand-strip { grid-template-columns: 1fr; }
  .brand-strip-img { min-height: 300px; }

  /* Product Page */
  .product-hero-grid { grid-template-columns: 1fr; gap: 40px; }

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

  /* Callout */
  .callout-box { grid-template-columns: 1fr; gap: 32px; padding: 32px; }

  /* Catalog */
  .filter-bar { top: 80px; }
}

/* ---- Mobile Large: 576px - 767px ---- */
@media (max-width: 767px) {
  :root { --container-max: 540px; }

  body { padding-top: 64px; }
  .site-header { height: 64px; }

  h1 { font-size: 2rem; }
  h2 { font-size: 1.6rem; }
  h3 { font-size: 1.3rem; }
  .hero-headline { font-size: 2rem; }
  .hero-subheadline { font-size: 1rem; }

  .section { padding: 60px 0; }
  .section-header { margin-bottom: 40px; }

  .categories-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .products-grid   { grid-template-columns: repeat(2, 1fr); gap: 16px; }

  /* Newsletter form stacks */
  .newsletter-form {
    flex-direction: column;
    border-radius: var(--radius-card);
    box-shadow: none;
    gap: 12px;
  }
  .newsletter-form input {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-input);
  }
  .newsletter-form .btn {
    border-radius: var(--radius-button);
    width: 100%;
  }

  .hero-stats { gap: 24px; }

  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .features-grid { grid-template-columns: 1fr; }

  .brand-strip-content { padding: 32px 24px; }

  .page-hero h1 { font-size: 2rem; }
  .page-hero-full-content h1 { font-size: 2rem; }

  .form-row { grid-template-columns: 1fr; }
  .form-container { padding: 28px 20px; }

  .btn-group { flex-direction: column; align-items: flex-start; gap: 12px; }

  .filter-bar { top: 64px; }
  .filter-bar-inner { gap: 8px; }

  .tabs-bar { gap: 0; }
  .tab-btn { padding: 12px 14px; font-size: 0.8rem; }

  .testimonial-card { padding: 28px; }

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

  .atelier-img { width: 280px; }

  .section-header-flex { flex-direction: column; align-items: flex-start; gap: 12px; }

  .product-thumbnails { flex-wrap: wrap; }

  .process-steps { grid-template-columns: 1fr; }

  .cta-banner { padding: 60px 0; }
  .cta-banner h2 { font-size: 1.75rem; }

  .values-grid { grid-template-columns: 1fr; }
  .callout-box { padding: 24px 20px; }
}

/* ---- Mobile Small: below 576px ---- */
@media (max-width: 575px) {
  .container { padding: 0 16px; }

  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.5rem; }
  .hero-headline { font-size: 1.85rem; }

  /* Font size reduction ~15% */
  body { font-size: 0.93rem; }

  .products-grid { grid-template-columns: 1fr; }
  .categories-grid { grid-template-columns: 1fr; }

  .brand-name { font-size: 1.5rem; }

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

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

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

  .page-hero { padding: 48px 0; }
  .page-hero h1 { font-size: 1.8rem; }

  .hero-stats { flex-direction: column; gap: 16px; }

  .brand-strip { grid-template-columns: 1fr; }

  .inquiry-section .form-container { padding: 24px 16px; }

  .atelier-img { width: 240px; }

  .btn { padding: 12px 24px; }
  .btn-sm { padding: 9px 18px; }
}

/* ---- Print ---- */
@media print {
  .site-header,
  .site-footer,
  .mobile-menu,
  .mobile-overlay,
  .filter-bar { display: none; }
  body { padding-top: 0; }
}
