/*
 * IPA GLOBAL HEADER — COMPACT PRECISION DESKTOP DROPDOWN 2.0.1
 * Approved IPA identity: solid black, pale IPA gold, sans-serif typography,
 * one 1px hairline frame, matched rounded hover corners, NO gradients/glow,
 * NO illustrative icons. The tiny arrow is a navigation affordance only.
 *
 * Scoped to the JS-enhanced PROGRAMMES item and viewport >= 783px.
 * No mobile selectors, no burger/menu modifications, no duplicated header.
 */
@media screen and (min-width: 783px) {
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu {
    --ipa-gh2-gold: #fce6b7;
    --ipa-gh2-black: #050505;
    --ipa-gh2-ink: #101010;
    --ipa-gh2-subtle: #cfbb91;
    --ipa-gh2-stroke: #d4bd88;
    --ipa-gh2-radius: 10px;
    overflow: visible !important;
    position: relative !important;
  }

  /* Precisely aligned to PROGRAMMES. No disconnected triangular notch. */
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container {
    box-sizing: border-box !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    bottom: auto !important;
    width: 304px !important;
    min-width: 0 !important;
    max-width: min(304px, calc(100vw - 32px)) !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--ipa-gh2-stroke) !important;
    border-radius: var(--ipa-gh2-radius) !important;
    outline: none !important;
    background: var(--ipa-gh2-black) !important;
    background-image: none !important;
    box-shadow: 0 14px 32px rgba(0,0,0,0.20) !important;
    overflow: hidden !important;
    isolation: isolate;
    z-index: 10000 !important;
    text-align: left !important;
    transform: translate3d(0, 5px, 0);
    transition: opacity 185ms ease, transform 185ms ease, visibility 185ms ease !important;
  }

  /* WP Navigation owns visibility and pointer semantics: only refine motion. */
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu:hover
  > .wp-block-navigation__submenu-container,
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu:focus-within
  > .wp-block-navigation__submenu-container,
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation-submenu__toggle[aria-expanded="true"]
  ~ .wp-block-navigation__submenu-container {
    transform: translate3d(0, 0, 0) !important;
  }

  /* All row surfaces must be truly edge-to-edge within the rounded frame. */
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    overflow: hidden !important;
    animation: none !important;
  }

  /* One delicately inset separator, not a heavy full-width ruled line. */
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item + .wp-block-navigation-item::before {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    height: 1px !important;
    top: 0 !important;
    left: 19px !important;
    right: 19px !important;
    z-index: 1 !important;
    pointer-events: none !important;
    background: rgba(252, 230, 183, 0.20) !important;
    border: 0 !important;
  }

  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content {
    position: relative !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 5px !important;
    width: 100% !important;
    min-height: 76px !important;
    margin: 0 !important;
    padding: 13px 43px 13px 20px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--ipa-gh2-black) !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--ipa-gh2-gold) !important;
    opacity: 1 !important;
    font-family: "Roboto", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.005em !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: normal !important;
    text-decoration: none !important;
    -webkit-text-decoration: none !important;
    transform: none !important;
    transition: background-color 185ms cubic-bezier(.2,.75,.2,1), color 185ms ease !important;
    cursor: pointer !important;
  }

  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item:first-child
  > .wp-block-navigation-item__content {
    border-radius: calc(var(--ipa-gh2-radius) - 1px) calc(var(--ipa-gh2-radius) - 1px) 0 0 !important;
  }
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item:last-child
  > .wp-block-navigation-item__content {
    border-radius: 0 0 calc(var(--ipa-gh2-radius) - 1px) calc(var(--ipa-gh2-radius) - 1px) !important;
  }

  /* Correctly override inherited black-label rules from v1.x. */
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content .wp-block-navigation-item__label {
    font-family: "Roboto", Arial, sans-serif !important;
    color: inherit !important;
    background: transparent !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-transform: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
  }

  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content .ipa-gh2-subtitle {
    display: block !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ipa-gh2-subtle) !important;
    font-family: "Roboto", Arial, sans-serif !important;
    font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.17em !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    text-decoration: none !important;
    opacity: 1 !important;
    transition: color 185ms ease !important;
  }

  /* The rightward chevron is a subtle wayfinding affordance, not an icon. */
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content::after {
    content: "" !important;
    box-sizing: border-box !important;
    position: absolute !important;
    display: block !important;
    width: 9px !important;
    height: 9px !important;
    top: calc(50% - 5px) !important;
    right: 20px !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 1.5px solid currentColor !important;
    border-right: 1.5px solid currentColor !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    opacity: 0.90 !important;
    pointer-events: none !important;
    transform: rotate(45deg) translate3d(0,0,0) !important;
    transition: transform 185ms ease, color 185ms ease !important;
  }

  /* Gold fill: ALL lettering, including subtitles, becomes near-black. */
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item:hover
  > .wp-block-navigation-item__content,
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content:hover,
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content:focus-visible {
    background: var(--ipa-gh2-gold) !important;
    background-image: none !important;
    color: var(--ipa-gh2-ink) !important;
    padding-left: 20px !important;
    box-shadow: none !important;
    opacity: 1 !important;
    outline: none !important;
  }

  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item:is(:hover,:focus-within)
  > .wp-block-navigation-item__content .ipa-gh2-subtitle {
    color: var(--ipa-gh2-ink) !important;
  }
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item:is(:hover,:focus-within)
  > .wp-block-navigation-item__content::after {
    transform: translateX(4px) rotate(45deg) !important;
    color: var(--ipa-gh2-ink) !important;
  }

  /* Focus remains perceptible when using the keyboard rather than a pointer. */
  html body header nav.wp-block-navigation
  .wp-block-navigation__container
  > .wp-block-navigation-item.has-child.ipa-gh2-menu
  > .wp-block-navigation__submenu-container
  > .wp-block-navigation-item
  > .wp-block-navigation-item__content:focus-visible {
    outline: 2px solid var(--ipa-gh2-ink) !important;
    outline-offset: -4px !important;
  }

  @media (prefers-reduced-motion: reduce) {
    html body header nav.wp-block-navigation .ipa-gh2-menu
    > .wp-block-navigation__submenu-container,
    html body header nav.wp-block-navigation .ipa-gh2-menu
    > .wp-block-navigation__submenu-container * {
      animation: none !important;
      transition-duration: .01ms !important;
    }
  }
}
