/* Each navigation destination is a focused page while the shared app modules
   keep the same local itinerary, filters and settings across routes. */
body[data-page] main > * { display: none !important; }

body[data-page="osaka-courses"] main > .hero { display: grid !important; }
body[data-page="osaka-courses"] main > .process { display: flex !important; }
body[data-page="osaka-courses"] main > #courses { display: block !important; }
body[data-page="osaka-planner"] main > #planner { display: block !important; }
body[data-page="osaka-restaurants"] main > #restaurants { display: block !important; }
body[data-page="osaka-stays"] main > #stays { display: block !important; }
body[data-page="osaka-booking"] main > #tickets,
body[data-page="osaka-booking"] main > #travel-shop { display: block !important; }

body[data-page="kyushu-courses"] main > .nk-hero { display: grid !important; }
body[data-page="kyushu-courses"] main > .nk-region-note { display: flex !important; }
body[data-page="kyushu-courses"] main > #courses { display: block !important; }
body[data-page="kyushu-planner"] main > #planner { display: block !important; }
body[data-page="kyushu-sights"] main > #sights { display: block !important; }
body[data-page="kyushu-restaurants"] main > #restaurants { display: block !important; }
body[data-page="kyushu-shop"] main > #passes { display: block !important; }
body[data-page="kyushu-stays"] main > #stays { display: block !important; }

body[data-page]:not([data-page$="planner"]) .mobile-result-link { display: none !important; }

@media (max-width: 780px) {
  .nav.wrap { gap: 8px; }
  .nav nav { flex: 1 1 0; min-width: 0; overflow-x: auto; scrollbar-width: none; white-space: nowrap; gap: 12px; }
  .nav nav::-webkit-scrollbar { display: none; }
  body[data-page="osaka-courses"] main > .hero { display: grid !important; }
  body[data-page="kyushu-courses"] main > .nk-hero { display: flex !important; }
  body[data-page="kyushu-courses"] main > .nk-region-note { display: flex !important; }
}
