html, body {
  max-width: 100%;
/*  overflow-x: hidden;*/
}



/* ---------- Home + Properties cards grid (frontend/home, frontend/properties) ---------- */
@media (max-width: 1200px) {
  .section-inner { max-width: 1100px; }
}

@media (max-width: 1024px) {
  .properties { gap: 1.6rem; }
  .property-link { width: 48% !important; }
  .property-card img { height: 190px; }
}

@media (max-width: 680px) {
  .properties { gap: 1.1rem; }
  .property-link { width: 100% !important; }
  .property-card { width: 100%; }
  .property-card img { height: 200px; }
}

/* ---------- Properties search bar form ---------- */
@media (max-width: 1024px) {
  .properties-form {
    gap: 12px;
    justify-content: flex-start;
  }

  .properties-form .input-group {
    flex: 1 1 220px;
    min-width: 200px;
  }
}

@media (max-width: 680px) {
  .properties-form { flex-direction: column; }
  .properties-form .input-group { width: 100%; min-width: 0; }
  .properties-form button { width: 100%; }
}

/* Some templates wrap content in container-fluid without padding rules */
@media (max-width: 768px) {
  .container-fluid { padding-left: 0; padding-right: 0; }
  .property-card {
    margin: 0 auto;
  }
}

/* ---------- Properties listing page (frontend/style.css) ---------- */
@media (max-width: 980px) {
  .props-hero { padding: 38px 14px 18px; }
  .props-wrap { padding: 22px 14px 52px; }
}

@media (max-width: 560px) {
  .props-hero__inner { text-align: left; }
  .section-subtitle { margin-left: 0; }
  .props-meta { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ---------- Property detail page (frontend/property.css) ---------- */
@media (max-width: 1024px) {
  .property-hero { padding: 2.2rem 1.25rem 0.75rem 1.25rem; }
  .property-gallery { padding: 0 1.25rem 1.6rem 1.25rem !important; }
  .property-content { padding: 0.75rem 1.25rem 3rem 1.25rem !important; }

  .property-title { font-size: 2.15rem; }
  .price-box { min-width: 240px; }
}

@media (max-width: 768px) {
  .property-title { font-size: 1.85rem; letter-spacing: 1.4px; }

  /* Make the price box full width when stacked */
  .property-hero-right, .price-box { width: 100%; }
  .price-box { min-width: 0; }




  /* Gallery: horizontal scroll on mobile so all images don't stack */
  .gallery-grid {
    display: flex !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 12px !important;
    padding-bottom: 10px;
  }

  .gallery-item {
    flex: 0 0 78%;
    max-width: 78%;
    height: 240px !important;
    scroll-snap-align: start;
  }

  /* Neutralize desktop grid sizing rules when in scroll mode */
  .gallery-item:nth-child(1),
  .gallery-item:nth-child(2),
  .gallery-item:nth-child(3),
  .gallery-item:nth-child(4),
  .gallery-item:nth-child(5) {
    height: 240px !important;
  }
  .gallery-item { border-radius: 12px; }

  .features-grid { grid-template-columns: 1fr; }

  .feature {
    padding: 12px 12px;
  }

  .feature span { font-size: 12px; }

  /* Sticky CTA: tighter */
  body { padding-bottom: 86px; }
  .sticky-cta-inner { padding: 10px 12px; text-align: center; gap: initial; }
  .sticky-title { font-size: 13px; }
  .sticky-sub { font-size: 16px; }
  .cta-outline, .cta-solid { padding: 12px 18px 10px 18px; }

  /* Lightbox controls */
  .lightbox-arrow {
    width: 44px;
    height: 44px;
    font-size: 36px;
  }
  .lightbox-arrow.left { left: 12px; }
  .lightbox-arrow.right { right: 12px; }
}

@media (max-width: 480px) {
  .property-hero { padding: 1.8rem 1rem 0.6rem 1rem; }
  .property-gallery { padding: 0 1rem 1.2rem 1rem !important; }
  .property-content { padding: 0.6rem 1rem 2.6rem 1rem !important; }

  .property-title { font-size: 1.6rem; }
  .badge { font-size: 11px; padding: 7px 10px; }

  .availability-modal { padding: 18px; }
  .availability-modal-head h3 { font-size: 14px; }

  /* Lightbox image breathing room */
  #lightboxImg { max-width: 94vw; max-height: 80vh; }
}

/* ---------- Footer tweaks (keep existing responsive behavior, just reduce padding a bit) ---------- */
