/* ============================================================
   Site Header & Navigation — Responsive
   All @media breakpoints for the header / navbar.
   Core styles → _header.css
   ============================================================ */

/* Hide header on mobile when scrolling down */
@media (max-width: 991.98px) {
  .site-header.header-hidden:not(.navbar-open) {
    transform: translateY(-100%);
  }

  /* Lock body scroll when mobile menu is open */
  body.navbar-menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
    -webkit-overflow-scrolling: none;
  }

  /* Mobile navbar collapse - scrollable menu with touch handling */
  .site-navbar .navbar-collapse {
    max-height: calc(100vh - var(--header-height, 88px));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
  }
}

@media (max-width: 576px) {
  .site-logo {
    height: 40px;
  }
}

/* Mobile: full width button and centered menu */
@media (max-width: 991.98px) {
  .site-navbar .navbar-nav .btn-app-download {
    width: 100%;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
  }

  .site-navbar .navbar-nav {
    text-align: center;
  }

  .site-navbar .navbar-nav .nav-item {
    width: 100%;
  }
}

@media (min-width: 992px) {
  .site-navbar .navbar-nav .btn-app-download {
    margin-top: 0;
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  .navbar-actions {
    width: auto;
    gap: 1.25rem;
    flex-wrap: nowrap;
    margin-left: auto;
    justify-content: flex-end;
    padding-right: 12px;
  }

  .header-unit-selector-inline {
    width: auto;
  }
}

@media (max-width: 991.98px) {
  .site-navbar .nav-link {
    margin-right: 0;
    padding: 0.5rem 0;
    text-align: center;
  }

  .navbar-actions {
    margin-top: 1.5rem;
    display: grid !important;
    gap: 0.75rem;
  }
}

/* ============================================================
   Responsive header buttons - prevent overlap on small screens
   ============================================================ */

/* Medium screens (992px-1200px) - reduce button padding and gaps */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar-actions {
    gap: 0.5rem !important;
  }

  .navbar-actions .btn {
    padding: 0.5rem 0.85rem;
    font-size: 0.85rem;
    min-height: 2.4rem;
  }

  .header-unit-toggle {
    padding-inline: 0.85rem;
  }

  .header-unit-selector-floating {
    right: 8px;
  }
}

/* Smaller desktop screens (992px-1100px) - stack buttons if needed */
@media (min-width: 992px) and (max-width: 1099.98px) {
  .navbar-actions {
    gap: 0.35rem !important;
  }

  .navbar-actions .btn {
    padding: 0.45rem 0.7rem;
    font-size: 0.8rem;
    white-space: nowrap;
  }
}

/* Very small screens (< 576px) - ensure full width buttons */
@media (max-width: 575.98px) {
  .navbar-actions {
    gap: 0.5rem;
  }

  .navbar-actions .btn {
    width: 100%;
    justify-content: center;
  }

  .header-unit-selector-inline {
    width: 100%;
  }

  .header-unit-selector-inline .dropdown {
    width: 100%;
  }

  .header-unit-selector-inline .header-unit-toggle {
    width: 100%;
    justify-content: center;
  }
}
