/* The route section (blocks/route-map): a quiet map on top, the walk's card under it. */
.rt .sec-sub{max-width:640px}

/* Two routes (e.g. summer and winter): tabs above the map */
.rt-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:640px;margin:6px 0 18px}
.rt-switch button{display:flex;flex-direction:column;gap:4px;align-items:flex-start;min-height:44px;padding:13px 18px;border:1px solid var(--line,#E1E8E5);border-radius:16px;background:var(--card,#fff);color:var(--ink,#16191C);text-align:left;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.rt-switch button b{font:500 17px/1.2 var(--fd,system-ui,sans-serif)}
.rt-switch button small{color:var(--mute,#646B72);font:400 13px/1.3 var(--fb,system-ui,sans-serif)}
.rt-switch button:hover{border-color:var(--acc,#0D7377)}
.rt-switch button.on{background:var(--ink,#16191C);border-color:var(--ink,#16191C);color:#fff}
.rt-switch button.on small{color:rgba(255,255,255,.72)}
.rt-switch button:focus-visible{outline:2px solid var(--acc,#0D7377);outline-offset:2px}
.rt-route[hidden]{display:none}

/* The map */
.rt-map{position:relative;z-index:0;height:min(62svh,560px);min-height:340px;border-radius:var(--r,24px);overflow:hidden;background:var(--soft,#ECF1EF);isolation:isolate}
.rt-map.full{position:fixed;inset:12px;z-index:100001;height:auto;min-height:0;box-shadow:0 30px 80px -20px rgba(0,0,0,.55)}
html.rt-full{overflow:hidden}
.rt-map .leaflet-tile-pane{filter:saturate(.45) contrast(.95) brightness(1.04)}
.rt-map.topo .leaflet-tile-pane{filter:saturate(.75) contrast(.98)}
.rt-map.leaflet-container{font-family:var(--fb,system-ui,sans-serif)}
.rt-map .leaflet-control-zoom{border:0;border-radius:14px;overflow:hidden;box-shadow:0 8px 24px -10px rgba(0,0,0,.35)}
.rt-map .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;color:var(--ink,#16191C)}
.rt-map .leaflet-control-attribution{font-size:10px;background:rgba(255,255,255,.75)}
.rt-tools{position:absolute;z-index:1000;top:14px;right:14px;display:flex;gap:8px}
.rt-seg{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:rgba(255,255,255,.95);box-shadow:0 8px 24px -10px rgba(0,0,0,.35)}
.rt-seg button{border:0;background:none;padding:8px 14px;border-radius:999px;font:500 13px/1 var(--fb,system-ui,sans-serif);color:var(--mute,#646B72);cursor:pointer}
.rt-seg button.on{background:var(--ink,#16191C);color:#fff}
.rt-seg button:focus-visible,.rt-round:focus-visible,.rt-play:focus-visible,.rt-parts button:focus-visible,.rt-btn:focus-visible{outline:2px solid var(--acc,#0D7377);outline-offset:2px}
.rt-round{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 8px 24px -10px rgba(0,0,0,.35);cursor:pointer;color:var(--ink,#16191C)}
.rt-round svg{width:18px;height:18px}
.rt-pin{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink,#16191C);color:#fff;font:600 12px/1 var(--fb,system-ui,sans-serif);border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.rt-pin.b{background:var(--acc,#0D7377)}
.rt-hi{position:relative;display:block;width:26px;height:24px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35))}
.rt-hi::before,.rt-hi::after{content:"";position:absolute;clip-path:polygon(50% 0,100% 100%,0 100%)}
.rt-hi::before{inset:0;background:#fff}
.rt-hi::after{inset:6px 5px 3px;background:var(--ink,#16191C)}
.rt-km{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--ink,#16191C);font:600 10px/1 var(--fb,system-ui,sans-serif);box-shadow:0 2px 6px rgba(0,0,0,.3)}
.rt-here{display:block;width:20px;height:20px;border-radius:50%;background:var(--ink,#16191C);border:4px solid #fff;box-shadow:0 0 0 6px rgba(13,115,119,.25),0 4px 10px rgba(0,0,0,.35)}
.leaflet-tooltip.rt-lab{border:0;border-radius:10px;padding:5px 9px;background:var(--ink,#16191C);color:#fff;font:600 12.5px/1.2 var(--fb,system-ui,sans-serif);box-shadow:none}
.leaflet-tooltip-top.rt-lab::before{border-top-color:var(--ink,#16191C)}
.rt-hint{position:absolute;inset:0;z-index:900;display:grid;place-items:center;padding:20px;background:rgba(16,30,36,.42);color:#fff;font:500 17px/1.3 var(--fb,system-ui,sans-serif);text-align:center;opacity:0;transition:opacity .25s;pointer-events:none}
.rt-hint.on{opacity:1}

/* The card under it */
.rt-dash{margin-top:16px;background:var(--card,#fff);border:1px solid var(--line,#E1E8E5);border-radius:var(--r,24px);padding:clamp(18px,2.4vw,30px)}
.rt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));border-bottom:1px solid var(--line,#E1E8E5);padding-bottom:22px}
.rt-stat{padding:0 18px;border-left:1px solid var(--line,#E1E8E5)}
.rt-stat:first-child{border-left:0;padding-left:0}
.rt-stat small{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute,#646B72)}
.rt-stat small svg{width:15px;height:15px;color:var(--acc,#0D7377);flex:none}
.rt-stat b{display:block;margin-top:6px;font:500 clamp(24px,2.4vw,34px)/1.05 var(--fd,system-ui,sans-serif);letter-spacing:-.01em;white-space:nowrap}
.rt-stat b .u{font:500 .55em var(--fb,system-ui,sans-serif);color:var(--mute,#646B72);margin-left:3px}
.rt-stat{min-width:0}
.rt-stat .rt-long{display:block;font-size:.62em;line-height:1.2;white-space:normal}
.rt-stat .rt-note{display:block;margin-top:5px;font:400 13px/1.35 var(--fb,system-ui,sans-serif);letter-spacing:0;color:var(--mute,#646B72);white-space:normal}
.rt-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 6px}
.rt-head h3{margin:0 auto 0 0;font:500 22px/1.2 var(--fd,system-ui,sans-serif)}
.rt-seg.soft{box-shadow:none;background:var(--soft,#ECF1EF)}
.rt-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:10px 18px;background:var(--acc,#0D7377);color:#fff;font:500 14px/1 var(--fb,system-ui,sans-serif);cursor:pointer}
.rt-play:hover,.rt-play.on{background:var(--acc-d,#095A5D)}
.rt-play[hidden]{display:none}
.rt-play svg{width:14px;height:14px}
.rt-chart{position:relative;margin:0;user-select:none;-webkit-user-select:none}
.rt-chart svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}
.rt-chart svg.rt-prof{cursor:crosshair;outline:0}
.rt-chart svg.rt-prof:focus-visible{outline:2px solid var(--acc,#0D7377);outline-offset:4px;border-radius:10px}
.rt-ax text{font:500 12px var(--fb,system-ui,sans-serif);fill:var(--mute,#646B72)}
.rt-ax line{stroke:var(--line,#E1E8E5)}
.rt-wp text{font:600 12.5px var(--fb,system-ui,sans-serif);fill:var(--ink,#16191C)}
.rt-wp line{stroke:#b8c4c1;stroke-dasharray:3 4}
.rt-wp circle{fill:#fff;stroke:var(--ink,#16191C);stroke-width:2.5}
.rt-line{fill:none;stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.rt-cur line{stroke:var(--ink,#16191C);stroke-width:1.5;stroke-dasharray:3 4}
.rt-cur circle{fill:var(--ink,#16191C);stroke:#fff;stroke-width:3}
.rt-tip{position:absolute;z-index:5;transform:translate(-50%,calc(-100% - 16px));display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 13px;border-radius:12px;background:var(--ink,#16191C);color:#fff;font:500 13px/1.3 var(--fb,system-ui,sans-serif);white-space:nowrap;pointer-events:none;box-shadow:0 14px 30px -14px rgba(10,30,50,.6)}
.rt-tip[hidden]{display:none}
.rt-tip b{font:600 16px/1.2 var(--fd,system-ui,sans-serif)}
.rt-tip small{color:rgba(255,255,255,.75);font-size:12px}
.rt-tip i{font-style:normal;margin-top:2px;padding:1px 7px;border-radius:999px;font-size:11.5px;font-weight:600}
.rt-tip::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;margin-left:-5px;background:inherit;transform:rotate(45deg);border-radius:2px}

/* Walking time at three paces */
.rt-pace{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:18px 0;border-bottom:1px solid var(--line,#E1E8E5)}
.rt-pace p{margin:0;display:flex;flex-direction:column;gap:2px}
.rt-pace p b{font-weight:600;font-size:15px}
.rt-pace p small{color:var(--mute,#646B72);font-size:13px}
.rt-pace ul{display:flex;gap:6px;margin:0;padding:4px;list-style:none;border-radius:16px;background:var(--soft,#ECF1EF)}
.rt-pace li{display:flex;flex-direction:column;align-items:center;min-width:96px;padding:8px 14px;border-radius:12px}
.rt-pace li small{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute,#646B72)}
.rt-pace li b{font:500 19px/1.2 var(--fd,system-ui,sans-serif);white-space:nowrap}
.rt-pace li.on{background:var(--card,#fff);box-shadow:0 1px 2px rgba(10,30,50,.08),0 4px 12px -6px rgba(10,30,50,.18)}

/* The weather */
.rt-wx{margin-top:18px;padding-top:20px;border-top:1px solid var(--line,#E1E8E5)}
.rt-wx[hidden]{display:none}
.rt-wx-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:12px}
.rt-wx-h a{font-size:12.5px;color:var(--mute,#646B72)}
.rt-wx-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rt-wx-d{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center;padding:14px 16px;border-radius:16px;background:var(--bg,#F7F8F6)}
.rt-wx-d small{grid-column:1/-1;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute,#646B72);margin-bottom:4px}
.rt-wx-i{grid-row:2/5;width:44px;height:44px;color:var(--acc-d,#095A5D)}
.rt-wx-i svg{width:100%;height:100%}
.rt-wx-d b{font:500 26px/1 var(--fd,system-ui,sans-serif)}
.rt-wx-d b span{margin-left:8px;font-size:.7em;color:var(--mute,#646B72)}
.rt-wx-d p{margin:2px 0 0;font-size:13.5px;line-height:1.35;color:var(--ink,#16191C)}
.rt-wx-d p.x{color:var(--mute,#646B72)}
.rt-wx-d p.s{color:var(--mute,#646B72);font-size:12.5px}
.rt-wx-d p.h{grid-column:1/-1;margin-top:8px;padding-top:8px;border-top:1px solid var(--line,#E1E8E5);font-size:12.5px;color:var(--mute,#646B72)}
.rt-wx-d.rough{background:#fcf3ea}
.rt-wx-d.rough .rt-wx-i{color:#c4572a}

/* How steep, the two parts, the buttons */
.rt-more{display:grid;grid-template-columns:1.25fr 1fr auto;gap:28px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line,#E1E8E5);align-items:start}
.rt-more.two{grid-template-columns:1.6fr auto}
.rt-more h4,.rt-wx h4{margin:0 0 12px;font:600 12px/1.3 var(--fb,system-ui,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--acc-d,#095A5D)}
.rt-wx h4{margin:0}
.rt-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--soft,#ECF1EF)}
.rt-bar span{height:100%}
.rt-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none}
.rt-legend li{font-size:13px;color:var(--mute,#646B72)}
.rt-legend li b{display:block;color:var(--ink,#16191C);font:500 17px/1.2 var(--fd,system-ui,sans-serif)}
.rt-legend li i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.rt-parts{margin:0;padding:0;list-style:none}
.rt-parts li+li{border-top:1px solid var(--line,#E1E8E5)}
.rt-parts button{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;width:100%;padding:10px 0;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}
.rt-parts li:first-child button{padding-top:0}
.rt-parts button:hover b{color:var(--acc-d,#095A5D)}
.rt-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--acc-2,#DCEFEE);color:var(--acc-d,#095A5D)}
.rt-ic svg{width:18px;height:18px}
.rt-parts b{display:block;font-weight:600;font-size:15px}
.rt-parts small{color:var(--mute,#646B72);font-size:13.5px}
.rt-acts{display:flex;flex-direction:column;gap:10px;min-width:220px}
.rt-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;border-radius:999px;background:var(--ink,#16191C);color:#fff;text-decoration:none;font:500 14.5px/1 var(--fb,system-ui,sans-serif);border:1px solid var(--ink,#16191C)}
.rt-btn:hover{color:#fff;background:#2a3135}
.rt-btn svg{width:16px;height:16px}
.rt-btn.ghost{background:var(--card,#fff);color:var(--ink,#16191C);border-color:var(--line,#E1E8E5)}
.rt-btn.ghost:hover{border-color:var(--acc,#0D7377);color:var(--acc-d,#095A5D)}

@media (max-width:1100px){
  .rt-stat:nth-child(4n){border-left:0;padding-left:0}
  .rt-more,.rt-more.two{grid-template-columns:1fr 1fr}
  .rt-more.two>div:first-child{grid-column:1/-1}
  .rt-acts{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}
}
@media (max-width:900px){.rt-wx-days{grid-template-columns:1fr}.rt-wx-d{grid-template-columns:auto 1fr auto}.rt-wx-d small{grid-column:auto;grid-row:1;align-self:start}}
@media (max-width:640px){
  .rt-switch{gap:8px}
  .rt-switch button{padding:10px 12px;border-radius:14px}
  .rt-switch button b{font-size:15px}
  .rt-switch button small{font-size:12px}
  .rt-switch button small span{display:none}
  .rt-map{height:58svh;min-height:300px;border-radius:18px}
  .rt-dash{border-radius:18px}
  .rt-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
  .rt-stat{border-left:0;padding:0}
  .rt-more,.rt-more.two{grid-template-columns:1fr}
  .rt-legend{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-head h3{flex:1 1 100%}
  .rt-tools .rt-seg button{padding:7px 11px}
  .rt-wx-d{grid-template-columns:auto 1fr}
  .rt-wx-d small{grid-column:1/-1}
  .rt-pace ul{width:100%}
  .rt-pace li{flex:1;min-width:0;padding:8px 6px}
  .rt-pace li b{font-size:17px}
}
@media (prefers-reduced-motion:reduce){.rt-switch button{transition:none}.rt-line{transition:none!important}.rt-hint{transition:none}}

/* Embed this map: the code to paste, in a dialog. */
.rt-embed{width:min(620px,calc(100% - 32px));padding:24px;border:0;border-radius:22px;background:var(--card,#fff);color:var(--ink,#16191C);box-shadow:0 20px 60px rgba(22,25,28,.25)}
.rt-embed::backdrop{background:rgba(22,25,28,.45)}
.rt-embed h3{margin:0 0 8px;font:500 22px/1.2 var(--fd,system-ui,sans-serif)}
.rt-embed p{margin:0 0 14px;color:var(--mute,#5c6670);font-size:15px;line-height:1.5}
.rt-embed textarea{display:block;width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--line,#E1E8E5);border-radius:12px;background:var(--soft,#ECF1EF);font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}
.rt-embed-acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.rt-embed-said{color:var(--acc-d,#095A5D);font-size:14px;font-weight:600}
button.rt-btn{cursor:pointer}

/* Fly over in 3D (assets/fly.js): the button on the map, and the 3D view that opens in its place */
.rt-fly{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px 0 12px;border:0;border-radius:999px;background:var(--ink,#16191C);color:#fff;font:600 13px/1 var(--fb,system-ui,sans-serif);box-shadow:0 8px 24px -10px rgba(0,0,0,.45);cursor:pointer;transition:background-color .2s}
.rt-fly:hover{background:var(--acc-d,#095A5D)}
.rt-fly:focus-visible{outline:2px solid var(--acc,#0D7377);outline-offset:2px}
.rt-fly[hidden]{display:none}
.rt-fly svg{width:18px;height:18px;flex:none}
.rt-fly .s{display:none}
@media (max-width:640px){.rt-fly{padding:0 13px 0 10px}.rt-fly .w{display:none}.rt-fly .s{display:inline}}

/* Photos along the route (includes/route-photos.php): on the map, on the profile, in its tooltip */
.rt-phm{display:block;width:36px;height:36px;border-radius:50%;border:3px solid #fff;box-shadow:0 3px 10px rgba(0,0,0,.35);overflow:hidden;background:#fff;transition:transform .15s}
.rt-phm img{display:block;width:100%;height:100%;object-fit:cover}
.leaflet-marker-icon:hover .rt-phm{transform:scale(1.2)}
.rt-ph-pop .leaflet-popup-content-wrapper{padding:0;border-radius:16px;overflow:hidden}
.rt-ph-pop .leaflet-popup-content{margin:0}
.rt-php{margin:0}
.rt-php img{display:block;width:100%;height:auto;max-height:240px;object-fit:cover}
.rt-php figcaption{padding:10px 14px 12px;font:400 13.5px/1.45 var(--fb,system-ui,sans-serif);color:var(--ink,#16191C)}
.rt-php figcaption span{color:var(--mute,#646B72)}
.rt-php a{font-weight:600;color:var(--acc-d,#095A5D)}
.rt-cams circle{fill:var(--acc,#0D7377);stroke:#fff;stroke-width:2}
.rt-cams path{fill:#fff}
.rt-cams .lens{fill:var(--acc,#0D7377);stroke:none}
.rt-tip-ph img{display:block;width:120px;height:90px;margin:-2px auto 8px;border-radius:8px;object-fit:cover}
img.rt-flash{outline:4px solid var(--acc,#0D7377);outline-offset:4px;transition:outline-color 1.5s}
.f3d{position:absolute;inset:0;z-index:1100;overflow:hidden;background:#0b1418;color:#fff}
.f3d[hidden]{display:none}
.f3d .f3d-map{position:absolute;inset:0}
.rt-map.f3d-on .rt-hint{z-index:1200}
.f3d-top{position:absolute;z-index:2;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 14px 40px 18px;background:linear-gradient(rgba(8,16,20,.62),rgba(8,16,20,.25) 60%,rgba(8,16,20,0));pointer-events:none}
.f3d-top>*{pointer-events:auto}
.f3d-t{margin:2px 0 0;max-width:640px;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.f3d-t b{display:none;font:500 clamp(19px,2.2vw,26px)/1.2 var(--fd,system-ui,sans-serif)}
.f3d-t small{display:block;font:400 13px/1.35 var(--fb,system-ui,sans-serif);color:rgba(255,255,255,.88)}
.rt-map.full .f3d-t b{display:block;margin-bottom:5px}
.f3d-btns{display:flex;gap:8px;flex:none}
.f3d-b{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:var(--ink,#16191C);box-shadow:0 8px 24px -10px rgba(0,0,0,.45);cursor:pointer}
.f3d-b svg{width:18px;height:18px}
.f3d-b:hover{background:#fff;color:var(--acc-d,#095A5D)}
.f3d .maplibregl-ctrl-top-right{top:62px}
.f3d-wait{position:absolute;z-index:2;inset:auto 0 50% 0;margin:0;text-align:center;font:500 16px/1.3 var(--fb,system-ui,sans-serif);color:rgba(255,255,255,.85)}
.f3d-wait[hidden]{display:none}
.f3d-hud{position:absolute;z-index:2;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;width:min(640px,calc(100% - 28px));box-sizing:border-box;padding:7px 18px 7px 7px;border-radius:999px;background:rgba(14,24,28,.84);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 40px -16px rgba(0,0,0,.6)}
.rt-map.full .f3d-hud{bottom:max(36px,calc(env(safe-area-inset-bottom) + 24px));width:min(720px,calc(100% - 32px))}
.f3d-play{display:grid;place-items:center;flex:none;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--ink,#16191C);cursor:pointer}
.f3d-play svg{width:17px;height:17px}
.f3d-hud input{flex:1;min-width:0;height:28px;margin:0;accent-color:#F08A4B;cursor:pointer}
.f3d-now{display:flex;gap:12px;flex:none;margin:0;font:400 13px/1 var(--fb,system-ui,sans-serif);color:rgba(255,255,255,.72);font-variant-numeric:tabular-nums;white-space:nowrap}
.f3d-now b{font:600 15px/1 var(--fb,system-ui,sans-serif);color:#fff}
.f3d-dot{display:block;width:18px;height:18px;border-radius:50%;background:#F08A4B;border:3px solid #fff;box-shadow:0 0 0 7px rgba(240,138,75,.3),0 4px 10px rgba(0,0,0,.45)}
.f3d :focus-visible{outline:2px solid #F08A4B;outline-offset:2px}
.f3d .maplibregl-ctrl-attrib{font-size:10px}
.f3d-phm{display:block;width:30px;height:30px;border-radius:50%;border:2px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.4);overflow:hidden;background:#fff}
.f3d-phm img{display:block;width:100%;height:100%;object-fit:cover}
.f3d-ph{position:absolute;z-index:2;left:14px;bottom:76px;width:min(230px,calc(100% - 28px));margin:0;border-radius:14px;overflow:hidden;background:#0e181c;box-shadow:0 20px 50px -18px rgba(0,0,0,.7);opacity:0;transform:translateY(12px);transition:opacity .45s,transform .45s;pointer-events:none}
.rt-map.full .f3d-ph{left:22px;bottom:118px;width:min(340px,calc(100% - 44px))}
.f3d-ph.on{opacity:1;transform:none}
.f3d-ph img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.f3d-ph figcaption{padding:8px 12px 10px;font:400 12.5px/1.4 var(--fb,system-ui,sans-serif);color:rgba(255,255,255,.88)}
@media (max-width:640px){.f3d-top{padding:10px 10px 30px 12px}.f3d-t small{display:none}.rt-map.full .f3d-t small{display:none}.f3d-hud{gap:9px;bottom:10px;padding:6px 12px 6px 6px}.f3d-play{width:38px;height:38px}.f3d-now{flex-direction:column;align-items:flex-end;gap:4px}.f3d-now b{font-size:13.5px}.f3d-ph{bottom:66px;width:min(170px,calc(100% - 28px))}.f3d .maplibregl-ctrl-top-right{top:56px}}
@media (prefers-reduced-motion:reduce){.f3d-ph{transition:none;transform:none}}
