.ap-directory-navigation {
  --ap-dn-ink: #04233a;
  --ap-dn-muted: #526575;
  --ap-dn-bg: #fff;
  --ap-dn-surface: #f3f6f8;
  --ap-dn-line: #d3dfe7;
  --ap-dn-accent: #f4c430;
  background: var(--ap-dn-bg);
  color: var(--ap-dn-ink);
  font: 400 14px/1.5 Oxygen, sans-serif;
  position: relative;
  z-index: 12;
}
.ap-directory-navigation *, .ap-directory-related { box-sizing: border-box; }
.ap-dn-location, .ap-directory-related { width: min(1400px, calc(100% - 40px)); margin-inline: auto; }
.ap-directory-navigation a, .ap-directory-navigation summary { color: inherit; text-decoration: none; border-radius: 6px; transition: color .18s ease, background-color .18s ease; }
.ap-directory-navigation summary { list-style: none; }
.ap-directory-navigation summary::-webkit-details-marker { display: none; }
.ap-directory-navigation a:hover, .ap-directory-navigation summary:hover { color: var(--ap-dn-ink); background: var(--ap-dn-surface); }
.ap-directory-navigation :is(a,summary):focus-visible { outline: 2px solid var(--ap-dn-ink); outline-offset: 3px; }
.ap-dn-collapsed { position: relative; }
.ap-dn-dropdown { position: absolute; top: 100%; left: 0; min-width: 220px; padding: 8px; border: 1px solid var(--ap-dn-line); border-radius: 10px; background: var(--ap-dn-bg); z-index: 15; }
.ap-dn-dropdown a { display: flex; align-items: center; padding: 9px 12px; min-height: 44px; }
.ap-dn-location { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; padding-block: 14px; }
.ap-dn-return { font-weight: 700; padding: 8px 0; min-height: 44px; display: inline-flex; align-items: center; }
.ap-dn-trail { min-width: 0; }
.ap-dn-trail ol { display: flex; align-items: center; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; gap: 4px; }
.ap-dn-trail li { display: inline-flex; align-items: center; min-width: 0; gap: 4px; }
.ap-dn-trail li + li::before { content: '›'; color: var(--ap-dn-muted); padding-inline: 4px; }
.ap-dn-trail a, .ap-dn-trail summary { display: inline-flex; padding: 8px 4px; min-height: 44px; align-items: center; }
.ap-dn-trail .ap-dn-dropdown a { display: flex; }
.ap-dn-trail [aria-current="page"] { color: var(--ap-dn-muted); overflow-wrap: anywhere; }
.ap-dn-map { margin-left: auto; padding: 10px; }
.ap-dn-action, .ap-dn-trail .ap-dn-collapsed { display: none; }
.ap-directory-related { padding-block: 40px; }
.ap-directory-related > h2 { margin: 0 0 24px; }
body:has([data-ap-directory-navigation]) :is(.ap-geo-breadcrumb, .breadcrumb-wrap) { display: none; }
/* Existing shortcode stays available without the new chrome; NavXT JSON-LD stays untouched. */
body[data-theme="dark"] .ap-directory-navigation, body.dark-mode .ap-directory-navigation, [data-theme="dark"] .ap-directory-navigation {
  --ap-dn-ink: #f5f5f5; --ap-dn-muted: #bfc1c5; --ap-dn-bg: #191c20; --ap-dn-surface: #222528; --ap-dn-line: #45494f;
}
@media (max-width: 767px) {
  .ap-dn-location, .ap-directory-related { width: calc(100% - 32px); }
  .ap-dn-location { display: block; padding-block: 8px 14px; }
  .ap-dn-trail .ap-dn-middle { display: none; }
  .ap-dn-trail .ap-dn-collapsed { display: inline-flex; }
  .ap-dn-trail ol { font-size: 13px; }
  .ap-dn-map { display: inline-flex; margin-left: 0; }
  .ap-dn-action { display: block; position: fixed; inset: auto 0 0; padding: 8px 16px calc(8px + env(safe-area-inset-bottom)); background: var(--ap-dn-bg); border-top: 1px solid var(--ap-dn-line); }
  .ap-dn-action a { display: flex; justify-content: center; padding: 12px; min-height: 48px; background: var(--ap-dn-accent); color: #04233a; font-weight: 700; }
  .ap-dn-action a:hover { background: #e6b51b; color: #04233a; }
  body:has(.ap-dn-action) { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .ap-directory-navigation a, .ap-directory-navigation summary { transition: none; } }

/* Only the native desktop switch moves; Foxiz retains its mobile header. */
.custom-top-header .ap-foxiz-map-switch { display: flex; align-items: center; flex: 0 0 auto; margin-inline-start: 8px; }
.custom-top-header .ap-foxiz-map-switch .dark-mode-toggle { min-height: 44px; }
.ap-foxiz-map-switch .dark-mode-toggle:focus-visible,
.header-mobile .dark-mode-toggle[data-ap-foxiz-accessible]:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; border-radius: 4px; }

.custom-top-header .ap-logo-directory img.ap-foxiz-map-logo { display: none; }
body[data-theme="dark"] .custom-top-header .ap-logo-directory:has(.ap-foxiz-map-logo) img:not(.ap-foxiz-map-logo) { display: none; }
body[data-theme="dark"] .custom-top-header .ap-logo-directory img.ap-foxiz-map-logo { display: block; width: 100%; height: auto; max-height: 44px; object-fit: contain; }
