/* ----------------------------------------------------------------
   Header: Simple dropdown panel
   ---------------------------------------------------------------- */

.site-header__dropdown {
  @media (min-width: 64rem) {
    width: fit-content;
    padding: 1rem 1.875rem;
    background: var(--color-white);
    border: 1px solid rgba(31, 31, 35, 0.3);
    border-radius: 1.875rem;
    box-shadow: 0 0.5rem 2rem rgba(0, 0, 0, 0.06);
    white-space: nowrap;
  }
}

/* -- Dropdown grid (shared list reset) -- */
.site-header__dropdown-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;

  @media (min-width: 64rem) {
    display: grid;
    grid-template-columns: max-content;
    column-gap: 4rem;
  }

  &:has(> :nth-child(4)) {
    @media (min-width: 64rem) {
      grid-template-columns: repeat(2, max-content);
    }
  }

  &:has(> :nth-child(7)) {
    @media (min-width: 64rem) {
      grid-template-columns: repeat(3, max-content);
    }
  }
}

/* -- Dropdown item -- */
.site-header__dropdown-item {
  border-bottom: 1px solid rgba(31, 31, 35, 0.1);

  &:last-child {
    border-bottom: none;
  }

  @media (min-width: 64rem) {
    border-bottom: none;
  }
}

/* -- Dropdown link -- */
.site-header__dropdown-link:is(a) {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding-block: 1.125rem;
  font-family: var(--font--secondary);
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5;
  color: var(--color-dark);
  text-decoration: none;

  &:hover,
  &:focus {
    color: var(--color-primary-hover);
  }

  @media (min-width: 64rem) {
    padding-block: 0.5rem;
    font-family: var(--font--primary);
    font-size: 1rem;
  }
}

/* -- Dropdown icon -- */
.site-header__dropdown-icon {
  width: 1.875rem;
  height: 1.875rem;
  flex-shrink: 0;
}

.site-header__nav-item {
  > button.site-header__nav-link {
    @media (min-width: 64rem) {
      position: relative;
    }
  }

  &.is-open > button.site-header__nav-link::before {
    @media (min-width: 64rem) {
      content: "";
      position: absolute;
      bottom: -2.25rem;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
      height: 0.1875rem;
      background: var(--color-primary);
    }
  }
}
