/* Production integration: fixed CMS navigation, live filters and existing map exports. */
html { scroll-padding-top:85px; }
.header { padding-top:62px; }
.navigation-shell { position:fixed; inset:0 0 auto; z-index:2000; background:#f7ede7; border-bottom:1px solid #dfd8d1; }
.navigation { border:0; }
.site-nav { position:static; inset:auto; display:block; padding:0; min-height:0; border:0; backdrop-filter:none; background:transparent; }
.site-nav .nav-links { margin:0; gap:28px; }
.site-nav .nav-links a { color:var(--ink); padding:3px 0 0; font:700 14px 'DM Sans',sans-serif; border-bottom:3px solid transparent; }
.site-nav .nav-links a[aria-current] { border-bottom-color:var(--orange); }
.site-nav a:hover { color:var(--orange); }
.site-nav .mobile-nav { display:none; }
.home-page main { width:100%; max-width:none; margin:0; padding:0; }
.route-filter.home-finder { grid-template-columns:1.35fr repeat(3,minmax(0,1fr)) auto; margin:0; padding:23px 0; border:0; background:none; }
.home-finder .finder-title h1 { font-size:27px; margin:0; white-space:nowrap; }
.home-finder .filter-reset { display:none; }
.home-page .lead-story h3 { font-size:29px; overflow-wrap:break-word; }
.home-page .heading-row { align-items:start; flex-wrap:wrap; gap:9px; }
.home-page .all-link { margin-top:4px; }
.home-page .news-item h3 { font-size:18px; }
.home-page .route h3 { font-size:21px; }
.route.no-photo > a { display:block; }
.routes-catalog-list .home-feed-link { display:grid; grid-template-columns:140px minmax(0,1fr); gap:22px; }
.routes-catalog-list .home-feed-cover { width:140px; height:112px; }
.article-shell .blog-card a:only-child:not(:has(img)), .home-feed-item:not(:has(img)) .home-feed-link { grid-template-columns:1fr; }
.reading-layout:not(:has(.journey-summary)) { display:block; max-width:800px; margin:auto; }
.footer { padding-block:24px; gap:20px; flex-wrap:wrap; border-top:1px solid var(--line); }
.footer .footer-col { display:flex; gap:18px; flex-wrap:wrap; margin-left:auto; }
.footer h4 { display:none; }
.footer .footer-col a { margin:0; font-size:12px; }
.footer .back-top { margin-left:0; }
.home-page .photo-button { width:100%; }
.map-page .map-panel { isolation:isolate; }
.map-page table { display:block; width:100%; max-width:100%; overflow-x:auto; }
.map-page .route-title .breadcrumb { display:inline-block; margin-bottom:10px; }
.map-page .map-fallback:empty { display:none; }
.map-page .elevation-panel .table-scroll { margin:12px 18px; }
body div.lightbox { display:none; position:fixed; inset:0; width:100%; height:100%; max-height:none; padding:24px; border:0; border-radius:0; background:rgba(12,25,21,.92); z-index:5000; }
body div.lightbox.is-open { display:flex; justify-content:center; align-items:center; }
body .lightbox-inner { width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; }
body .lightbox-inner > img { max-width:calc(100vw - 125px); max-height:82dvh; width:auto; height:auto; object-fit:contain; border-radius:4px; }
body .lightbox-caption { font-size:14px; color:white; margin-top:12px; text-align:center; max-width:800px; }
body .lightbox-close { top:16px; right:20px; }
body .lightbox-prev { left:18px; top:48%; }
body .lightbox-next { right:18px; top:48%; }
@media (max-width:1100px) {
  .route-filter.home-finder { gap:12px; }
  .home-finder .finder-title h1 { font-size:23px; }
  .routes-catalog-list .home-feed-link { grid-template-columns:110px minmax(0,1fr); gap:17px; }
  .routes-catalog-list .home-feed-cover { width:110px; height:100px; }
}
@media (max-width:850px) {
  .route-filter.home-finder { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .home-finder .finder-title { grid-column:1/3; }
  .home-finder button { grid-column:3; grid-row:1; }
  .header .navigation { justify-content:flex-end; }
  .footer .footer-col { margin-left:0; }
}
@media (max-width:620px) {
  .header { padding-top:54px; }
  .header .navigation { min-height:54px; justify-content:flex-start; }
  .site-nav { width:100%; }
  .site-nav .desktop-nav-links { display:none; }
  .site-nav .mobile-nav { display:block; }
  .site-nav .mobile-nav summary { color:var(--ink); font-family:'DM Sans',sans-serif; }
  .site-nav .mobile-nav .nav-links { height:auto; gap:0; align-items:stretch; margin:0; padding:0 0 12px; }
  .site-nav .mobile-nav .nav-links a { min-height:44px; padding:12px; border:0; }
  .site-nav .mobile-nav .nav-links a[aria-current] { border:0; border-left:3px solid var(--green); background:var(--mint); }
  .route-filter.home-finder { grid-template-columns:1fr 1fr; }
  .home-finder .finder-title { grid-column:1/-1; }
  .home-finder > div:not(.finder-title) { grid-column:auto; }
  .home-finder button { grid-row:3; grid-column:2; }
  .home-finder .finder-title h1 { font-size:26px; }
  .home-page .photo-button:last-child { display:block; }
  body .lightbox-inner > img { max-width:calc(100vw - 40px); max-height:75dvh; }
  body .lightbox-prev,body .lightbox-next { top:auto; bottom:10px; }
}
