

/* --- Tablets & Mobile Landscape (Max Width: 991px) --- */
@media (max-width: 991px) {
  .section-padding {
    padding: 70px 0;
  }

  .section-title {
    font-size: 30px;
  }

  /* Hamburger Button Show */
  .hamburger {
    display: flex;
    z-index: 1001;
  }

  /* MOBILE MENU FIX */
  .nav-links {
    position: fixed;
    top: 85px; /* Header height */
    left: -100%; /* Shuru mein screen se bahar */
    width: 100%;
    height: calc(100vh - 85px);
    background-color: var(--bg-surface);
    flex-direction: column;
    align-items: center; /* Center align karein */
    justify-content: flex-start;
    padding: 40px 20px;
    gap: 15px;
    box-shadow: var(--shadow-lg);
    transition: left 0.4s ease-in-out;
    overflow-y: auto;
    z-index: 999;
  }

  /* Jab click ho toh menu andar aye */
  .nav-links.active {
    left: 0;
  }

  /* Menu Links Styling */
  .nav-link {
    font-size: 18px;
    width: 100%;
    text-align: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
    display: block;
    color: var(--text-main) !important; /* Force text color */
  }

  /* About & Contact Grid */
  .about-grid,
  .contact-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Hide Desktop Quote Button */
  .header-actions .btn-primary {
    display: none;
  }
}



/* ==========================================================================
   Farjad & Brothers — Responsive Stylesheet (Media Queries)
   Breakpoints: 1024px, 991px, 768px, 480px
   ========================================================================== */

/* --- Tablet / Smaller Desktop (Max Width: 1024px) --- */
@media (max-width: 1024px) {
  .hero-title {
    font-size: 42px;
  }
  .nav-links {
    gap: 20px;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 35px;
  }
}

/* --- Tablets & Mobile Landscape (Max Width: 991px) --- */
@media (max-width: 991px) {
  .section-padding {
    padding: 70px 0;
  }

  .section-title {
    font-size: 30px;
  }

  /* Hamburger Navigation Activation */
  .hamburger {
    display: flex;
    z-index: 1001;
  }

  .nav-links {
    position: fixed;
    top: 85px;
    left: -100%;
    width: 100%;
    height: calc(100vh - 85px);
    background-color: var(--bg-surface);
    flex-direction: column;
    align-items: flex-start;
    padding: 40px 30px;
    gap: 22px;
    box-shadow: var(--shadow-lg);
    transition: left 0.35s ease;
    overflow-y: auto;
    z-index: 999;
  }

  .nav-links.active {
    left: 0;
  }

  .nav-link {
    font-size: 18px;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color);
  }

  /* About Grid */
  .about-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

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

  /* Hide Desktop Quote Button in Header on Smaller Tablets to Save Space */
  .header-actions .btn-primary {
    display: none;
  }
}

/* --- Mobile Devices (Max Width: 768px) --- */
@media (max-width: 768px) {
  .hero-section {
    min-height: auto;
    padding: 100px 0 80px;
  }

  .hero-title {
    font-size: 34px;
  }

  .hero-desc {
    font-size: 16px;
  }

  .page-banner {
    padding: 60px 0;
  }

  .page-banner h1 {
    font-size: 32px;
  }

  .services-grid,
  .re-featured-grid,
  .features-grid {
    grid-template-columns: 1fr;
  }

  .vm-cards-grid {
    grid-template-columns: 1fr;
  }

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

  .testimonial-slide {
    padding: 30px 18px;
  }

  .testimonial-text {
    font-size: 15.5px;
  }

  .contact-card,
  .contact-info-panel {
    padding: 30px 20px;
  }

  .map-wrapper iframe {
    height: 300px;
  }
}

/* --- Small Mobile Phones (Max Width: 480px) --- */
@media (max-width: 480px) {
  .hero-title {
    font-size: 28px;
  }

  .hero-btns {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .hero-btns .btn {
    width: 100%;
  }

  .section-title {
    font-size: 26px;
  }

  .brand-name {
    font-size: 17px;
  }

  .brand-tag {
    font-size: 9px;
  }

  .logo-icon {
    width: 38px;
    height: 38px;
    font-size: 16px;
  }

  .contact-card {
    padding: 24px 16px;
  }
}
