/**
 * Vanza Cleaning Services — shared layout & accessibility
 */

html {
  scroll-behavior: smooth;
}

/* Fixed 3px teal scroll progress (width set by JS) */
#scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  z-index: 10000;
  background: linear-gradient(to right, #1a7a6e, #23a090);
  transition: width 0.1s ease;
  pointer-events: none;
}

/* Comfortable horizontal padding on very narrow screens */
@media (max-width: 374px) {
  .max-w-7xl.mx-auto.px-6 {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Minimum 44px tap targets for primary controls on small screens */
@media (max-width: 767px) {
  header button[aria-controls="primary-nav"],
  header a[href^="tel:"],
  footer a.inline-flex {
    min-height: 44px;
    min-width: 44px;
    align-items: center;
    justify-content: center;
  }

  header nav a.nav-link,
  header .inline-flex.rounded-full.font-medium {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  form button[type="submit"],
  .accordion-content + button,
  button[onclick*="toggleAccordion"] {
    min-height: 44px;
  }
}

/* Mobile nav drawer when toggled */
@media (max-width: 1023px) {
  body.mobile-nav-open header nav#primary-nav {
    display: flex !important;
    position: fixed;
    left: 0;
    right: 0;
    top: 5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    padding: 1rem 1.5rem 1.25rem;
    background: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    z-index: 9999;
    max-height: calc(100vh - 5rem);
    overflow-y: auto;
  }

  body.mobile-nav-open header nav#primary-nav a {
    width: 100%;
    padding: 0.75rem 0;
  }
}
