/* Nav Primary Styles */

/* Apply Google Sans Flex to nav */
.nav-primary, .nav-primary * {
  font-family: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

/* Base nav styles */
.nav-primary {
  background: #F3F9FC;
  border-bottom: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  width: 100%;
  position: relative;
  z-index: 100;
}

.nav-primary .wrapper {
  padding: 12px 24px;
}

/* Sticky variant - apply when isSticky=true */
.nav-primary.nav-sticky {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}

/* Responsive Nav Styles */
.nav-desktop-search, .nav-desktop-links { display: none; }
.nav-medium-search, .nav-medium-customer-links, .nav-mobile-search, .nav-hamburger, .nav-medium-links { display: none; }

/* Hidden class for mobile menu */
.hidden { display: none !important; }

/* Desktop: 1024px+ */
@media (min-width: 1024px) {
  .nav-desktop-search { display: flex !important; }
  .nav-desktop-links { display: flex !important; }
  .nav-medium-search { display: none !important; }
  .nav-medium-customer-links { display: none !important; }
  .nav-mobile-search { display: none !important; }
  .nav-hamburger { display: none !important; }
}

/* Medium: 768px - 1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  .nav-medium-search { display: none !important; }
  .nav-medium-customer-links { display: none !important; }
  .nav-mobile-search { display: flex !important; }
  .nav-hamburger { display: none !important; }
  .nav-desktop-links { display: none !important; }
  .nav-desktop-only { display: none !important; }
  .nav-medium-links { display: flex !important; }

  /* Two-row layout for medium screens */
  .nav-primary { margin-bottom: 24px !important; position: relative !important; box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important; }
  .nav-primary::before { content: '' !important; position: absolute !important; top: 100% !important; left: 0 !important; right: 0 !important; height: 24px !important; background: white !important; z-index: -10 !important; }
  .nav-primary .wrapper { padding: 6px 12px 0px 12px !important; flex-direction: column !important; gap: 0px !important; }
  .nav-primary__logo { width: 250px !important; }

  /* Top row: Logo + Nav Links + Login */
  .nav-primary .nav-top-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }

  /* Medium links styling */
  .nav-medium-links {
    display: flex !important;
    align-items: center !important;
    gap: 30px !important;
    margin-left: auto !important;
  }

  /* Search row: Only contains search form in bordered box */
  .nav-primary .nav-search-row {
    display: flex !important;
    width: 64% !important;
    margin: 0 auto !important;
    border: 2px solid #A8C5F5 !important;
    border-radius: 6px !important;
    padding: 5px !important;
    background: #F3F9FC !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important;
    position: relative !important;
    top: 24px !important;
    margin-top: -14px !important;
  }

  .nav-search-row .nav-mobile-search { display: flex !important; gap: 6px !important; align-items: stretch !important; width: 100% !important; flex-wrap: nowrap !important; }
  .nav-search-row .nav-mobile-search select {
    flex: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 30px !important;
    font-size: 12px !important;
    border-radius: 6px !important;
    border: 1px solid #e5e7eb !important;
    padding: 0 28px 0 8px !important;
    background: white url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210%22 height=%226%22 viewBox=%220 0 12 8%22%3E%3Cpath fill=%22%235B7FE8%22 d=%22M1.41 0L6 4.58 10.59 0 12 1.42l-6 6-6-6z%22/%3E%3C/svg%3E') no-repeat right 8px center !important;
    background-size: 10px !important;
    color: #0A1A56 !important;
    font-weight: 400 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    box-sizing: border-box !important;
  }
  .nav-search-row .nav-mobile-search input { flex: 2 !important; width: auto !important; min-width: 0 !important; height: 30px !important; font-size: 12px !important; border-radius: 6px !important; border: 1px solid #e5e7eb !important; padding: 0 8px !important; box-sizing: border-box !important; }
  .nav-search-row .nav-mobile-search button { background: #5B7FE8 !important; color: white !important; height: 30px !important; font-size: 12px !important; flex: 1 !important; min-width: 0 !important; border-radius: 6px !important; border: none !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 4px 8px !important; font-weight: 500 !important; }

  /* Hide desktop search and links from search row, show in top row instead */
  .nav-search-row .nav-desktop-search { display: none !important; }
  .nav-search-row .nav-desktop-links { display: none !important; }

  /* Nav links styling for medium - position in top row */
  .nav-top-row .nav-desktop-links {
    display: flex !important;
    flex: 1 !important;
    margin-left: auto !important;
    max-width: none !important;
  }
  .nav-top-row .nav-desktop-links > div { gap: 14px !important; }

  /* Sticky only on desktop/medium */
  .nav-primary.nav-sticky {
    position: sticky !important;
    top: 0 !important;
  }
}

/* Mobile: <768px */
@media (max-width: 767px) {
  .nav-desktop-search { display: none !important; }
  .nav-medium-search { display: none !important; }
  .nav-mobile-search { display: flex !important; }
  .nav-hamburger { display: flex !important; }
  .nav-medium-customer-links { display: none !important; }
  .nav-desktop-only { display: none !important; }
  .nav-desktop-links { display: none !important; }

  /* Mobile-specific layout - stacked rows */
  .nav-primary { margin-bottom: 24px !important; }
  .nav-primary .wrapper { padding: 6px 12px 0px 12px !important; flex-direction: column !important; gap: 0px !important; }
  .nav-primary__logo { width: 300px !important; display: flex !important; align-items: center !important; }
  .nav-primary .nav-top-row { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; }
  .nav-primary .nav-search-row { display: flex !important; width: calc(100% - 56px) !important; margin: 0 28px !important; border: 2px solid #A8C5F5 !important; border-radius: 6px !important; padding: 5px !important; background: #F3F9FC !important; box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important; position: relative !important; top: 24px !important; margin-top: -14px !important; }
  .nav-search-row .nav-mobile-search { display: flex !important; gap: 6px !important; align-items: stretch !important; width: 100% !important; flex-wrap: nowrap !important; }
  .nav-search-row .nav-mobile-search select {
    flex: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    height: 28px !important;
    font-size: 12px !important;
    border-radius: 6px !important;
    border: 1px solid #e5e7eb !important;
    padding: 0 28px 0 8px !important;
    background: white url('data:image/svg+xml;charset=UTF-8,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2210%22 height=%226%22 viewBox=%220 0 12 8%22%3E%3Cpath fill=%22%235B7FE8%22 d=%22M1.41 0L6 4.58 10.59 0 12 1.42l-6 6-6-6z%22/%3E%3C/svg%3E') no-repeat right 8px center !important;
    background-size: 10px !important;
    color: #0A1A56 !important;
    font-weight: 400 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    box-sizing: border-box !important;
  }
  .nav-search-row .nav-mobile-search input { flex: 2 !important; width: auto !important; min-width: 0 !important; height: 28px !important; font-size: 12px !important; border-radius: 6px !important; border: 1px solid #e5e7eb !important; padding: 0 8px !important; box-sizing: border-box !important; }
  .nav-search-row .nav-mobile-search button { background: #5B7FE8 !important; color: white !important; height: 28px !important; font-size: 12px !important; flex: 1 !important; min-width: 0 !important; border-radius: 6px !important; border: none !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 4px 8px !important; font-weight: 500 !important; }
  .nav-hamburger { padding: 4px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: transparent !important; border: none !important; cursor: pointer !important; }
  .nav-hamburger svg path { stroke: #5B7FE8 !important; }

  /* No sticky on mobile */
  .nav-primary.nav-sticky {
    position: relative !important;
  }

  /* Add margin to map container on mobile to prevent nav overlap */
  #providerMap {
    margin-top: 50px !important;
  }
}

/* Desktop only - hide mobile-only rows */
@media (min-width: 1024px) {
  .nav-top-row { display: none !important; }
  .nav-search-row { border: none !important; padding: 0 !important; }
}
