/**
 * Shared navigation menu interaction states (public, private user, business).
 * Load after shell/menu layout CSS. Hover applies only when (hover: hover).
 */

:root {
  --gb-nav-state-ease: 165ms ease;
  --gb-nav-hover-bg: rgba(167, 243, 232, 0.42);
  --gb-nav-hover-fg: #0f766e;
  --gb-nav-press-bg: rgba(14, 165, 233, 0.16);
  --gb-nav-press-fg: #0c4a6e;
  --gb-nav-active-bg: rgba(13, 148, 136, 0.1);
  --gb-nav-active-fg: #0f766e;
  --gb-nav-accent: #0d9488;
  --gb-nav-focus-ring: rgba(14, 165, 233, 0.5);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --gb-nav-state-ease: 0ms;
  }
}

/* —— Shared transition base —— */
.landing-nav-dd__menu a,
.mobile-menu__content > a,
.mobile-menu__primary-sync a,
.mobile-menu__sub a,
.mobile-menu__group > summary,
.profile-menu-link,
.drawer-link,
.app-nav .nav-link,
.user-app-header .user-header__link {
  transition:
    background-color var(--gb-nav-state-ease),
    color var(--gb-nav-state-ease),
    border-color var(--gb-nav-state-ease),
    box-shadow var(--gb-nav-state-ease);
}

/* —— Press (touch + mouse) —— */
.landing-nav-dd__menu a:active,
.mobile-menu__content > a:active,
.mobile-menu__primary-sync a:active,
.mobile-menu__sub a:active,
.mobile-menu__group > summary:active,
.profile-menu-link:active,
.drawer-link:active,
.app-nav .nav-link:active,
.user-app-header .user-header__link:active {
  background-color: var(--gb-nav-press-bg);
  color: var(--gb-nav-press-fg);
}

/* —— Hover (fine pointers only) —— */
@media (hover: hover) {
  .landing-nav-dd__menu a:hover,
  .mobile-menu__content > a:hover,
  .mobile-menu__primary-sync a:hover,
  .mobile-menu__sub a:hover,
  .mobile-menu__group > summary:hover,
  .profile-menu-link:hover,
  .drawer-link:hover,
  .app-nav .nav-link:hover,
  .user-app-header .user-header__link:hover {
    background-color: var(--gb-nav-hover-bg);
    color: var(--gb-nav-hover-fg);
  }

  .profile-menu-link:hover .pm-ic,
  .profile-menu-link:hover .nav-ic,
  .app-nav .nav-link:hover .nav-ic {
    color: var(--gb-nav-hover-fg);
  }

  .drawer-link.drawer-link--cta:hover {
    filter: brightness(0.98);
  }
}

/* —— Keyboard focus —— */
.landing-nav-dd__menu a:focus-visible,
.mobile-menu__content > a:focus-visible,
.mobile-menu__primary-sync a:focus-visible,
.mobile-menu__sub a:focus-visible,
.mobile-menu__group > summary:focus-visible,
.profile-menu-link:focus-visible,
.drawer-link:focus-visible,
.app-nav .nav-link:focus-visible,
.user-app-header .user-header__link:focus-visible {
  outline: 2px solid var(--gb-nav-focus-ring);
  outline-offset: 2px;
}

.landing-nav-dd__menu a:focus:not(:focus-visible),
.mobile-menu__content > a:focus:not(:focus-visible),
.mobile-menu__primary-sync a:focus:not(:focus-visible),
.mobile-menu__sub a:focus:not(:focus-visible),
.profile-menu-link:focus:not(:focus-visible),
.drawer-link:focus:not(:focus-visible),
.app-nav .nav-link:focus:not(:focus-visible),
.user-app-header .user-header__link:focus:not(:focus-visible) {
  outline: none;
}

/* —— Current / active page —— */
.landing-nav-dd__menu a[aria-current='page'],
.landing-nav-dd__menu a.active,
.mobile-menu__content > a[aria-current='page'],
.mobile-menu__primary-sync a[aria-current='page'],
.mobile-menu__primary-sync a.is-active,
.mobile-menu__sub a[aria-current='page'],
.mobile-menu__sub a.is-active,
.profile-menu-link[aria-current='page'],
.profile-menu-link.active,
.drawer-link[aria-current='page'],
.drawer-link.active,
.app-nav .nav-link[aria-current='page'],
.app-nav .nav-link.active,
.user-app-header .user-header__link[aria-current='page'] {
  background-color: var(--gb-nav-active-bg);
  color: var(--gb-nav-active-fg);
  font-weight: 650;
}

.landing-nav-dd__menu a[aria-current='page'],
.landing-nav-dd__menu a.active,
.mobile-menu__content > a[aria-current='page'],
.mobile-menu__primary-sync a[aria-current='page'],
.mobile-menu__primary-sync a.is-active,
.mobile-menu__sub a[aria-current='page'],
.mobile-menu__sub a.is-active {
  box-shadow: inset 3px 0 0 var(--gb-nav-accent);
}

/* Profile / user shell: keep existing left pill when present */
.profile-menu-link[aria-current='page']::before,
.profile-menu-link.active::before,
.gb-blog-user-header .profile-menu-link[aria-current='page']::before,
.gb-blog-user-header .profile-menu-link.active::before {
  background: var(--gb-nav-accent);
}

.drawer-link.active,
.drawer-link[aria-current='page'] {
  border-left-color: var(--gb-nav-accent);
  box-shadow: none;
}

.app-nav .nav-link.active,
.app-nav .nav-link[aria-current='page'] {
  border-left-color: var(--gb-nav-accent);
  border-color: rgba(13, 148, 136, 0.22);
}

.app-nav .nav-link.active .nav-ic,
.app-nav .nav-link[aria-current='page'] .nav-ic,
.profile-menu-link[aria-current='page'] .pm-ic,
.profile-menu-link.active .pm-ic {
  color: var(--gb-nav-active-fg);
}

/* Hamburger: tappable row geometry (interaction only; no structure change) */
.mobile-menu__content > a {
  display: block;
  padding: 0.45rem 0.5rem;
  border-radius: 0.5rem;
}

.mobile-menu__group > summary:focus-visible {
  outline-offset: -2px;
}

/* Dropdown rows */
.landing-nav-dd__menu a {
  border-radius: 0.35rem;
  margin: 0 0.25rem;
}

@media (hover: hover) {
  .profile-menu-link:hover::before,
  .profile-menu-link:focus-visible::before,
  .gb-blog-user-header .profile-menu-link:hover::before,
  .gb-blog-user-header .profile-menu-link:focus-visible::before {
    background: rgba(14, 165, 233, 0.85);
  }
}

.profile-menu-link:focus-visible,
.gb-blog-user-header .profile-menu-link:focus-visible {
  background-color: rgba(14, 165, 233, 0.08);
}

@media (hover: hover) {
  .user-app-header .user-header__link:hover,
  .user-app-header .user-header__link:focus-visible {
    border-color: rgba(14, 165, 233, 0.18);
  }
}

.user-app-header .user-header__link[aria-current='page'] {
  border-color: rgba(13, 148, 136, 0.28);
}
