#cbaVillageMap.leaflet-container{position:relative!important;overflow:hidden!important;outline:0!important;}
#cbaVillageMap .leaflet-pane,
#cbaVillageMap .leaflet-tile,
#cbaVillageMap .leaflet-marker-icon,
#cbaVillageMap .leaflet-marker-shadow,
#cbaVillageMap .leaflet-tile-container,
#cbaVillageMap .leaflet-pane>svg,
#cbaVillageMap .leaflet-pane>canvas,
#cbaVillageMap .leaflet-zoom-box{position:absolute!important;left:0;top:0;}
#cbaVillageMap .leaflet-map-pane,
#cbaVillageMap .leaflet-tile-pane,
#cbaVillageMap .leaflet-overlay-pane,
#cbaVillageMap .leaflet-shadow-pane,
#cbaVillageMap .leaflet-marker-pane,
#cbaVillageMap .leaflet-tooltip-pane,
#cbaVillageMap .leaflet-popup-pane{position:absolute!important;left:0;top:0;}
#cbaVillageMap .leaflet-tile-container{width:256px;height:256px;}
#cbaVillageMap .leaflet-tile{width:256px!important;height:256px!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;}
#cbaVillageMap img.leaflet-marker-icon,
#cbaVillageMap img.leaflet-marker-shadow{max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;}
#cbaVillageMap .leaflet-zoom-animated{transform-origin:0 0;}
#cbaVillageMap .leaflet-pane{z-index:400;}
#cbaVillageMap .leaflet-tile-pane{z-index:200;}
#cbaVillageMap .leaflet-overlay-pane{z-index:400;}
#cbaVillageMap .leaflet-shadow-pane{z-index:500;}
#cbaVillageMap .leaflet-marker-pane{z-index:600;}
#cbaVillageMap .leaflet-tooltip-pane{z-index:650;}
#cbaVillageMap .leaflet-popup-pane{z-index:700;}
#cbaVillageMap .leaflet-control{position:relative;z-index:800;pointer-events:auto;}
#cbaVillageMap .leaflet-top,#cbaVillageMap .leaflet-bottom{position:absolute;z-index:1000;pointer-events:none;}
#cbaVillageMap .leaflet-top{top:0;}#cbaVillageMap .leaflet-right{right:0;}#cbaVillageMap .leaflet-bottom{bottom:0;}#cbaVillageMap .leaflet-left{left:0;}
#cbaVillageMap .leaflet-control-container .leaflet-top,#cbaVillageMap .leaflet-control-container .leaflet-bottom{pointer-events:none;}
#cbaVillageMap .leaflet-control-container .leaflet-control{pointer-events:auto;}
#cbaVillageMap .leaflet-fade-anim .leaflet-tile{will-change:opacity;}
#cbaVillageMap .leaflet-zoom-anim .leaflet-zoom-animated{will-change:transform;}
#cbaVillageMap .leaflet-tile{visibility:hidden;}
#cbaVillageMap .leaflet-tile-loaded{visibility:inherit;}

:root{--cba-ink:#222;--cba-muted:#686868;--cba-line:#d8d8d8;--cba-paper:#fff;--cba-soft:#f6f5f1;--cba-accent:#8a1c14;--cba-gold:#d8aa3c}
#ancestral-village-map,#ancestral-village-map *{box-sizing:border-box}
#ancestral-village-map.cba-map-module{background:var(--cba-paper);border:1px solid var(--cba-line);box-shadow:0 2px 12px rgba(0,0,0,.07)}
.cba-map-head{padding:22px 22px 15px;border-bottom:1px solid var(--cba-line)}
.cba-map-head h2{margin:0 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;line-height:1.15;font-weight:600}
.cba-map-head p{margin:0;color:var(--cba-muted);line-height:1.45}
.cba-controls{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:15px 22px;background:var(--cba-soft);border-top:1px solid var(--cba-line);border-bottom:0}
.cba-controls-below{border-top:1px solid var(--cba-line)}
.cba-field{flex:1 1 280px}
.cba-field label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:6px}
.cba-field select{width:100%;min-height:42px;padding:8px 36px 8px 11px;border:1px solid #aaa;background:#fff;font:inherit;border-radius:3px}
.cba-btn{min-height:42px;padding:8px 14px;border:1px solid #888;background:#fff;color:#222;border-radius:3px;font-weight:600;cursor:pointer}
.cba-btn:hover,.cba-btn:focus{background:#f2f2f2}
.cba-status{padding:10px 22px;border-bottom:1px solid var(--cba-line);font-size:.94rem;min-height:43px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cba-status strong{color:var(--cba-accent)}
.cba-map-shell{position:relative}
#cbaVillageMap{height:560px;width:100%;background:#e8e6df}
.cba-source{padding:11px 22px 14px;color:var(--cba-muted);font-size:.78rem;line-height:1.45;border-top:1px solid var(--cba-line)}
.cba-source a{color:inherit}
.cba-village-pin{width:26px;height:26px;background:var(--cba-accent);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 3px 8px rgba(0,0,0,.48),0 0 0 1px rgba(0,0,0,.28);position:relative;transition:transform .12s ease,box-shadow .12s ease}
.cba-village-pin::after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--cba-gold);top:6px;left:6px;box-shadow:0 0 0 1px rgba(0,0,0,.22)}
.cba-village-pin:hover{transform:rotate(-45deg) scale(1.12);box-shadow:0 4px 11px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.32)}
.cba-village-pin.cba-village-pin-all{opacity:.92}
/* Keep village and cluster click targets active even when host-page CSS changes pointer handling. */
#cbaVillageMap .leaflet-tile-pane,
#cbaVillageMap .leaflet-overlay-pane,
#cbaVillageMap .leaflet-shadow-pane,
#cbaVillageMap .leaflet-tooltip-pane,
#cbaVillageMap .leaflet-popup-pane{pointer-events:none!important}
#cbaVillageMap .leaflet-marker-pane{pointer-events:none!important}
#cbaVillageMap .leaflet-marker-icon.leaflet-interactive,
#cbaVillageMap .marker-cluster.leaflet-interactive{pointer-events:auto!important;cursor:pointer!important}
#cbaVillageMap .cba-village-pin{pointer-events:none!important}
#cbaVillageMap .leaflet-popup-content-wrapper,#cbaVillageMap .leaflet-popup-close-button{pointer-events:auto!important}
.cba-popup-title{font-family:Georgia,'Times New Roman',serif;font-size:1.2rem;font-weight:700;margin-bottom:2px}
.cba-popup-characters{font-size:1.08rem;margin:1px 0 7px}
.cba-popup-grid{font-size:.87rem;line-height:1.45}
.cba-popup-rule{border:0;border-top:1px solid #ddd;margin:8px 0}
.cba-popup-assoc{font-size:.86rem;line-height:1.4}
.cba-popup-link{display:inline-block;margin-top:8px;font-size:.84rem;font-weight:700;color:#7e1711;text-decoration:none}
.cba-popup-link:hover{text-decoration:underline}
@media(max-width:650px){.cba-map-module{border-left:0!important;border-right:0!important}.cba-map-head,.cba-controls,.cba-status,.cba-source{padding-left:14px;padding-right:14px}#cbaVillageMap{height:440px}.cba-btn{flex:1 1 auto}}


/* Marker-cluster styling is also inlined for hosts that block the external cluster stylesheet. */
#cbaVillageMap .marker-cluster-small{background-color:rgba(181,226,140,.72)}
#cbaVillageMap .marker-cluster-small div{background-color:rgba(110,204,57,.72)}
#cbaVillageMap .marker-cluster-medium{background-color:rgba(241,211,87,.72)}
#cbaVillageMap .marker-cluster-medium div{background-color:rgba(240,194,12,.72)}
#cbaVillageMap .marker-cluster-large{background-color:rgba(253,156,115,.72)}
#cbaVillageMap .marker-cluster-large div{background-color:rgba(241,128,23,.72)}
#cbaVillageMap .marker-cluster{background-clip:padding-box;border-radius:20px}
#cbaVillageMap .marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Arial,sans-serif}
#cbaVillageMap .marker-cluster span{line-height:30px}
#cbaVillageMap .leaflet-bar{box-shadow:0 1px 5px rgba(0,0,0,.65);border-radius:4px}
#cbaVillageMap .leaflet-bar a{background:#fff;border-bottom:1px solid #ccc;width:30px;height:30px;line-height:30px;display:block;text-align:center;text-decoration:none;color:#000;font:700 18px/30px Arial,sans-serif}
#cbaVillageMap .leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}
#cbaVillageMap .leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:0}
#cbaVillageMap .leaflet-control-zoom{margin-left:10px;margin-top:10px}
#cbaVillageMap .leaflet-control-attribution{background:rgba(255,255,255,.82);margin:0;padding:0 5px;font-size:11px;line-height:1.4;color:#333}
#cbaVillageMap .leaflet-control-attribution a{color:#0078a8}
#cbaVillageMap .leaflet-bottom.leaflet-right{right:0;bottom:0}
#cbaVillageMap .leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}
#cbaVillageMap .leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:10px;background:#fff;box-shadow:0 3px 14px rgba(0,0,0,.4)}
#cbaVillageMap .leaflet-popup-content{margin:13px 19px;line-height:1.35;min-width:180px}
#cbaVillageMap .leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-left:-20px;overflow:hidden;pointer-events:none}
#cbaVillageMap .leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;transform:rotate(45deg);background:#fff;box-shadow:3px 3px 15px rgba(0,0,0,.4)}
#cbaVillageMap .leaflet-popup-close-button{position:absolute;top:0;right:0;border:0;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}