/* ─── Mega-nav: dropdowns + desktop readability (loads after ui.css) ─── */

/* Dropdown containers sit in the flex row like other items */
.idx .nav-links .nav-dd {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Remove UA disclosure / list styling that fights our flex row */
.idx .nav-links .nav-dd > summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.22em;
  white-space: nowrap;
  margin: 0;
  padding: 0.35rem 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: inherit;
  line-height: 1.2;
  position: relative;
  /* Same brand yellow as feature-list bullets and other accents */
  color: var(--idx-accent);
  box-shadow: none;
}

.idx .nav-links .nav-dd > summary::-webkit-details-marker {
  display: none;
}

.idx .nav-links .nav-dd > summary::marker {
  content: none;
}

/* Caret reads as “menu” with the chip treatment */
.idx .nav-links .nav-dd > summary .nav-dd-caret {
  display: inline-block;
  margin-inline-start: 0.1em;
  font-size: 0.58em;
  opacity: 0.65;
  transform: translateY(0.08em);
  color: inherit;
}

.idx .nav-links .nav-dd > summary::after {
  display: none;
}

.idx .nav-links .nav-dd:hover > summary,
.idx .nav-links .nav-dd:focus-within > summary,
.idx .nav-links .nav-dd[open] > summary {
  color: var(--idx-accent);
  outline: none;
}

@media (min-width: 901px) {
  .idx .nav-links .nav-dd:hover > summary,
  .idx .nav-links .nav-dd:focus-within > summary,
  .idx .nav-links .nav-dd[open] > summary {
    border-color: transparent;
    background: transparent;
  }
}

.idx .nav-links .nav-dd:hover > summary .nav-dd-caret,
.idx .nav-links .nav-dd:focus-within > summary .nav-dd-caret,
.idx .nav-links .nav-dd[open] > summary .nav-dd-caret {
  opacity: 0.9;
}

.idx .nav-links .nav-dd-panel {
  position: absolute;
  top: calc(100% + 0.35rem);
  left: 50%;
  transform: translateX(-50%);
  min-width: 220px;
  max-width: min(320px, 92vw);
  padding: 0.5rem 0;
  margin: 0;
  background: rgba(12, 12, 14, 0.96);
  border: 1px solid var(--idx-line);
  border-radius: 6px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  z-index: calc(var(--idx-z-nav) + 2);
}

.idx .nav-links .nav-dd-panel a {
  display: block;
  padding: 0.45rem 1rem;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
  color: rgba(236, 234, 230, 0.92);
}

.idx .nav-links .nav-dd-panel a::after {
  display: none;
}

.idx .nav-links .nav-dd-panel a:hover,
.idx .nav-links .nav-dd-panel a:focus-visible {
  background: rgba(255, 237, 0, 0.1);
  color: var(--idx-accent);
}

/* Desktop: even gaps between items; link row hugs the right without space-between stretch */
@media (min-width: 901px) {
  .idx .nav-container {
    justify-content: flex-start;
    gap: clamp(1rem, 2.2vw, 2rem);
  }

  .idx .nav-links {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    row-gap: 0;
    min-width: 0;
    /* One column-gap value so every pair (including Services▾ | Sectors▾) matches */
    gap: clamp(0.55rem, 0.4rem + 0.75vw, 1.05rem);
    font-size: clamp(0.62rem, 0.54rem + 0.28vw, 0.72rem);
    letter-spacing: 0.11em;
  }

  .idx .nav-links > a:not(.phone-link) {
    white-space: nowrap;
    line-height: 1.2;
    color: rgba(236, 234, 230, 0.88);
  }

  .idx .nav-links > a:not(.phone-link):hover,
  .idx .nav-links > a:not(.phone-link):focus-visible {
    color: var(--idx-accent);
  }

  .idx .nav-links .phone-link {
    flex-shrink: 0;
    margin-left: 0;
    align-items: center;
  }

  .idx .nav-links .phone-link-eyebrow {
    letter-spacing: 0.14em;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .idx .nav-links {
    letter-spacing: 0.09em;
    gap: clamp(0.45rem, 0.3rem + 0.65vw, 0.9rem);
  }
}

@media (max-width: 900px) {
  .idx .nav-links .nav-dd {
    display: block;
    width: 100%;
  }

  .idx .nav-links .nav-dd > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.8rem 0.55rem;
    margin-bottom: 0.2rem;
    border: 1px solid rgba(255, 237, 0, 0.14);
    border-radius: 6px;
    background: rgba(255, 237, 0, 0.04);
    color: var(--idx-accent);
    font-size: 0.78rem;
    font-weight: 500;
    letter-spacing: 0.16em;
  }

  .idx .nav-links .nav-dd > summary::after {
    display: none;
  }

  .idx .nav-links .nav-dd[open] > summary {
    border-color: rgba(255, 237, 0, 0.28);
    background: rgba(255, 237, 0, 0.08);
    filter: brightness(1.05);
  }

  .idx .nav-links .nav-dd-panel {
    position: static;
    transform: none;
    left: auto;
    min-width: 0;
    max-width: none;
    margin: 0 0 0.35rem 0;
    padding: 0.25rem 0 0.5rem 0.75rem;
    border: 0;
    box-shadow: none;
    background: rgba(0, 0, 0, 0.22);
    border-radius: 4px;
  }

  .idx .nav-links .nav-dd-panel a {
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    font-size: 0.72rem;
  }

  .idx .nav-links .nav-dd-panel a:last-child {
    border-bottom: 0;
  }
}
