@media (max-width: 1199px) {
  .portfolio-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991px) {
  .navbar-menu, .navbar-actions .btn { display: none; }
  .hamburger { display: flex; }

  .mobile-nav-open .navbar-menu {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: var(--white);
    z-index: 998;
    padding: 80px 24px 40px;
    overflow-y: auto;
    gap: 2px;
  }
  .mobile-nav-open .navbar-menu > li > a {
    color: var(--dark);
    font-size: 16px;
    padding: 14px 16px;
  }
  .mobile-nav-open .navbar-actions .btn { display: inline-flex; }
  .navbar-close-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 997;
  }
  .mobile-nav-open .navbar-close-overlay { display: block; }

  .hz-hero-content h1 { font-size: 36px; }
  .hz-footer .col-lg-3 { margin-bottom: 36px; }
  .hz-sidebar { padding-left: 0; margin-top: 40px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-bottom-inner { flex-direction: column; text-align: center; }
}

@media (max-width: 767px) {
  .section { padding: 60px 0; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .section-head { margin-bottom: 36px; }
  .hz-banner { padding: 130px 0 60px; }
  .contact-form-wrap { padding: 24px; }
  .pricing-card { margin-bottom: 24px; }
  .hz-hero-btns { flex-direction: column; }
  .hz-hero-btns .btn { width: 100%; justify-content: center; }
  .counter-item { margin-bottom: 24px; }
}

@media (max-width: 575px) {
  .container { padding: 0 16px; }
  .footer-portfolio-grid { grid-template-columns: repeat(3, 1fr); }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .team-card-photo img { height: 220px; }
}

[dir="rtl"] .navbar-menu > li > a { flex-direction: row-reverse; }
[dir="rtl"] .hz-breadcrumb { flex-direction: row-reverse; }
[dir="rtl"] .footer-links a::before { transform: scaleX(-1); }
[dir="rtl"] .read-more { flex-direction: row-reverse; }
[dir="rtl"] .hz-sidebar { padding-left: 0; padding-right: 20px; }
[dir="rtl"] .contact-info-card { flex-direction: row-reverse; }
[dir="rtl"] .recent-post { flex-direction: row-reverse; }

@media (max-width: 991px) {
  .mobile-nav-open .hz-navbar {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
  }
  
  .navbar-menu .sub-menu {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    box-shadow: none !important;
    border: none !important;
    padding-left: 0 !important;
    width: 100% !important;
    margin-top: 10px !important;
    transform: none !important;
    display: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-align: center;
  }
  
  .navbar-menu li.has-children.open .sub-menu {
    display: block !important;
  }
  
  .mobile-nav-open .navbar-menu > li > a {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .hz-event-card { flex-direction: column !important; }
  .hz-event-card-img { min-width: 100% !important; max-width: 100% !important; min-height: 240px; }
}
