/* Theme adapter over the Asobiba template. Keep shared structure and controls. */
:root{--green:#286454;--park:#286454;--cream:#f7f8f3}
[hidden]{display:none!important}
.brand{min-width:0;gap:10px}.brand-paw{width:44px;height:52px;object-fit:contain}.brand strong{font-size:20px;white-space:nowrap}.brand small{font-size:9px}
.intro{background:#fff}.intro h1{font-size:24px;letter-spacing:.035em}.intro p{font-size:12px}
.categories{flex-wrap:wrap;padding-bottom:8px}.categories button{flex:1 0 auto}.categories.extras{padding-bottom:12px}.category-clay-icon{width:22px;height:22px;object-fit:contain}
.more-categories{padding:0 24px 8px;text-align:right}.more-categories button{min-height:32px;padding:3px 0;border:0;font-size:11px;text-decoration:underline;background:transparent}
.adventure-hub .visited-check-open{border-color:#d5e7d7;background:#f2f8f1}.visited-check-open .adventure-mark{background:#dcefdc;color:#286454}
.adventure-hub button[aria-pressed=true]{border-color:#286454;background:#eaf4e8}
.filter-hub,.adventure-hub{margin-bottom:12px}.quick-filters:empty{display:none}.quick-filters button[aria-pressed=true]{background:#286454;color:#fff}
.home-actions button span{min-width:0}.location-status{margin:0 24px 10px}.location-status:empty{display:none}
.map-label select{border:0;background:#fff;color:var(--ink);font-weight:700;max-width:190px}
.panel{min-width:0}.map-stage{isolation:isolate}.map-hint{white-space:normal;max-width:80%;text-align:center}
.spot-card .card-title{padding-right:0}.spot-icon{background:#f3f7ef;width:51px;height:57px}.spot-icon img{width:100%;height:100%;object-fit:contain}
.spot-card.selected{border-color:var(--green);box-shadow:0 0 0 2px #28645424}
.save-button.saved{color:#b16116}.save-button.saved svg{fill:#f3b66c;stroke:#a65c1c}
.visited-button{min-height:36px;padding:4px 8px;font-size:11px}.visited-button[aria-pressed=true]{background:#e7f3e5;border-color:#8eb792;color:#286454}
.clay-marker{position:relative;width:47px;height:52px;filter:drop-shadow(0 3px 4px #23483255)}.clay-marker img{width:100%;height:100%;object-fit:contain}
.clay-marker.selected{transform:translateY(-3px) scale(1.12)}.clay-marker .been-mark{position:absolute;right:0;top:0;border-radius:50%;background:#fff;color:#286454;border:2px solid #286454;font-size:10px;line-height:16px;width:20px;text-align:center;font-weight:bold}
.marker-shell{background:none;border:0}.cluster-count{display:grid;place-items:center;width:42px;height:42px;background:#286454;border:3px solid #fff;border-radius:50%;color:#fff;font-size:16px;font-weight:bold;box-shadow:0 3px 12px #183b3045}
.detail-banner{background:#f1f7ef}.detail-icon{float:right;width:75px;height:75px;object-fit:contain;margin:0 22px 8px 10px}.detail-title-actions{display:flex;gap:10px;margin:14px 0;flex-wrap:wrap}
#detail{padding:0;overflow:hidden;width:min(660px,calc(100% - 24px));max-height:90dvh}#detail-content{padding:26px;max-height:calc(90dvh - 76px);overflow:auto}#detail .detail-banner{margin:-26px -26px 20px}
.detail-dock{position:static;display:flex;padding:12px;gap:10px;border-top:1px solid var(--line);background:#fff}.detail-dock button{flex:1}
.detail-actions{position:static;flex-wrap:wrap}.detail-actions a{min-width:40%}.facts{grid-template-columns:85px minmax(0,1fr)}.facts dd{overflow-wrap:anywhere}
.checks label{align-items:flex-start}.checks input{flex-shrink:0}.field input,.field textarea{width:100%;display:block;border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:9px;background:var(--cream);font:inherit}.field textarea{min-height:105px;resize:vertical}
.contribution-checks{grid-template-columns:1fr}.filter-dialog-actions{position:sticky;bottom:-26px;background:#fff;padding:12px 0;display:flex;gap:8px}.filter-dialog-actions button{flex:1}
.visited-save-bar{bottom:-26px}.visit-group-title{font-size:14px;margin:18px 0 8px}.visited-list{margin-bottom:14px}
.panel-footer p{margin-top:12px}.empty button{margin:4px}.map-top .map-label{margin:0;min-width:0}
@media(max-width:1050px) and (min-width:761px){.brand strong{font-size:18px}}
@media(max-width:760px){
 .header{height:70px}.brand img.brand-paw{width:35px;height:43px}.brand strong{font-size:16px}.brand small{font-size:8px;letter-spacing:.02em}.brand{min-width:0;gap:7px}
 .more-categories{padding-left:16px;padding-right:16px}.categories button{font-size:11px;padding:7px 8px;min-height:40px}
 body[data-view=map] .panel{position:absolute;bottom:auto;overflow:visible;max-height:48dvh}
 body[data-view=map] .intro,body[data-view=map] .adventure-hub,body[data-view=map] .filter-hub,body[data-view=map] .home-actions,body[data-view=map] .location-status,body[data-view=map] .more-categories,body[data-view=map] .extras{display:none!important}
 body[data-view=map] .map-stage{top:var(--map-top,140px)}
 body[data-view=map] .context-bar{min-height:29px;font-size:10px}
 .map-label select{font-size:11px;max-width:160px}.map-top{top:12px}.map-side{top:72px}
 .map-hint{bottom:96px;font-size:10px;padding:8px 10px}
 #map-card{bottom:90px}.map-stage #map{bottom:74px}
 #map-card .spot-card .chips{display:none}
 #detail{margin:auto 10px 0}#detail-content{padding:22px}#detail .detail-banner{margin:-22px -22px 18px;padding:20px 22px}.detail-dock{padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .filter-button{min-width:88px}.location-status{margin:0 16px 10px}
}
@media(max-width:360px){.brand strong{font-size:14px}.beta{font-size:8px}.categories{gap:4px}.categories button{font-size:10px;padding:6px}.categories .category-clay-icon{width:18px;height:18px}}
