/* Nalu Route. Colours follow the Blocksy palette (Color 1-8) with the svnalu.eu values as fallback.
   Text uses the theme font (font-family: inherit), so it switches along with the site. */
.nalu-route{
  --nr-c1:var(--theme-palette-color-1,#62B6CB);
  --nr-c2:var(--theme-palette-color-2,#26708A);
  --nr-c3:var(--theme-palette-color-3,#35566D);
  --nr-c4:var(--theme-palette-color-4,#1B4965);
  --nr-c5:var(--theme-palette-color-5,#D3E5EC);
  --nr-c6:var(--theme-palette-color-6,#E8F4F8);
  --nr-c7:var(--theme-palette-color-7,#F5FAFC);
  --nr-c8:var(--theme-palette-color-8,#FFFFFF);
  font-family:inherit;color:var(--nr-c3);line-height:1.6;
}
.nalu-route *,.nalu-route *::before,.nalu-route *::after{box-sizing:border-box}
.nalu-route h3{color:var(--nr-c4);margin:0;font-family:inherit;font-size:clamp(20px,2.2vw,24px);line-height:1.25;font-weight:700}
.nalu-route a{text-decoration:none}
.nalu-route :focus-visible{outline:3px solid var(--nr-c1);outline-offset:2px;border-radius:4px}
.nr-label{font-family:inherit;font-weight:700;font-size:12px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--nr-c2)}

/* buttons */
.nalu-route a.nr-btn{display:inline-block;background:var(--nr-c4);color:var(--nr-c8);font-family:inherit;font-weight:700;font-size:15px;line-height:1.2;padding:10px 16px;border-radius:8px;border:2px solid var(--nr-c4);cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.nalu-route a.nr-btn:hover{background:var(--nr-c2);border-color:var(--nr-c2);color:var(--nr-c8)}
.nalu-route a.nr-btn.nr-outline{background:transparent;color:var(--nr-c4)}
.nalu-route a.nr-btn.nr-outline:hover{background:var(--nr-c4);border-color:var(--nr-c4);color:var(--nr-c8)}

/* stats */
.nr-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:0 0 28px;padding:0;list-style:none}
.nr-stats li{background:var(--nr-c7);border:1px solid var(--nr-c5);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:2px;min-width:0;margin:0}
.nr-stats b{font-size:30px;line-height:1.1;font-weight:800;color:var(--nr-c4);font-variant-numeric:tabular-nums}
.nr-stats span{font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--nr-c2)}
@media (max-width:860px){.nr-stats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.nr-stats{grid-template-columns:repeat(2,1fr)}.nr-stats b{font-size:26px}.nr-stats li:last-child{grid-column:1/-1}}

/* legend + map */
.nr-legend{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.nr-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--nr-c5);background:var(--nr-c6);color:var(--nr-c4);border-radius:999px;padding:8px 14px;font-family:inherit;font-weight:600;font-size:14px;line-height:1;cursor:pointer;min-height:36px}
.nr-chip i{width:11px;height:11px;border-radius:50%;background:var(--nr-c);display:inline-block}
.nr-chip:hover{border-color:var(--nr-c2);background:var(--nr-c6);color:var(--nr-c4)}
.nr-chip[aria-pressed="true"]{background:var(--nr-c4);color:var(--nr-c8);border-color:var(--nr-c4)}
.nr-chip.nr-orca i{background:var(--nr-c1);box-shadow:0 0 0 3px rgba(98,182,203,.35)}
.nr-map{height:min(70vh,640px);min-height:380px;border-radius:16px;border:1px solid var(--nr-c5);background:var(--nr-c5);overflow:hidden;position:relative;z-index:1}
.nr-map.nr-map-sm{height:min(55vh,480px);min-height:320px}
.nr-noscript{margin:0;padding:20px}
.nr-maphint{font-size:14px;margin:10px 2px 0;color:var(--nr-c3)}
.nr-hint{display:none;font-size:13px;margin:8px 2px 0;color:var(--nr-c3)}
@media (hover:none){.nr-hint{display:block}}
.nr-map.leaflet-container{font-family:inherit;background:var(--nr-c5)}
.nr-map path.land{fill:var(--nr-c7);stroke:#9DBAC8;stroke-width:.8}
.nr-map path.casing{stroke:#fff;stroke-opacity:.95;fill:none;stroke-linecap:round;stroke-linejoin:round}
.nr-map path.orca{stroke:var(--nr-c1);stroke-opacity:.38;fill:none;stroke-linecap:round;stroke-linejoin:round}
.nr-map path.orca-dash{stroke:var(--nr-c1);stroke-opacity:.5;fill:none;stroke-linecap:round}
.nr-map .dim{opacity:.18}
.nr-mk{width:26px;height:26px;border-radius:50%;background:var(--nr-c);color:#fff;border:2px solid #fff;display:grid;place-items:center;font-family:inherit;font-weight:700;font-size:11px;line-height:1;box-shadow:0 1px 4px rgba(27,73,101,.45);transition:transform .15s}
.nr-mk.nr-end{border-radius:7px}
.nr-mk:hover,.nr-mk.on{transform:scale(1.3);z-index:900}
.leaflet-tooltip.nr-orca-label{background:transparent;border:0;box-shadow:none;color:var(--nr-c4,#1B4965);font-family:inherit;font-weight:800;font-size:12px;line-height:1;letter-spacing:.16em;text-transform:uppercase}
.leaflet-tooltip.nr-orca-label:before{display:none}
.nr-map .leaflet-popup-content-wrapper{background:var(--nr-c8);color:var(--nr-c3);border-radius:16px;border:1px solid var(--nr-c5);box-shadow:0 8px 28px rgba(27,73,101,.22);padding:0;overflow:hidden}
.nr-map .leaflet-popup-tip{background:var(--nr-c8)}
.nr-map .leaflet-popup-content{margin:0;min-width:230px;font-family:inherit;font-weight:400;font-size:15px;line-height:1.5;font-family:inherit}
.nr-pop-body{padding:16px 18px}
.nr-pop-img{display:block;width:100%;height:140px;object-fit:cover;background:var(--nr-c6)}
.nr-pop .nr-label{font-size:11px;display:block;margin-bottom:6px}
.nr-pop h3{font-size:20px;line-height:1.25;margin:0 0 2px}
.nr-pop .nr-pl{margin:0 0 10px;font-size:14px}
.nr-pop dl{display:grid;grid-template-columns:auto 1fr;gap:3px 14px;margin:0 0 14px;font-size:14px}
.nr-pop dt{color:var(--nr-c2);font-weight:600}.nr-pop dd{margin:0}
.nr-acts{display:flex;flex-wrap:wrap;gap:8px}
.nr-map .leaflet-popup-close-button{color:var(--nr-c4);text-shadow:0 0 4px #fff}
.nr-map .leaflet-control-attribution{font-size:11px;background:rgba(255,255,255,.85);color:var(--nr-c3)}
.nr-map .leaflet-control-attribution a{color:var(--nr-c2)}
.nr-map .leaflet-bar a{color:var(--nr-c4);border-color:var(--nr-c5)}

/* chapters */
.nr-chapters{list-style:none;margin:32px 0 0;padding:0;display:flex;flex-direction:column;gap:16px}
.nr-chapters:first-child{margin-top:0}
.nr-chapter{margin:0;padding:0}
.nr-chapter details{background:var(--nr-c8);border:1px solid var(--nr-c5);border-radius:16px;border-left:6px solid var(--nr-c)}
.nr-chapter summary{list-style:none;cursor:pointer;padding:20px 24px;display:grid;grid-template-columns:1fr auto;gap:6px 16px;align-items:center}
.nr-chapter summary::-webkit-details-marker{display:none}
.nr-chapter summary::marker{content:""}
.nr-chapter summary .nr-label,.nr-chapter summary h3{grid-column:1}
.nr-chmeta{grid-column:1;font-size:15px;display:flex;flex-wrap:wrap;gap:2px 18px}
.nr-chmeta b{color:var(--nr-c4);font-weight:700}
.nr-chev{grid-column:2;grid-row:1/4;width:36px;height:36px;border-radius:50%;border:1px solid var(--nr-c5);display:grid;place-items:center;color:var(--nr-c2);transition:transform .2s;background:var(--nr-c7)}
details[open] > summary .nr-chev{transform:rotate(180deg)}
.nalu-route a.nr-read{grid-column:1;justify-self:start;margin-top:8px}

/* stop list */
.nr-stoplist{list-style:none;margin:0;padding:6px 24px 18px;border-top:1px solid var(--nr-c5);display:flex;flex-direction:column}
.nr-stoplist.nr-flat{border:1px solid var(--nr-c5);border-radius:16px;padding:6px 18px 12px;margin-top:20px}
.nr-stoplist li{border-bottom:1px solid var(--nr-c6);margin:0;padding:0}
.nr-stoplist li:last-child{border-bottom:0}
.nr-stoplist li.nr-grp{border:0;padding:16px 0 2px}
.nr-row{display:grid;grid-template-columns:34px 1fr auto;gap:2px 16px;align-items:center;padding:12px 8px;cursor:pointer;border-radius:10px}
.nr-row:hover{background:var(--nr-c7)}
.nr-badge{grid-row:1/3;width:34px;height:34px;border-radius:50%;background:var(--nr-c);color:#fff;font-family:inherit;font-weight:700;font-size:13px;line-height:1;display:grid;place-items:center}
.nr-sname{font-weight:700;color:var(--nr-c4);min-width:0;line-height:1.35}
.nr-sname small{display:block;font-weight:400;font-size:15px;color:var(--nr-c3)}
.nr-sdate{font-size:15px;text-align:right;white-space:nowrap;line-height:1.4}
.nr-sline{grid-column:2/4;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px}
.nr-bar{flex:1 1 90px;max-width:240px;height:6px;border-radius:3px;background:var(--nr-c6);position:relative;overflow:hidden}
.nr-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--nr-c);border-radius:3px}
.nr-nm{min-width:54px;font-weight:600;color:var(--nr-c4)}
.nalu-route a.nr-navily,.nalu-route a.nr-storylink{font-weight:600;color:var(--nr-c2)}
.nalu-route a.nr-navily:hover,.nalu-route a.nr-storylink:hover{color:var(--nr-c4);text-decoration:underline}
.nr-thumb{grid-column:2/4;width:72px;height:72px;border-radius:10px;object-fit:cover;margin-top:6px;background:var(--nr-c6)}

/* facts */
.nr-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:40px}
.nr-card{background:var(--nr-c7);border:1px solid var(--nr-c5);border-radius:16px;padding:24px 26px}
.nr-card h3{font-size:22px;margin-bottom:8px}
.nr-facts{margin:0;padding:0;list-style:none}
.nr-facts li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--nr-c5);font-size:16px;margin:0}
.nr-facts li:last-child{border-bottom:0}
.nr-facts b{color:var(--nr-c4);font-variant-numeric:tabular-nums;white-space:nowrap}
.nr-note{font-size:15px;margin:22px 0 0;max-width:70ch}

@media (max-width:640px){
  .nr-row{grid-template-columns:34px 1fr}
  .nr-sdate{grid-column:2;text-align:left}
  .nr-sline,.nr-thumb{grid-column:2}
  .nr-chapter summary{padding:16px}
  .nr-stoplist{padding:4px 12px 14px}
  .nr-legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .nr-chip{flex:none}
  .nr-map{min-height:360px}
}
@media (prefers-reduced-motion:reduce){.nalu-route *{transition:none!important}}
.nr-flag{display:inline-block;width:20px;height:20px;border-radius:50%;vertical-align:-4px;margin-left:8px;box-shadow:0 0 0 1px rgba(27,73,101,.18);background:#fff}
.nr-chapter summary h3 .nr-flag{width:24px;height:24px;vertical-align:-5px}
.nr-chapter summary h3 .nr-flag + .nr-flag{margin-left:6px}
.nr-pop .nr-pl .nr-flag{width:18px;height:18px;margin:0 6px 0 0;vertical-align:-4px}
