/* A floating selected-trail strip; it never reserves space or resizes the map. */
.phone-trail-carousel{display:none}
@media(min-width:0px){
  .phone-trail-carousel{position:absolute;z-index:790;left:0;right:0;bottom:calc(88px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;max-width:100%;min-width:0;pointer-events:none;font-family:var(--sans,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);color:var(--ink,#25372e)}
  .phone-trail-carousel[hidden]{display:none!important}
  .phone-trail-carousel .phone-trail-position{display:flex;align-items:center;justify-content:center;min-height:18px;padding:1px 10px;border:1px solid #dfe5d8;border-radius:20px;box-shadow:0 2px 8px #1c39251a;background:#fffefaf5;color:var(--green,#244b3a);font-size:11px;line-height:14px;font-weight:600;font-variant-numeric:tabular-nums;pointer-events:none}
  .phone-trail-carousel .phone-trail-track{width:100%;max-width:520px;min-width:0;pointer-events:none}
  .phone-trail-carousel .phone-trail-viewport{position:relative;display:flex;gap:12px;width:100%;max-width:520px;min-width:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:28px;padding:1px 28px 2px;margin:0;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pinch-zoom;pointer-events:auto;outline-offset:-2px}
  .phone-trail-carousel .phone-trail-viewport::-webkit-scrollbar{display:none}
  .phone-trail-carousel .phone-trail-card{position:relative;flex:0 0 100%;min-width:0;height:128px;scroll-snap-align:center;border:1px solid #dde4d5;border-radius:13px;overflow:hidden;background:var(--white,#fffefa);box-shadow:0 3px 12px #1e3e2a1f;transition:border-color .15s}
  .phone-trail-carousel .phone-trail-card.is-current{border-color:#acbfa3;box-shadow:0 3px 12px #1e3e2a26}
  .phone-trail-carousel .phone-trail-open{display:flex;align-items:center;gap:12px;width:100%;height:100%;min-height:0;min-width:0;text-align:left;padding:10px 14px;border:0;border-radius:12px;background:transparent;color:inherit;touch-action:pan-x pinch-zoom}
  .phone-trail-carousel .phone-trail-open:active{background:#eff3e980}
  .phone-trail-carousel .phone-trail-thumbnail{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;overflow:hidden;border:1px solid #dce5d3;border-radius:9px;background:repeating-radial-gradient(ellipse at 0 100%,transparent 0 9px,#b5c5a33b 10px 10.6px,transparent 12px 20px),linear-gradient(145deg,#f0f4e9,#e4ecdc);color:#6f8a60}
  .phone-trail-carousel .phone-trail-thumbnail>svg,.phone-trail-carousel .phone-trail-thumbnail>.route-thumb{width:64px;height:64px;max-width:100%;max-height:100%;margin:0;border:0;border-radius:0;background:none;padding:5px;flex-shrink:0}
  .phone-trail-carousel .phone-trail-copy{display:block;min-width:0;flex:1}
  .phone-trail-carousel .phone-trail-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;padding-right:26px;font-family:var(--sans,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);font-size:17px;line-height:21px;letter-spacing:-.3px;font-weight:600;color:var(--ink,#25372e)}
  .phone-trail-carousel .phone-trail-location{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;line-height:17px;color:var(--muted);margin-top:3px}
  .phone-trail-carousel .phone-trail-metrics{display:flex;align-items:center;gap:10px;min-width:0;margin-top:7px;font-size:13px;line-height:18px;font-weight:450;color:#52694a;font-variant-numeric:tabular-nums}
  .phone-trail-carousel .phone-trail-metrics>span{white-space:nowrap}
  .phone-trail-carousel .phone-trail-elevation:before{content:"·";color:#a2ac98;margin-right:10px}
  .phone-trail-carousel .phone-trail-date{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:14px;font-weight:400}
  .phone-trail-carousel .phone-trail-close{position:absolute;z-index:2;top:0;right:0;display:grid;place-items:center;width:44px;height:44px;min-height:44px;border:0;border-radius:0 12px 0 12px;background:transparent;color:#82917a;touch-action:manipulation}
  .phone-trail-carousel .phone-trail-close:active{background:#edf2e5}
  .phone-trail-carousel .phone-trail-close-glyph{font-family:var(--sans,Arial,sans-serif);font-size:27px;line-height:1;font-weight:300;margin-top:-3px}
  .phone-trail-carousel :is(button,.phone-trail-viewport):focus-visible{outline:2px solid var(--green,#244b3a);outline-offset:-3px}
}
@media(max-width:360px){
  .phone-trail-carousel .phone-trail-open{gap:10px;padding-left:11px;padding-right:11px}
  .phone-trail-carousel .phone-trail-metrics{gap:7px;font-size:13px}
  .phone-trail-carousel .phone-trail-elevation:before{margin-right:7px}
}
@media(prefers-reduced-motion:reduce){.phone-trail-carousel .phone-trail-card{transition:none}.phone-trail-carousel .phone-trail-viewport{scroll-behavior:auto}}

.phone-trail-previous,.phone-trail-next{display:none}
@media(min-width:701px){
  .phone-trail-carousel{bottom:72px}
  /* Leave the bottom credit row and right-hand map zoom controls clear. */
  .phone-trail-carousel .phone-trail-track{display:flex;align-items:center;gap:12px;width:calc(var(--trail-columns,3)*340px + (var(--trail-columns,3) - 1)*12px + 180px);max-width:100%;padding:0 64px 0 12px}
  .phone-trail-carousel .phone-trail-viewport{flex:1;max-width:none;padding:1px 0 2px;scroll-padding-inline:0}
  .phone-trail-carousel .phone-trail-card{flex-basis:calc((100% - (var(--trail-columns,3) - 1)*12px)/var(--trail-columns,3));scroll-snap-align:start}
  .phone-trail-carousel .phone-trail-card.is-current{border-color:#47785b;background:#f3f6ee;box-shadow:0 0 0 1px #47785b,0 3px 12px #1e3e2a26}
  .phone-trail-carousel .phone-trail-card:not(.is-current) .phone-trail-close{display:none}
  .phone-trail-previous,.phone-trail-next{display:grid;place-items:center;flex:0 0 40px;z-index:3;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--white);box-shadow:0 2px 8px #244b3a22;color:var(--green);font:28px/1 var(--sans);pointer-events:auto}
  .phone-trail-previous:disabled,.phone-trail-next:disabled{opacity:.45;cursor:default}
  .phone-trail-carousel.is-single-card .phone-trail-track{width:416px}
  .phone-trail-carousel.is-single-card .phone-trail-previous,.phone-trail-carousel.is-single-card .phone-trail-next{display:none}
}
@media(max-width:1000px) and (max-height:500px) and (pointer:coarse){
  .phone-trail-carousel{bottom:calc(88px + env(safe-area-inset-bottom))}
  .phone-trail-carousel .phone-trail-track,.phone-trail-carousel.is-single-card .phone-trail-track{display:block;width:100%;max-width:520px;padding:0}
  .phone-trail-carousel .phone-trail-viewport{padding:1px 28px 2px;scroll-padding-inline:28px}
  .phone-trail-carousel .phone-trail-card{flex-basis:100%;scroll-snap-align:center}
  .phone-trail-previous,.phone-trail-next{display:none}
}
