/* ==========================================================================
   LINDEN LUXURY RESIDENCES — Responsive Media Queries & Spacing Tokens
   ========================================================================== */

/* Large screens and desktop */
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}

@media (max-width: 1199.98px) {
  .hero-title {
    font-size: 3.3rem;
  }
}

/* Tablets and medium screens (<= 991.98px) */
@media (max-width: 991.98px) {
  :root {
    --section-space: 48px;
    --section-space-sm: 36px;
    --content-gap: 20px;
    --heading-gap: 14px;
  }

  .linden-header {
    background-color: rgba(250, 248, 245, 0.98) !important;
    padding: 0.75rem 0;
  }
  .linden-header.transparent-nav .brand-logo,
  .linden-header.transparent-nav .nav-link,
  .linden-header.transparent-nav .header-action-link,
  .linden-header.transparent-nav .navbar-toggler {
    color: var(--linden-charcoal) !important;
  }
  
  .navbar-collapse {
    background: #FFFFFF;
    border: 1px solid var(--linden-border);
    padding: 1.25rem;
    margin-top: 0.75rem;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
  }

  .navbar-nav .nav-link {
    padding: 0.55rem 0 !important;
    border-bottom: 1px solid var(--linden-border-subtle);
  }

  .hero-cinematic {
    min-height: 70vh;
    padding-top: 4.5rem;
    padding-bottom: 2.75rem;
  }
  .hero-title {
    font-size: 2.75rem;
  }

  .page-banner {
    padding: 5rem 0 1.75rem;
  }

  .property-list-card {
    flex-direction: column;
  }
  .property-list-card .property-image-wrap {
    width: 100%;
    min-height: 220px;
  }
  .property-list-card .property-content {
    width: 100%;
  }

  .footer-bottom {
    margin-top: 2rem;
  }
}

/* Mobile screens (<= 767.98px) */
@media (max-width: 767.98px) {
  .hero-cinematic {
    min-height: 65vh;
    padding-top: 4rem;
    padding-bottom: 2.25rem;
  }
  .hero-title {
    font-size: 2.2rem;
  }
  .hero-subtitle {
    font-size: 0.98rem;
  }
  .page-banner {
    padding: 4.75rem 0 1.5rem;
  }
  .linden-toast-container {
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
  }
  .back-to-top {
    bottom: 1rem;
    right: 1rem;
  }
}

/* Small mobile (<= 575.98px) */
@media (max-width: 575.98px) {
  :root {
    --section-space: 36px;
    --section-space-sm: 28px;
    --content-gap: 16px;
    --heading-gap: 12px;
  }

  .page-banner {
    padding: 4.25rem 0 1.25rem;
  }

  .hero-cinematic {
    min-height: 60vh;
  }

  .display-title {
    font-size: 1.85rem;
  }

  .btn-linden-primary,
  .btn-linden-outline,
  .btn-linden-outline-white {
    padding: 0.6rem 1.2rem;
    font-size: 0.82rem;
  }
}
