.twj-destination-nav { max-width: 1180px; margin: 24px auto; }
/* All category colors including home-country are defined in the shared palette. */
.twj-destination-nav h2 { margin: 0 0 8px; font-size: clamp(1.5rem, 3vw, 2rem); }
.twj-destination-nav-intro, .twj-destination-nav-note { color: var(--twj-visa-muted); line-height: 1.6; }
.twj-destination-nav-regions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 12px 0 20px; }
.twj-destination-nav-regions a { display: inline-flex; min-height: 44px; align-items: center; padding: 4px 14px; border: 1px solid var(--theme-color, #a34a14); border-radius: 22px; color: #8a3b0b; background: #fff; text-decoration: none; }
.twj-destination-nav-regions a:hover, .twj-destination-nav-regions a[aria-current="page"] { color: #67300e; background: color-mix(in srgb, var(--theme-color, #f28b39) 18%, white); border-color: var(--theme-color, #a34a14); }
.twj-destination-nav-regions a[aria-current="page"] { font-weight: 700; box-shadow: inset 0 -2px 0 var(--theme-color, #a34a14); }
.twj-destination-nav-regions a:focus-visible { outline: 2px solid var(--theme-color, #a34a14); outline-offset: 3px; }
.twj-destination-nav-toolbar { margin: 16px 0 8px; }
.twj-destination-nav-issuer-note { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.twj-destination-nav-issuer-note[hidden] { display: none; }
.twj-destination-nav-credentials { margin: 4px 0 14px; }
.twj-destination-nav-credentials[hidden] { display: none; }
.twj-destination-nav-credentials legend { margin-bottom: 8px; }
.twj-destination-nav-legend { margin: 15px 0 9px; }
.twj-destination-nav-legend-item { cursor: default; }
.twj-destination-nav-legend-item[hidden] { display: none; }
.twj-destination-nav-legend-item:hover { background: #fff; color: #475569; border-color: rgba(148, 163, 184, 0.26); }
.twj-destination-nav-note { margin: 12px auto 6px; font-size: 13px; text-align: center; }
.twj-destination-nav-note a { text-decoration: underline; text-underline-offset: 2px; }
.twj-destination-nav-map-shell { position: relative; min-width: 0; }
.twj-destination-nav-map { width: 100%; height: min(64vw, 610px); min-height: 330px; border: 1px solid var(--twj-visa-border); border-radius: 12px; background: #f8fafc; }
.twj-destination-nav-map[hidden] { display: none; }
.twj-destination-nav-map-controls[hidden] { display: none; }
.twj-destination-nav-map-shell:fullscreen,
.twj-destination-nav-map-shell:-webkit-full-screen,
.twj-destination-nav-map-shell.is-viewport-fullscreen { width: 100%; height: 100%; box-sizing: border-box; background: #f8fafc; }
.twj-destination-nav-map-shell.is-viewport-fullscreen { position: fixed; inset: 0; z-index: 999997; width: 100vw; height: 100vh; height: 100dvh; }
.twj-destination-nav-map-shell:fullscreen .twj-destination-nav-map,
.twj-destination-nav-map-shell:-webkit-full-screen .twj-destination-nav-map,
.twj-destination-nav-map-shell.is-viewport-fullscreen .twj-destination-nav-map { box-sizing: border-box; width: 100%; height: 100%; min-height: 0; border: 0; border-radius: 0; }
.twj-destination-nav-map:focus-visible { outline: 2px solid #245b8f; outline-offset: 3px; }
.twj-destination-nav-map-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.twj-destination-nav-map-places { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.twj-destination-nav-tooltip { position: absolute; z-index: 24; min-width: 132px; max-width: min(220px, calc(100% - 16px)); box-sizing: border-box; padding: 10px 12px; border: 1px solid rgba(148, 163, 184, .24); border-radius: 10px; background: rgba(255, 255, 255, .97); box-shadow: 0 10px 28px rgba(15, 23, 42, .18); color: var(--twj-visa-text); pointer-events: none; }
.twj-destination-nav-tooltip[hidden] { display: none; }
.twj-destination-nav-tooltip-title { margin: 0 0 6px; font-size: 14px; font-weight: 600; line-height: 1.35; }
.twj-destination-nav-tooltip-status { display: flex; align-items: center; gap: 7px; color: #475569; font-size: 12px; }
.twj-destination-nav-tooltip-dot { width: 9px; height: 9px; flex: 0 0 9px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .06); }
.twj-destination-nav-tabs { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 10px 0 16px; border-bottom: 1px solid var(--twj-visa-border); }
.twj-destination-nav-tabs[hidden], .twj-destination-nav-continent[hidden] { display: none; }
.twj-destination-nav-tabs button { min-height: 44px; padding: 8px 4px; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--twj-visa-muted); font: inherit; font-size: 14px; cursor: pointer; }
.twj-destination-nav-tabs button[aria-selected="true"] { border-bottom-color: #245b8f; color: #173046; font-weight: 600; }
.twj-destination-nav-tabs button:focus-visible { outline: 2px solid #245b8f; outline-offset: 2px; }
.twj-destination-nav-continent { margin: 0 0 18px; }
.twj-destination-nav-continent h3 { margin: 0 0 8px; }
.twj-destination-nav-tabs:not([hidden]) ~ .twj-destination-nav-continent h3 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.twj-destination-nav-list { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.twj-destination-nav-list li { min-width: 0; }
.twj-destination-nav-chip { box-sizing: border-box; min-height: 44px; color: #253041; text-decoration: none; }
.twj-destination-nav-chip .twj-visa-v2-country-chip-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.twj-destination-nav-list a:focus-visible, .twj-destination-nav-credentials input:focus-visible { outline: 2px solid #245b8f; outline-offset: 3px; }
@media (max-width: 600px) {
  .twj-destination-nav-tooltip:not(.is-keyboard) { display: none !important; }
  .twj-destination-nav-tooltip.is-keyboard { z-index: 1000000; }
  .twj-destination-nav { margin: 18px 0; }
  .twj-destination-nav-map { height: 410px; min-height: 0; }
  .twj-destination-nav-world .twj-destination-nav-map { height: 320px; }
  .twj-destination-nav-map-shell:fullscreen .twj-map-controls,
  .twj-destination-nav-map-shell:-webkit-full-screen .twj-map-controls,
  .twj-destination-nav-map-shell.is-viewport-fullscreen .twj-map-controls { position: absolute; top: calc(10px + env(safe-area-inset-top)); right: calc(10px + env(safe-area-inset-right)); width: auto; grid-template-columns: repeat(4, 42px); gap: 6px; padding: 0; }
  .twj-destination-nav .twj-destination-nav-map-shell:fullscreen .twj-destination-nav-map,
  .twj-destination-nav .twj-destination-nav-map-shell:-webkit-full-screen .twj-destination-nav-map,
  .twj-destination-nav .twj-destination-nav-map-shell.is-viewport-fullscreen .twj-destination-nav-map { height: 100%; }
  .twj-destination-nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .twj-destination-nav-tabs button { flex: none; }
}
/* The seven destination Pages also show MapShare cards below the map. Keep their
   byline readable on narrow phones without changing MapShare elsewhere. */
@media (max-width: 360px) {
  body:is(.page-id-943, .page-id-1005, .page-id-946, .page-id-980, .page-id-995, .page-id-997, .page-id-999) .msh-card.msh-modern-style { padding: 12px; }
  body:is(.page-id-943, .page-id-1005, .page-id-946, .page-id-980, .page-id-995, .page-id-997, .page-id-999) .msh-card-author-info { gap: 8px; }
  body:is(.page-id-943, .page-id-1005, .page-id-946, .page-id-980, .page-id-995, .page-id-997, .page-id-999) .msh-card-avatar img { width: 32px; height: 32px; }
  body:is(.page-id-943, .page-id-1005, .page-id-946, .page-id-980, .page-id-995, .page-id-997, .page-id-999) .msh-author-name-row { flex-wrap: nowrap; gap: 5px; }
  body:is(.page-id-943, .page-id-1005, .page-id-946, .page-id-980, .page-id-995, .page-id-997, .page-id-999) .msh-card-meta { gap: 5px; white-space: nowrap; }
}
