/* Additive accessibility/fallback only; native source controllers own nav state. */
.panda-skip-link { position: fixed; top: 12px; left: 16px; z-index: 10000; transform: translateY(-180%); padding: 12px 20px; border-radius: 12px; background: #fff; color: var(--text-heading); font-size: 16px; }
.panda-skip-link:focus { transform: translateY(0); }
.panda-no-js .nav { position: relative; background: var(--bg-primary); }
.panda-no-js .nav .nav-logo .logo-light { display: none; }
.panda-no-js .nav .nav-logo .logo-dark { display: block; }
.panda-no-js .nav .nav-links a { color: var(--text-heading); }
.panda-no-js .nav .nav-search-toggle, .panda-no-js .nav .nav-mobile-toggle { display: none; }
.panda-no-js .nav .nav-search { visibility: visible; opacity: 1; max-width: 400px; margin: 12px; }
.panda-no-js .nav .nav-cta .btn-primary { background: var(--purple); color: #fff !important; }
@media (max-width: 968px) {
  .panda-no-js .nav .nav-inner { flex-wrap: wrap; }
  .panda-no-js .nav .nav-links { display: flex; flex-direction: column; flex-basis: 100%; order: 2; gap: 18px; padding: 20px 0; }
  .panda-no-js .nav .nav-search { display: block; flex: 0 0 100%; max-width: none; order: 1; margin: 12px 0; }
  .panda-no-js .nav .nav-links .sub-menu { position: static; visibility: visible; opacity: 1; pointer-events: auto; transform: none; box-shadow: none; background: transparent; padding: 12px 0 0 16px; }
}
/* Viewer geometry/visibility/interaction belongs exclusively to the photo plugin. */
.nav-submenu-toggle { display: inline-grid; place-items: center; width: 32px; height: 32px; margin-left: 4px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; font: inherit; }
.nav-submenu-toggle::before { content: "⌄"; }
.nav-links .menu-item-has-children > a::after { display: none; }
.nav-links .menu-item-has-children:has(> .nav-submenu-toggle) { position: relative; }
.nav:not(.scrolled):not(.mobile-open) .nav-submenu-toggle { color: #fff; }
.nav-links .submenu-open > .sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
@media (max-width: 968px) {
  .nav-links .menu-item-has-children > a { display: inline-flex; width: calc(100% - 44px); }
  .nav-submenu-toggle { color: var(--text-heading); }
}
body.admin-bar .nav { top: 32px; }
@media (max-width: 782px) { body.admin-bar .nav { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .nav { top: 0; } }
