/* Green Walls - Responsive */

@media (max-width: 1024px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .layout-sidebar-right,
  .layout-sidebar-left { grid-template-columns: 1fr; }
  .sidebar { order: 2; }
  .content-main { order: 1; }
  .bottom-grid-3 { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .menu-toggle { display: flex; }

  .header-social { display: none; }

  .main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #222;
    border-top: 2px solid var(--gw-green);
    z-index: 300;
    padding: 8px 0;
  }
  .main-nav.open { display: block; }

  .main-nav ul { flex-direction: column; }
  .main-nav ul li a,
  .main-nav ul li span { padding: 10px 20px; border-bottom: 1px solid #333; }

  .main-nav ul li ul {
    position: static;
    border: none;
    border-top: none;
    background: #1a1a1a;
    display: none;
  }
  .main-nav ul li.dropdown-open > ul { display: flex; flex-direction: column; }
  .main-nav ul li ul li a { padding-left: 36px; }

  .site-header { position: relative; }

  .footer-grid { grid-template-columns: 1fr; }
  .bottom-grid-2,
  .bottom-grid-3 { grid-template-columns: 1fr; }

  .main-content { padding: 14px 0 20px; }
  .page-title-bar h1 { font-size: 1rem; }
}

@media (max-width: 480px) {
  :root { --pad: 12px; }
  h1 { font-size: 1.4rem; }
  .site-logo { min-width: auto; }
  .logo-name { font-size: 1.1rem; }
  .logo-sub { display: none; }
  .footer-bottom { font-size: 0.75rem; }
}

@media print {
  .site-header, .site-footer, .sidebar,
  .bottom-modules, .back-to-top { display: none !important; }
  body { font-size: 12pt; color: #000; }
  .content-layout { grid-template-columns: 1fr; }
}
