/* Extends the preserved V5 guide without changing its original styles or data. */
.guide-filters{margin:16px 0}.guide-filters summary{cursor:pointer;min-height:48px;padding:12px 14px;background:white;border:1px solid #ded7d0;border-radius:13px;font-weight:700}.guide-filters summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:760px){
  .topin{padding:10px 16px;gap:10px;min-height:62px;flex-wrap:wrap}
  .topin>.brand{font-size:16px;min-height:40px;display:flex;align-items:center;gap:4px}
  .topin>.count{display:none}
  .topin>a:last-child{margin-left:auto;min-height:44px;display:flex;align-items:center;font-size:14px!important}
  .shell{padding:16px 16px calc(100px + env(safe-area-inset-bottom))}
  .hero{padding:24px 20px;border-radius:18px}
  .hero h1{font-size:38px;line-height:1.08;letter-spacing:-.035em;margin:12px 0 16px}
  .hero p{font-size:16px;line-height:1.6}
  .todayPicker{grid-template-columns:minmax(0,1fr);gap:14px;margin:22px 0 16px}
  .todayPicker label,.routeFilters label,.toolbar label{font-size:14px;min-width:0}
  select,input.search,.routeFilters select{font-size:16px;min-height:48px;max-width:100%;min-width:0;padding:12px}
  .btn{min-height:48px;font-size:15px;line-height:1.4;white-space:normal}
  .heroBtns{display:grid;grid-template-columns:1fr;gap:10px}
  .homecard{padding:20px}
  .homecard p{font-size:16px}
  .grid,.routegrid{grid-template-columns:minmax(0,1fr)}
  .card{padding:18px;min-width:0}
  .card h3{font-size:21px;line-height:1.25;margin-top:12px}
  .muted,.route p{font-size:15px;line-height:1.55}
  .fav{width:44px;height:44px;right:7px;top:7px}
  .tag,.pill,.statusPill{font-size:12px;line-height:1.4}
  .route h3{font-size:23px;line-height:1.2}
  .routeFilters{grid-template-columns:minmax(0,1fr);gap:14px}
  .chip{min-height:44px;font-size:14px;padding:10px 13px}
  .bottom{left:0;right:0;bottom:0;transform:none;width:100%;border-radius:16px 16px 0 0;gap:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 22px rgba(0,0,0,.12)}
  .nav{min-width:0;min-height:48px;padding:10px 3px;font-size:11px;flex:1}
  .mapbox{height:calc(100vh - 205px);height:calc(100dvh - 205px - env(safe-area-inset-bottom));min-height:280px;border-radius:16px}
  .modal{max-height:calc(100vh - 24px);max-height:calc(100dvh - env(safe-area-inset-top) - 16px);padding:20px 18px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-wrap:anywhere;-webkit-overflow-scrolling:touch}
  .modalhead>div{min-width:0}
  .modal h2{font-size:28px;line-height:1.15}
  .close{width:44px;height:44px;flex:0 0 44px}
  .factgrid,.near{grid-template-columns:minmax(0,1fr)}
  .fact,.status,.stepBox p,.modal p{font-size:16px;line-height:1.6}
  .photo{height:auto;aspect-ratio:16/10}
  .photoCredit{font-size:13px;line-height:1.5}
  .mapLink{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
  .near button{min-height:48px;font-size:15px;line-height:1.4}
  .stepNav{flex-wrap:wrap}
  .stepNav button{min-width:100px}
}
@media(max-width:360px){.shell{padding-left:12px;padding-right:12px}.hero h1{font-size:33px}.nav{font-size:10px}.topin{padding-left:12px;padding-right:12px}}
@media(max-height:500px) and (max-width:1000px){.modal{max-height:94dvh}.mapbox{min-height:180px;height:55dvh}}

@media(min-width:390px) and (max-width:760px){.factgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fact{min-width:0;overflow-wrap:anywhere}}

#map iframe{display:block;border:0;width:100%;height:100%}.map-note{font-size:14px;line-height:1.5;color:#526273}.map-unavailable{padding:24px;font-size:16px;line-height:1.6}.map-unavailable p{margin:0 0 16px}

#map-external[hidden]{display:none}

.map-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.map-controls label{display:flex;flex-direction:column;gap:6px;min-width:0;font-weight:600}
.map-controls input,.map-controls select{width:100%;min-width:0;max-width:100%;min-height:48px;font:inherit;font-size:16px;padding:10px;border:1px solid #bdcbd7;border-radius:10px;background:#fff;color:#183349}
#map-detail[hidden]{display:none}
.map-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
#map-external{display:inline-flex;align-items:center;justify-content:center;min-height:48px;text-decoration:none}
.map-embed{margin-top:24px}
.map-embed summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}
.map-embed .map-note{margin-top:8px}
@media(max-width:600px){.map-controls{grid-template-columns:1fr}#mapView .mapbox{height:54dvh;min-height:320px;max-height:560px}.map-actions{flex-direction:column;align-items:stretch}}
