@media (max-width: 1024px) {
  .top-bar { display: none; }
  .main-nav { display: none; }
  .header-actions .btn-primary { display: none; }
  .main-header { padding: 12px 0; }
  .main-header .container {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: 10px;
  }
  .mobile-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    grid-column: 1;
  }
  .site-logo {
    grid-column: 2;
    justify-self: center;
  }
  .site-logo img { max-height: 50px; width: auto; }
  .header-actions {
    grid-column: 3;
    justify-self: end;
  }
  .search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
  }

  .mobile-nav {
    display: block;
    position: fixed;
    top: 0;
    left: -320px;
    width: 320px;
    height: 100%;
    background: #fff;
    box-shadow: 2px 0 12px rgba(0,0,0,0.1);
    transition: left 0.3s;
    z-index: 1100;
    overflow-y: auto;
    padding: 20px;
  }
  .mobile-nav.open { left: 0; }
  .mobile-nav ul { list-style: none; }
  .mobile-nav a { display: block; padding: 12px 0; border-bottom: 1px solid var(--color-border); color: var(--color-title); }
  .mobile-nav .submenu { display: none; padding-left: 15px; }
  .mobile-nav li.open > .submenu { display: block; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .page-banner h1 { font-size: 28px; }
}

@media (max-width: 768px) {
  .main-header .container { grid-template-columns: 40px 1fr 40px; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .copyrights-wrapper .container { flex-direction: column; gap: 10px; text-align: center; }
  .page-banner { padding: 60px 0; }
  .page-banner h1 { font-size: 24px; }
}
