/* Walk mode (T6, Wassail Walk): full-screen, one stop at a time, a real map. Route pages only.
   Newspaper meets lanterns: black bar, night-blue progress strip, a white Times panel with a gold rule.
   Every part has a fixed size so opening or paging never shifts the layout. */
html.rt-walk-on,html.rt-walk-on body.rt-theme-lanterns-river{overflow:hidden}
body.rt-theme-lanterns-river .rt-walk{position:fixed;inset:0;margin:0!important;max-width:none!important;z-index:100001;display:flex;flex-direction:column;background:var(--wl-night);color:#000;font-family:"Times New Roman",Times,serif}
body.rt-theme-lanterns-river .rt-walk[hidden]{display:none}
body.rt-theme-lanterns-river.admin-bar .rt-walk{top:32px}
@media (max-width:782px){body.rt-theme-lanterns-river.admin-bar .rt-walk{top:46px}}
/* Phones: WordPress's admin bar is not fixed under 600px and scrolls away, so start at the top. */
@media (max-width:600px){body.rt-theme-lanterns-river.admin-bar .rt-walk{top:0}}
body.rt-theme-lanterns-river .rt-walk [hidden]{display:none!important}
body.rt-theme-lanterns-river .rt-walk__bar{flex:none;display:flex;align-items:center;gap:12px;background:#000;padding:8px 16px;min-height:48px;box-sizing:border-box}
body.rt-theme-lanterns-river .rt-walk__t{flex:1;min-width:0;color:var(--wl-gold);font:700 12px Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rt-theme-lanterns-river .rt-walk__mode{color:#9cc3e6;font:700 12px Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
body.rt-theme-lanterns-river .rt-walk__x{min-height:40px;min-width:64px;background:#fff;color:#000;border:0;border-radius:2px;padding:6px 14px;font:700 14px Arial,Helvetica,sans-serif;cursor:pointer}
body.rt-theme-lanterns-river .rt-walk__prog{flex:none;height:46px;box-sizing:border-box;padding:7px 16px 6px;background:linear-gradient(var(--wl-night),var(--wl-deep));display:flex;flex-direction:column;justify-content:space-between}
body.rt-theme-lanterns-river .rt-walk__pt{margin:0;color:#fff;font:700 14px/1.2 Arial,Helvetica,sans-serif;letter-spacing:.02em}
body.rt-theme-lanterns-river .rt-walk__dots{display:flex;gap:4px;height:6px}
body.rt-theme-lanterns-river .rt-walk__dot{flex:1;max-width:36px;height:6px;border-radius:3px;background:rgba(156,195,230,.35)}
body.rt-theme-lanterns-river .rt-walk__dot.is-lit{background:var(--wl-gold)}
body.rt-theme-lanterns-river .rt-walk__dot.is-cur{box-shadow:0 0 0 2px #fff}
body.rt-theme-lanterns-river .rt-walk__main{flex:1;min-height:0;display:flex;flex-direction:column}
body.rt-theme-lanterns-river .rt-walk__mapbox{position:relative;flex:1 1 auto;min-height:200px;background:#dfe9f2}
body.rt-theme-lanterns-river .rt-walk__map{position:absolute;inset:0}
/* The map's one message (loading, a location word): a white slip over the tiles so it reads anywhere. */
body.rt-theme-lanterns-river .rt-walk__msg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;width:max-content;max-width:calc(100% - 24px);margin:0;padding:10px 14px;background:rgba(255,255,255,.94);border:1px solid #000;border-radius:2px;box-shadow:0 1px 4px rgba(0,0,0,.3);text-align:center;font:700 15px/1.3 Arial,Helvetica,sans-serif;color:#000;pointer-events:none}
body.rt-theme-lanterns-river .rt-walk .maplibregl-ctrl-top-right{top:6px}
body.rt-theme-lanterns-river .rt-walk .maplibregl-ctrl-group button{width:44px;height:44px}

/* Pins: the stop's lantern. Dim until lit; the current one is bigger with a ring. */
body.rt-theme-lanterns-river .rt-walk__pin{display:block;width:30px;height:42px;padding:0;margin:0;border:0;background:none;cursor:pointer;border-radius:50%;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 1px #fff)}
body.rt-theme-lanterns-river .rt-walk__pin .rt-lan{width:100%;height:100%}
body.rt-theme-lanterns-river .rt-walk__pin.is-cur{width:44px;height:62px;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 2px 5px rgba(0,0,0,.45))}
body.rt-theme-lanterns-river .rt-walk__pin.is-cur::after{content:"";position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px 0 0 -31px;border:3px solid #000;border-radius:50%;box-shadow:0 0 0 3px var(--wl-gold);pointer-events:none}
body.rt-theme-lanterns-river .rt-walk__pin:focus-visible{outline:3px solid #000;outline-offset:2px}
body.rt-theme-lanterns-river .rt-walk__pin.is-lit .rt-lan__glow{opacity:.95}
body.rt-theme-lanterns-river .rt-walk__pin:not(.is-lit){opacity:.62;filter:grayscale(.55) drop-shadow(0 0 2px #fff)}
body.rt-theme-lanterns-river .rt-walk__pin.is-cur:not(.is-lit){opacity:1;filter:drop-shadow(0 0 3px #fff) drop-shadow(0 2px 5px rgba(0,0,0,.45))}

/* The panel: one stop. */
body.rt-theme-lanterns-river .rt-walk__panel{flex:none;background:#fff;border-top:3px solid var(--wl-gold);padding:12px 16px max(14px,env(safe-area-inset-bottom,0px));box-sizing:border-box;touch-action:pan-y}
body.rt-theme-lanterns-river .rt-walk__hd{display:flex;gap:12px;align-items:flex-start}
body.rt-theme-lanterns-river .rt-walk__lan{flex:none;width:34px;height:48px}
body.rt-theme-lanterns-river .rt-walk__lan .rt-lan{width:34px;height:48px}
body.rt-theme-lanterns-river .rt-walk__panel.is-open .rt-walk__lan .rt-lan__glow{opacity:.2}
body.rt-theme-lanterns-river .rt-walk__panel.is-open .rt-walk__lan .rt-lan__glass{fill:#f0d98a;opacity:.9}
body.rt-theme-lanterns-river .rt-walk__panel.is-open .rt-walk__lan .rt-lan__core{opacity:.45}
body.rt-theme-lanterns-river .rt-walk__panel.is-lit .rt-walk__lan .rt-lan__glow{opacity:.5}
body.rt-theme-lanterns-river .rt-walk__panel.is-lit .rt-walk__lan .rt-lan__glass{fill:#ffd76a;stroke:var(--wl-rim);opacity:1}
body.rt-theme-lanterns-river .rt-walk__panel.is-lit .rt-walk__lan .rt-lan__core{opacity:.95}
body.rt-theme-lanterns-river .rt-walk__id{flex:1;min-width:0}
body.rt-theme-lanterns-river .rt-walk__kick{margin:0;height:16px;display:flex;justify-content:space-between;gap:8px;font:700 11px/16px Arial,Helvetica,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--wl-river);white-space:nowrap}
body.rt-theme-lanterns-river .rt-walk__now{color:#a8741a;visibility:hidden}
body.rt-theme-lanterns-river .rt-walk__now.is-on{visibility:inherit}
body.rt-theme-lanterns-river .rt-walk__h{margin:2px 0 0;font:400 25px/28px "Times New Roman",Times,serif;color:#000;height:56px;overflow:hidden;display:flex;align-items:flex-end}
body.rt-theme-lanterns-river .rt-walk__a{margin:2px 0 0;height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:15px/20px "Times New Roman",Times,serif;color:#444}
body.rt-theme-lanterns-river .rt-walk__hrs{margin:6px 0 0;height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 14px/20px Arial,Helvetica,sans-serif;color:#000}
body.rt-theme-lanterns-river .rt-walk__line{margin:2px 0 0;height:40px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font:16px/20px "Times New Roman",Times,serif;color:#222}
body.rt-theme-lanterns-river .rt-walk__acts,body.rt-theme-lanterns-river .rt-walk__nav{display:flex;gap:8px;margin-top:10px}
body.rt-theme-lanterns-river .rt-walk__btn{flex:1;min-height:46px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;text-align:center;background:#000;color:#fff!important;border:1px solid #000;border-radius:2px;padding:8px 10px;font:700 15px/1.15 Arial,Helvetica,sans-serif;text-decoration:none;cursor:pointer}
body.rt-theme-lanterns-river .rt-walk__btn--here{background:var(--wl-gold);color:var(--wl-ink)!important;border-color:var(--wl-rim)}
body.rt-theme-lanterns-river .rt-walk__btn--here[aria-pressed="true"]{background:#fff}
body.rt-theme-lanterns-river .rt-walk__btn--o{background:#fff;color:#000!important}
body.rt-theme-lanterns-river .rt-walk__btn:disabled{background:#eee;color:#777!important;border-color:#ccc;cursor:default}
body.rt-theme-lanterns-river .rt-walk__alt{margin:6px 0 0;height:20px;text-align:center;font:13px/20px Arial,Helvetica,sans-serif}
body.rt-theme-lanterns-river .rt-walk__alt a{color:#1d4f8f}
body.rt-theme-lanterns-river .rt-walk__btn:focus-visible,body.rt-theme-lanterns-river .rt-walk__x:focus-visible,body.rt-theme-lanterns-river .rt-walk__alt a:focus-visible{outline:3px solid var(--wl-gold);outline-offset:2px}
body.rt-theme-lanterns-river .rt-walk__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
body.rt-theme-lanterns-river .rt-wcard__walk{min-height:44px;background:var(--wl-gold);color:var(--wl-ink);border:1px solid var(--wl-rim);border-radius:2px;padding:10px 16px;margin:0 8px 0 0;font:700 15px/1 Arial,Helvetica,sans-serif;cursor:pointer}
body.rt-theme-lanterns-river .rt-wcard__btns{display:flex!important;flex-wrap:wrap;gap:8px 0}

/* Desktop: the stop beside a large map. */
@media (min-width:800px){
 body.rt-theme-lanterns-river .rt-walk__main{flex-direction:row-reverse}
 body.rt-theme-lanterns-river .rt-walk__mapbox{flex:1 1 auto;min-height:0}
 body.rt-theme-lanterns-river .rt-walk__panel{width:400px;border-top:0;border-right:3px solid var(--wl-gold);overflow-y:auto;padding-top:18px}
}
/* Short phones: tighten the panel so the map keeps its share. */
@media (max-width:799px) and (max-height:700px){
 body.rt-theme-lanterns-river .rt-walk__line{display:none}
}
@media (prefers-reduced-motion:reduce){body.rt-theme-lanterns-river .rt-walk *{transition:none!important}}

/* Overview ("Whole route") and stop views share one grid cell: the panel never changes size. */
body.rt-theme-lanterns-river .rt-walk__panel{display:grid}
body.rt-theme-lanterns-river .rt-walk__v{grid-area:1/1;min-width:0;min-height:0}
body.rt-theme-lanterns-river .rt-walk__v--route{display:flex;flex-direction:column}
body.rt-theme-lanterns-river .rt-walk__rh{margin:0;font:400 25px/28px "Times New Roman",Times,serif;color:#000}
body.rt-theme-lanterns-river .rt-walk__rh:focus{outline:none}
body.rt-theme-lanterns-river .rt-walk__rs{margin:2px 0 8px;font:14px/18px Arial,Helvetica,sans-serif;color:#444}
body.rt-theme-lanterns-river .rt-walk__list{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;list-style:none;margin:0;padding:0;border-top:1px solid #000;-webkit-overflow-scrolling:touch}
body.rt-theme-lanterns-river .rt-walk__li{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;box-sizing:border-box;background:#fff;color:#000;border:0;border-bottom:1px solid #ccc;padding:6px 2px;text-align:left;font:18px/1.2 "Times New Roman",Times,serif;cursor:pointer}
body.rt-theme-lanterns-river .rt-walk__ln{flex:none;width:28px;height:28px;border-radius:50%;box-sizing:border-box;border:1px solid #8a7740;background:#e8dcb4;color:var(--wl-ink);font:700 13px/26px Arial,Helvetica,sans-serif;text-align:center;opacity:.8}
body.rt-theme-lanterns-river .rt-walk__li.is-lit .rt-walk__ln{background:var(--wl-gold);border:2px solid var(--wl-rim);opacity:1;box-shadow:0 0 0 3px rgba(255,215,106,.5);line-height:24px}
body.rt-theme-lanterns-river .rt-walk__lt{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.rt-theme-lanterns-river .rt-walk__ls{flex:none;font:700 12px Arial,Helvetica,sans-serif;color:#a8741a;letter-spacing:.06em;text-transform:uppercase}
body.rt-theme-lanterns-river .rt-walk__li:focus-visible{outline:3px solid var(--wl-gold);outline-offset:-3px}
body.rt-theme-lanterns-river .rt-walk__btn--start{flex:none;width:100%;margin-top:10px;min-height:52px;font-size:17px;background:var(--wl-gold);color:var(--wl-ink)!important;border-color:var(--wl-rim)}
body.rt-theme-lanterns-river .rt-walk__alt{display:flex;justify-content:space-between;align-items:center;gap:8px}
body.rt-theme-lanterns-river .rt-walk__whole{flex:none;min-height:36px;background:none;border:0;color:#1d4f8f;text-decoration:underline;font:700 13px Arial,Helvetica,sans-serif;cursor:pointer;padding:0 4px}
body.rt-theme-lanterns-river .rt-walk__whole:focus-visible{outline:3px solid var(--wl-gold);outline-offset:2px}
@media (max-width:520px){body.rt-theme-lanterns-river .rt-walk__mode{display:none}}
