/* ==========================================================================
   LASHORIA — RESPONSIVE BREAKPOINTS & MOBILE GOVERNANCE
   Tested for 360px, 390px, 768px, 1024px, and 1440px viewports
   ========================================================================== */

/* Desktop Large (1440px+) */
@media (min-width: 1400px) {
  .container {
    max-width: 1280px;
  }
}

/* Tablet & Below (< 992px) */
@media (max-width: 991.98px) {
  :root {
    --section-py: 4.25rem;
  }

  .site-header {
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
  }

  /* Enforce <= 15% mobile sticky height cap */
  .site-header .navbar {
    min-height: 56px;
  }

  .navbar-collapse-editorial {
    background-color: var(--color-bg);
    border-top: 1px solid var(--color-border);
    margin-top: 0.65rem;
    padding: 1rem 0;
    max-height: 78vh;
    overflow-y: auto;
  }

  .nav-link-editorial::after {
    display: none;
  }

  .dropdown-menu-editorial {
    border: none;
    background-color: var(--color-secondary);
    box-shadow: none;
    margin-top: 0.25rem !important;
    padding-left: 1rem;
  }
}

/* Mobile Devices (< 768px: 360px, 390px) */
@media (max-width: 767.98px) {
  :root {
    --section-py: 3.25rem;
  }

  .display-hero {
    font-size: clamp(2.1rem, 7vw, 2.75rem);
  }

  .section-title {
    font-size: clamp(1.75rem, 6vw, 2.25rem);
  }

  .page-header-banner {
    padding: 2.75rem 0;
  }

  .card-editorial-body {
    padding: 1.35rem;
  }

  .btn-luxury {
    min-height: 44px; /* Touch target compliance */
    padding: 0.7rem 1.25rem;
  }

  .menu-item-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .back-to-top-btn {
    bottom: 1rem;
    right: 1rem;
  }
}

/* Small Handsets (360px - 390px) */
@media (max-width: 400px) {
  .navbar-brand-wordmark {
    font-size: 1.65rem;
  }

  .filter-segmented {
    width: 100%;
    justify-content: stretch;
  }

  .filter-btn {
    flex: 1 1 auto;
    text-align: center;
    padding: 0.5rem 0.65rem;
  }
}
