/* Detail actions stay within reach while the content scrolls. */
.detail-overview{padding:16px;background:#f3f8f1;border:1px solid #dce9d7;border-radius:18px;margin-bottom:20px}
.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.detail-body .overview-heading h3{font-size:17px;margin:0}
.overview-heading>span{font-size:12px;color:#536c59}
.overview-heading>a{font-size:13px;text-decoration:underline;min-height:44px;display:flex;align-items:center}
.amenity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.amenity-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:100px;padding:10px 5px;border:1px solid #cddfc8;border-radius:13px;background:white;color:#285d45}
.amenity-tile svg{width:29px;height:29px;flex-shrink:0}
.amenity-tile b{font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.detail-body .amenity-tile small{font-size:12px;line-height:1.4;color:#42684c}
.amenity-tile.conditional{border-color:#e6d3a9;background:#fffaf0;color:#785a24}
.detail-body .amenity-tile.conditional small{color:#785a24}
.detail-body .summary-note{font-size:12px;line-height:1.6;color:#627365;margin:10px 0}
.overview-report{display:block;width:100%;padding:11px 8px;min-height:46px;border:1px dashed #9bb99b;border-radius:10px;background:#fff;font-size:14px;color:#315e42}
.detail-location{margin:0 0 22px}
.detail-location-map{height:190px;position:relative;border:1px solid #dce6d8;border-radius:14px;background:#f0f4ee;overflow:hidden;isolation:isolate}
.detail-location-pin img{width:48px;height:58px;display:block}
.detail-location-map .leaflet-control-attribution{font-size:10px}
.detail-body .location-address{font-size:14px;margin:8px 0 0}
.detail-body .mini-map-fallback{position:absolute;z-index:800;bottom:4px;left:10px;right:10px;margin:0;background:#fffffff2;border-radius:8px;padding:10px;font-size:13px;line-height:1.5}
.facility-list [data-facility]{scroll-margin-top:82px}
.facility-list [data-facility]:focus{outline:2px solid #4b805c;outline-offset:4px;border-radius:8px}
.facility-report-link{display:block;padding:10px 12px;min-height:44px;font-size:14px;margin-top:10px;border:1px dashed #91b49c;border-radius:10px;background:#f4f9f2;color:#315e42}
.contribution-topics{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.contribution-topics label{display:flex;align-items:center;gap:7px;padding:10px 8px;min-height:54px;border:1px solid #dce5dc;border-radius:10px;font-size:14px;cursor:pointer}
.contribution-topics label:has(:checked){background:#edf6e9;border-color:#4c865a}
.contribution-topics input{width:19px;height:19px;flex-shrink:0}
.contribution-topics svg{width:22px;height:22px;color:#397047;flex-shrink:0}
.contribution-topics span{line-height:1.4;overflow-wrap:anywhere}
#contribution-topics legend small{display:block;font-weight:400;margin:4px 0 8px}
@media(max-width:760px){.amenity-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-overview{padding:12px}.amenity-tile{min-height:94px}.detail-location-map{height:175px}.contribution-topics label{font-size:13px}.contribution-topics svg{width:20px;height:20px}.contribution-topics{gap:6px}}
#detail{width:min(680px,calc(100% - 24px));max-height:94dvh}
#detail-content{padding:0;max-height:calc(94dvh - 84px);scroll-padding-top:82px;overflow-anchor:none}
.detail-toolbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr) 46px;gap:8px;padding:12px 18px;background:#fffffffa;border-bottom:1px solid #dce6dc;box-shadow:0 3px 12px #243d350b;backdrop-filter:blur(10px)}
.detail-toolbar button{min-height:46px;font-size:14px;font-weight:700;white-space:nowrap;border-radius:12px;padding:9px 10px}
.detail-toolbar svg{width:19px;height:19px}
.detail-toolbar .detail-route-shortcut{background:#eaf4ef;border-color:#c8dfd0;color:#225841}
.detail-toolbar .icon-button{padding:9px;min-width:44px}
.detail-body{padding:0 24px 24px}
.detail-body .detail-banner{margin:0 -24px 18px;padding:20px 24px;border-radius:0}
.detail-body .detail-banner h2{font-size:25px;line-height:1.5;padding:0;margin:8px 0}
.detail-body .category-label{font-size:13px;line-height:1.6;display:block}
.detail-body h3{font-size:18px;line-height:1.5;margin:24px 0 12px}
.detail-body p,.detail-body .facts{font-size:16px;line-height:1.8}
.detail-body .tagline{font-size:15px}
.detail-body .small,.detail-body small,.detail-body .warning,.detail-body .source-list{font-size:14px;line-height:1.8}
.detail-body .facts{grid-template-columns:80px minmax(0,1fr);margin:12px 0}
.detail-body .facts dd,.detail-body .source-list a{overflow-wrap:anywhere}
.detail-body .facts a{display:inline-block;min-height:44px;padding:7px 0}
.detail-body .detail-play-hero img{aspect-ratio:16/8;object-position:center}
.detail-body .detail-play-hero figcaption{font-size:12px;line-height:1.6}
.detail-body .detail-play-hero figcaption span{display:block}
.detail-body .detail-actions{margin:12px 0 20px;position:static}
.detail-body .detail-actions a{font-size:15px;min-height:48px}
.detail-body .route-panel{scroll-margin-top:82px}
.detail-body .route-panel h3{margin-top:0}
.detail-body .route-links a{font-size:16px;min-height:80px}
.detail-body .route-links a span{font-size:13px}
.detail-body .detail-visited{font-size:15px;min-height:48px;margin:4px 0 12px}
.detail-body .detail-age{font-size:15px;line-height:1.8}
.detail-body .facility-list dt{font-size:16px;line-height:1.6}
.detail-body .facility-list dd{font-size:15px;line-height:1.8;color:#43574a}
.detail-body .status{font-size:12px;padding:5px 9px}
.detail-body .facility-list>div{padding:17px 0}
#detail .detail-dock{gap:8px;padding:10px 14px max(10px,env(safe-area-inset-bottom));min-height:68px}
#detail .detail-dock button{font-size:14px;min-height:46px;padding:8px 6px}
@media(max-width:760px){
 #detail{width:100%;max-height:96dvh;margin:auto 0 0;border-radius:22px 22px 0 0}
 #detail-content{max-height:calc(96dvh - 84px);padding:0}
 .detail-toolbar{padding:10px 12px;gap:6px}
 .detail-toolbar button{font-size:14px;padding:8px 6px}
 .detail-body{padding:0 18px 24px}
 .detail-body .detail-banner{margin:0 -18px 18px;padding:18px}
 .detail-body .detail-banner h2{font-size:23px}
 .detail-body .facts{grid-template-columns:74px minmax(0,1fr)}
 .detail-body .detail-play-hero img{aspect-ratio:16/9}
 .detail-body .facility-list dt{font-size:15px}
 .detail-body .facility-list dd{font-size:15px}
 #detail .detail-dock button{font-size:13px}
}
