.bathmap-wrap{background:#fff;border:1px solid #dde6df;border-radius:18px;padding:14px;margin:16px 0;font-family:Helvetica,Arial,sans-serif;color:#2b2b2b}
.bm-search{width:100%;border:2px solid #cfe0d4;border-radius:999px;padding:9px 16px 9px 38px;font-size:.95rem;background:#faf8f3 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235f8f6f' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") no-repeat 13px center;outline:none;font-family:inherit;margin-bottom:10px}
.bm-search:focus{border-color:#5f8f6f}
.bm-pills{display:flex;gap:7px;margin-bottom:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.bm-pills::-webkit-scrollbar{display:none}
.bm-pills button{flex:none;border:2px solid #cfe0d4;background:#faf8f3;color:#2f5d46;border-radius:999px;padding:5px 12px;font-size:.84rem;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;gap:6px}
.bm-pills[data-g=type] button{border-color:#5f8f6f}
.bm-pills button.on{background:#2f5d46;border-color:#2f5d46;color:#fff}
.dot{display:inline-block;width:11px;height:11px;border-radius:50%;border:1.5px solid;flex:none}
.bm-main{display:flex;gap:12px;height:520px;position:relative}
#bathmap{flex:1;height:100%;border-radius:14px;border:1px solid #dde6df;background:#e8f0ea}
.bm-list{width:270px;flex:none;display:flex;flex-direction:column;background:#faf8f3;border:1px solid #dde6df;border-radius:14px;overflow:hidden}
.bm-handle{display:none}
.bm-count{padding:10px 14px;font-size:.8rem;color:#5f8f6f;font-weight:bold;letter-spacing:.04em;text-transform:uppercase;border-bottom:1px dashed #cfe0d4}
.bm-items{list-style:none;margin:0;padding:4px;overflow-y:auto;flex:1}
.bm-items li{display:flex;gap:9px;align-items:center;padding:7px 9px;border-radius:10px;cursor:pointer}
.bm-items li:hover{background:#e8f0ea}.bm-items li img{width:22px;height:28px;flex:none}
.bm-items li strong{font-size:.88rem;color:#2f5d46;font-weight:bold}.bm-items li small{display:block;color:#777;font-size:.75rem}
.bm-items li.none{color:#777;font-size:.85rem;cursor:default}
.mini{background:#fff1c9;color:#8a6a12;border-radius:999px;padding:0 6px;font-size:.68rem;font-weight:bold}
.bm-note{font-size:.8rem;color:#666;margin:8px 2px 0}
.bm-cl div{width:44px;height:44px;border-radius:50%;background:#faf8f3;border:3px solid #5f8f6f;box-shadow:0 2px 6px rgba(47,93,70,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#2f5d46;font:bold 13px/1 Helvetica,Arial,sans-serif}
.bm-cl span{font-size:11px;color:#c96a48;margin-bottom:1px}
.bm-tiles{filter:saturate(.55) sepia(.12) brightness(1.04)}
.leaflet-popup-content-wrapper{border-radius:14px;background:#faf8f3;border:2px solid #cfe0d4;box-shadow:0 4px 14px rgba(47,93,70,.18)}
.leaflet-popup-tip{background:#faf8f3}
.leaflet-popup-content{margin:12px 14px;font-family:Helvetica,Arial,sans-serif;line-height:1.4;min-width:220px}
.bm-pop h4{margin:0 0 2px;color:#2f5d46;font-size:1.05rem}.bm-pop .area{color:#666;font-size:.8rem}
.bm-pop .badges{margin-bottom:4px}.bm-pop .badge{display:inline-block;background:#fff1c9;color:#8a6a12;border:1px solid #f0d77e;border-radius:999px;padding:1px 8px;font-size:.72rem;font-weight:bold;margin-right:4px}
.bm-pop .tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:1px 9px;font-size:.73rem;margin:6px 4px 2px 0;background:#e8f0ea;color:#2f5d46}
.bm-pop .tag.sento{background:#fdf0dc;color:#8a5a1c}.bm-pop .tag.tat{background:#fbe3ea;color:#9b3d5a}.bm-pop .tag.chk{background:#eee;color:#555}
.bm-pop .tag .dot{width:9px;height:9px}
.bm-pop p{margin:4px 0 8px;font-size:.87rem}
.bm-pop details{margin:0 0 8px;border-top:1px dashed #cfe0d4;padding-top:6px}
.bm-pop summary{cursor:pointer;color:#2f5d46;font-weight:bold;font-size:.84rem;list-style:none;display:inline-block;background:#e8f0ea;border-radius:999px;padding:2px 12px}
.bm-pop summary::-webkit-details-marker{display:none}.bm-pop summary::after{content:' ▾'}.bm-pop details[open] summary::after{content:' ▴'}
.bm-pop .more{font-size:.85rem;line-height:1.5;margin-top:6px;max-height:190px;overflow-y:auto;padding-right:4px;-webkit-overflow-scrolling:touch}
.bm-pop .more p{margin:2px 0 8px}
.bm-pop h5{display:flex;align-items:center;gap:5px;margin:10px 0 2px;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:#2f5d46}
.bm-book{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 8px}
.bm-book .bk{flex:1 1 auto;text-align:center;border-radius:10px;padding:6px 8px;font-size:.8rem;font-weight:bold;text-decoration:none;background:#2f5d46;color:#fff!important;margin:0!important}
.bm-book .bk.ph{background:#fff;color:#9aa89f!important;border:1.5px dashed #cfe0d4;cursor:default}
.bm-pop .links a{color:#2f5d46;font-weight:bold;margin-right:10px;font-size:.83rem}
@media(max-width:760px){
 .bm-main{height:560px;display:block}
 #bathmap{height:100%}
 .bm-list{position:absolute;left:0;right:0;bottom:0;width:auto;height:64px;z-index:1000;border-radius:18px 18px 14px 14px;box-shadow:0 -4px 16px rgba(47,93,70,.18);transition:height .25s}
 .bm-list.open{height:62%}
 .bm-handle{display:block;height:20px;cursor:pointer;position:relative}.bm-handle:before{content:'';position:absolute;left:50%;top:7px;width:40px;height:5px;margin-left:-20px;border-radius:9px;background:#cfe0d4}
 .bm-count{padding:0 14px 8px;cursor:pointer}
 .bm-pop .more{max-height:140px}.leaflet-popup-content{margin:10px 12px}
}
.mini{white-space:nowrap;display:inline-block}
.bm-pop .badge.trip{background:#e8f0ea;color:#2f5d46;border-color:#cfe0d4}
.bm-pop dl.ga{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;margin:4px 0 6px;font-size:.82rem}
.bm-pop dl.ga dt{color:#5f8f6f;font-weight:bold;font-size:.74rem;text-transform:uppercase;letter-spacing:.03em;padding-top:1px}
.bm-pop dl.ga dd{margin:0}
.bm-pills[data-g=trip] button{border-color:#e9c98a;background:#fffaf0}.bm-pills[data-g=trip] button.on{background:#c99a55;border-color:#c99a55;color:#fff}
.bm-pop .mb-tag{font-size:.62rem;background:#fdeee0;color:#a0703a;border-radius:8px;padding:1px 6px;margin-left:4px;text-transform:lowercase;letter-spacing:0;font-weight:normal}
.bm-pop .mb-g{margin:3px 0 5px}.bm-pop .mb-t{font-size:.72rem;font-weight:bold;color:#a0703a}
.bm-pop .mb-g ul{margin:2px 0 0;padding-left:16px;font-size:.82rem}.bm-pop .mb-g li{margin:1px 0}
@media (max-width:760px){.pop-open .leaflet-control-zoom{display:none}}
