/* ==========================================================================
   RESPONSIVE.CSS — breakpoints layered on top of style.css
   Breakpoints: 1200 (laptop) / 992 (tablet landscape) / 768 (tablet) / 560 (mobile)
   ========================================================================== */

/* Large desktop refinement */
@media (max-width: 1200px) {
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-grid .col-newsletter { grid-column: 1 / -1; max-width: 420px; }
}

/* Tablet landscape / small laptop */
@media (max-width: 992px) {
  .main-nav > ul { gap: 1.3rem; }
  .main-nav a { font-size: .76rem; }
  .grid-4 { grid-template-columns: repeat(2,1fr); }
  .grid-3 { grid-template-columns: repeat(2,1fr); }
  .stat-strip { grid-template-columns: repeat(2,1fr); }
  .stat-strip .stat:nth-child(3) { border-left:none; }
  .stat-strip .stat:nth-child(odd) { border-left:none; }
  .grid-masonry { columns: 2 220px; }
  .mega-menu { grid-template-columns: repeat(2,1fr); width: 92vw; }
}

/* Tablet portrait */
@media (max-width: 768px) {
  .header-actions .btn.btn--ghost { display:none; }
  .main-nav { position: fixed; top: 0; right: 0; height: 100vh; width: min(340px, 84vw);
    background: var(--c-ivory); flex-direction: column; align-items: flex-start;
    padding: 6rem 2rem 2rem; box-shadow: -20px 0 40px rgba(0,0,0,.12);
    transform: translateX(100%); transition: transform .4s var(--ease); z-index: 99; }
  .main-nav.is-open { transform: translateX(0); }
  .main-nav > ul { flex-direction: column; gap: 1.2rem; width:100%; }
  .mega-menu { position: static; transform:none; opacity:1; visibility:visible; width:100%;
    grid-template-columns: 1fr; box-shadow:none; border:none; padding: 1rem 0 0; display:none; }
  .has-dropdown.is-open .mega-menu { display:grid; }
  .nav-toggle { display:flex; }

  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .stat-strip { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .grid-masonry { columns: 1; }
  .hero-slide__title { font-size: clamp(2.1rem, 8vw, 3rem); }
  .hero-index, .hero-controls { display: none; }
  .tabs { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
}

/* Mobile */
@media (max-width: 560px) {
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .hero-slide__content { padding-bottom: 4rem; }
  .hero-slider { height: 86vh; min-height: 560px; }
  .stat-strip { grid-template-columns: 1fr 1fr; }
  .stat-strip .stat { padding: 1.6rem 1rem; }
  .whatsapp-float { width: 48px; height: 48px; bottom: 1.2rem; right: 1.2rem; }
  .back-to-top { width: 40px; height: 40px; bottom: 1.2rem; left: 1.2rem; }
  .lightbox { padding: 1.2rem; }
}

/* Landscape phones */
@media (max-height: 480px) and (orientation: landscape) {
  .hero-slider { height: auto; min-height: 100vh; padding: 6rem 0 3rem; position: relative; }
}

/* Large screens */
@media (min-width: 1800px) {
  :root { --measure: 1440px; }
}
