/* =========================
   GLOBAL MOBILE FIXES
========================= */

html, body {
    overflow-x: hidden;
  }
  
  img {
    max-width: 100%;
    height: auto;
  }
  
  button,
  .btn-primary,
  input,
  select,
  textarea {
    min-height: 44px;
    font-size: 16px;
  }
  
  .container {
    padding-left: 16px;
    padding-right: 16px;
  }
  
  /* =========================
     HERO SECTION (HOME)
  ========================= */
  
  @media (max-width: 768px) {
    .hero {
      height: auto;
      min-height: 100vh;
      padding: 80px 0 40px;
    }
  
    .hero-content h1 {
      font-size: clamp(26px, 6vw, 34px);
    }
  
    .search-box {
      padding: 20px;
      border-radius: 20px;
    }
  
    .filters {
      grid-template-columns: 1fr;
    }
  }
  
  /* =========================
     PROPERTY LISTING PAGE
  ========================= */
  
  @media (max-width: 900px) {
    .property-grid,
    .properties-grid {
      grid-template-columns: 1fr;
      gap: 24px;
    }
  
    .property-card img {
      height: 220px;
    }
  }
  
  /* =========================
     PROPERTY DETAIL PAGE
  ========================= */
  
  .property-detail {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  
  .property-gallery img {
    height: auto;
    aspect-ratio: 4 / 3;
  }
  
  .property-location {
    margin-left: 0;
    max-width: 100%;
  }
  
  .property-meta {
    gap: 12px;
  }
  
  .floor-plan img {
    max-width: 100%;
  }
  
  .map-section iframe {
    height: 280px;
  }
  
  @media (min-width: 900px) {
    .property-detail {
      grid-template-columns: 1.1fr 1fr;
      gap: 48px;
    }
  
    .property-gallery img {
      height: 240px;
      aspect-ratio: unset;
    }
  
    .map-section iframe {
      height: 360px;
    }
  }
  
  @media (min-width: 1024px) {
    .enquiry-box {
      position: sticky;
      top: 120px;
    }
  }
  
  /* =========================
     FORMS & LEADS
  ========================= */
  
  @media (max-width: 768px) {
    .enquiry-box {
      padding: 24px;
      border-radius: 20px;
    }
  
    .enquiry-box input,
    .enquiry-box textarea {
      font-size: 16px;
    }
  }
  
  /* =========================
     FOOTER
  ========================= */
  
  @media (max-width: 768px) {
    .footer-grid {
      grid-template-columns: 1fr;
      gap: 24px;
      text-align: center;
    }
  }
  
 /* =========================
   NAVBAR – MOBILE FIX (FINAL)
========================= */
@media (max-width: 768px) {

    /* FORCE show hamburger */
    .navbar .nav-toggle {
      display: flex !important;
      align-items: center;
      justify-content: center;
      font-size: 28px;
      background: none;
      border: none;
      color: #fff;
      cursor: pointer;
      z-index: 1001;
    }
  
    /* Mobile nav hidden by default */
    .navbar nav {
      position: fixed;
      top: 80px;
      left: 0;
      width: 100%;
      background: linear-gradient(135deg, #003ea8, #0057d8);
      flex-direction: column;
      padding: 12px 0;
      transform: translateY(-120%);
      transition: transform 0.3s ease;
      z-index: 1000;
    }
  
    /* Show nav */
    .navbar nav.open {
      transform: translateY(0);
    }
  
    .navbar nav a {
      display: block;
      padding: 14px 24px;
      border-radius: 0;
      color: #fff;
    }
  
    body.menu-open {
      overflow: hidden;
    }
  }

  /* =========================
   HOME PAGE NAVBAR – MOBILE FIX
========================= */
@media (max-width: 768px) {

    /* Force solid navbar on home page */
    .home .navbar {
      position: fixed;
      background: linear-gradient(135deg, #003ea8, #0057d8);
      z-index: 1000;
    }
  
    /* Make hamburger clearly visible */
    .home .navbar .nav-toggle {
      color: #fff;
      z-index: 1001;
    }
  
    /* Push hero content below navbar */
    .home .hero {
      padding-top: 80px;
    }
  }
  
