#my-map { display:block; height:clamp(360px,61vh,680px); width:100%; min-width:0; background:#e7eeea; border-block:1px solid #d7e0da; font-family:inherit; z-index:0; }
#my-map-panel { margin-block:1.5rem; border:1px solid #d7e0da; border-radius:1.2rem; background:#fff; box-shadow:0 12px 36px #163c2510; overflow:hidden; }
#my-map-panel[hidden] { display:none; }
.my-map-heading { padding:1.25rem 1.4rem .5rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.my-map-heading h2 { margin:0; font-family:Georgia,serif; font-size:1.65rem; color:#0b4837; }
.my-map-heading .eyebrow { margin:0 0 .35rem; font-size:.7rem; }
.my-map-toolbar { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; padding:.7rem 1.4rem 1rem; }
.my-map-toolbar .button,.my-map-heading .button { min-height:44px; padding:.55rem .8rem; font-size:.85rem; }
.my-map-help { flex:1; min-width:11rem; font-size:.8rem; color:#566b60; }
.my-map-footer { padding:.9rem 1.4rem; }
.my-map-footer p { margin:.6rem 0 0; font-size:.85rem; }
.my-map-legend { display:flex; flex-wrap:wrap; gap:.5rem 1rem; font-size:.75rem; color:#415d50; }
.my-map-legend>span { display:inline-flex; align-items:center; gap:.4rem; }
.legend-dot { display:inline-block; width:.65rem; height:.65rem; border-radius:50%; }
.legend-masjid { background:#087956; }.legend-surau { background:#bb7c14; }.legend-other { background:#596ca4; }
#my-map .leaflet-control-zoom { border:0; box-shadow:0 2px 12px #12392730; border-radius:.65rem; overflow:hidden; }
#my-map .leaflet-control-zoom a { width:44px; height:44px; line-height:44px; color:#104633; font-size:26px; }
#my-map .leaflet-control-attribution { background:#fffffff2; color:#31473b; font-size:10px; padding:3px 6px; }
#my-map .leaflet-control-attribution a { color:#174e3b; }
#my-map .leaflet-popup-content-wrapper { border-radius:.9rem; box-shadow:0 7px 30px #173a3030; }
#my-map .leaflet-popup-content { margin:16px 18px; line-height:1.45; }
#my-map a.leaflet-popup-close-button { width:32px; height:32px; font-size:24px; padding:2px; }
.my-popup { display:grid; gap:.5rem; padding:0 .2rem; min-width:170px; }
.my-popup-category { text-transform:uppercase; letter-spacing:.1em; font-size:10px; font-weight:700; color:#587161; }
.my-popup-name { font-family:Georgia,serif; font-size:20px; color:#0b4837; padding-inline-end:.6rem; }
#my-map .my-popup p { margin:0; font-size:12px; color:#56665d; }
#my-map .my-popup-link { display:flex; align-items:center; justify-content:center; min-height:42px; padding:.5rem .7rem; border-radius:.5rem; background:#086b4f; color:#fff; font-size:12px; font-weight:700; text-decoration:none; margin-top:.3rem; }
#my-map .my-popup-claim { display:flex; align-items:center; min-height:32px; justify-content:center; color:#096549; font-size:11px; }
.my-marker { background:transparent; border:0; }
.my-marker-pin { width:32px; height:32px; display:grid; place-items:center; background:#087956; color:white; border:2px solid white; border-radius:50% 50% 50% 4px; transform:rotate(-45deg); box-shadow:0 2px 6px #13352655; }
.my-marker-pin svg { transform:rotate(45deg); max-width:none; }
.my-marker-surau .my-marker-pin { background:#ad7416; }.my-marker-other .my-marker-pin { background:#596ca4; }
.my-marker:focus .my-marker-pin,.my-marker:hover .my-marker-pin { outline:3px solid #162e25; outline-offset:2px; }
.my-cluster { display:grid; place-items:center; border:5px solid #a8d3bc; border-radius:50%; background:#0d7652; color:#fff; box-shadow:0 2px 8px #163c2538; font-size:13px; font-weight:750; font-family:system-ui,sans-serif; }
.my-cluster-medium { border-color:#8bc5a7; background:#086644; }.my-cluster-large { border-color:#72b897; background:#084f36; }
.my-cluster:focus,.my-cluster:hover { outline:2px solid #122f23; outline-offset:2px; }
#my-map-panel.is-expanded { position:fixed; inset:12px; z-index:10000; margin:0; display:flex; flex-direction:column; border-radius:1rem; box-shadow:0 0 0 20px #0b271de8; }
#my-map-panel.is-expanded #my-map { flex:1; min-height:200px; height:auto; }
.my-map-expanded { overflow:hidden; }
#my-results { margin-block:1.5rem; }#my-results a { position:relative; z-index:1; }
#my-pagination { padding:1.5rem 0; }
#my-pagination a,.malaysia-invitation a { min-height:44px; display:inline-flex; align-items:center; }
#malaysia-filters select,#my-radius { min-height:44px; max-width:100%; padding:.6rem; border:1px solid #bdcec5; border-radius:.6rem; background:white; color:#123b2c; }
.malaysia-invitation { margin:1.5rem auto; max-width:76rem; }
.donation-field { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.7rem 0; border-block:1px solid #e0e8e2; color:#51665b; font-size:.85rem; }
.donation-value { color:#8c9b92; font-size:1.1rem; }
@media(max-width:600px){.my-map-heading{padding:1rem 1rem .25rem;gap:.5rem}.my-map-heading h2{font-size:1.35rem}.my-map-heading .eyebrow{font-size:.6rem}.my-map-toolbar{padding:.6rem 1rem .8rem}.my-map-help{font-size:.7rem}.my-map-footer{padding:.8rem 1rem}#my-map-panel.is-expanded{inset:4px;border-radius:.75rem}.is-expanded .my-map-footer .privacy-note{display:none}#my-map{height:440px}}
.coordinate-note { color:#6a5730; font-size:.8rem; }
.my-popup-precision { display:block; border-radius:.4rem; background:#fff4d8; color:#745619; padding:.35rem .45rem; font-size:10px; }
.my-marker-approximate .my-marker-pin { border-style:dashed; }

body.world-map-mode{overflow:hidden;height:100dvh;margin:0}
body.world-map-mode>header.site-header,body.world-map-mode>footer.site-footer{display:none}
body.world-map-mode main#main-content{margin:0;padding:0;max-width:none}
.world-map-page{position:fixed;inset:0;height:100dvh;overflow:hidden;z-index:100;background:#dce9e7;color:#123b2c;font-family:system-ui,sans-serif}
.world-map-page *{box-sizing:border-box}
.world-topbar{position:absolute;inset:0 0 auto;z-index:500;display:flex;align-items:center;gap:16px;height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));background:#fffffff5;border-bottom:1px solid #ccd9d1}
.world-topbar h1{font:600 17px system-ui,sans-serif;margin:0;flex:1}.world-topbar a{display:flex;align-items:center;min-height:44px;font-size:14px;color:#13533f}.world-brand{font-weight:800;text-decoration:none;letter-spacing:.04em}
.world-map-page #my-map-panel{position:absolute;inset:calc(56px + env(safe-area-inset-top)) 0 0;margin:0;border:0;border-radius:0;box-shadow:none}
.world-map-page #my-map{height:100%;min-height:0;max-height:none;border:0}
.world-search{position:absolute;z-index:500;top:calc(68px + env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));width:min(600px,calc(100% - 24px));padding:8px;border:1px solid #ccd9d1;border-radius:12px;background:#fffffff5;box-shadow:0 3px 16px #173a3020}
.world-primary-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.65fr) auto;gap:6px}.world-search input,.world-search select{width:100%;min-width:0;min-height:44px;border:1px solid #bdcec5;border-radius:7px;padding:8px;background:white;color:#123b2c;font:14px system-ui,sans-serif}.world-map-page .button,.world-map-page button{min-height:44px;padding:8px 12px;font-size:13px;border-radius:7px}.world-advanced{display:inline-block;vertical-align:middle;margin-top:4px}.world-advanced summary,.world-map-info summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:8px;font-size:13px}.world-advanced summary:after{content:' ▾';margin-left:6px}.world-advanced[open] summary:after{content:' ▴'}.world-advanced-fields{display:grid;gap:8px;padding:4px 0 8px}.world-advanced[open]{display:block}.world-advanced-fields label{font-size:12px}.world-count{display:inline-block;margin-left:12px;font-size:12px;color:#496155}
.world-map-dock{position:absolute;z-index:500;right:max(12px,env(safe-area-inset-right));bottom:calc(126px + env(safe-area-inset-bottom));display:flex;gap:6px}.world-map-dock button{background:#fff;border:1px solid #bdcec5;box-shadow:0 2px 8px #173a3020}
.world-map-status{position:absolute;z-index:500;left:max(12px,env(safe-area-inset-left));bottom:calc(75px + env(safe-area-inset-bottom));font-size:12px;max-width:calc(100% - 85px);padding:5px 8px;background:#fffffff0;border-radius:6px}.world-map-status:has(#my-status:empty){display:none}.world-map-status button[hidden]{display:none}
.world-map-info{position:absolute;z-index:501;left:max(12px,env(safe-area-inset-left));bottom:calc(25px + env(safe-area-inset-bottom));background:#fffffff5;border:1px solid #bdcec5;border-radius:8px;max-width:min(330px,calc(100% - 80px));font-size:12px}.world-map-info>div{padding:0 12px 12px;max-height:40dvh;overflow:auto}.world-map-info p{margin:0 0 8px}.world-map-info summary{padding:8px 12px}.world-map-credit{position:absolute;z-index:500;left:12px;bottom:calc(3px + env(safe-area-inset-bottom));font-size:10px;background:#fffffff0;padding:2px 4px;white-space:nowrap}.world-map-credit a,.world-map-info a{color:#13533f}
.world-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.world-map-page .leaflet-bottom{bottom:calc(25px + env(safe-area-inset-bottom))}.world-map-page .leaflet-control-attribution{max-width:240px}
@media(max-width:520px){.world-primary-filters{grid-template-columns:minmax(0,1fr) auto}.world-primary-filters input{grid-column:1/-1}.world-primary-filters select{grid-column:1}.world-topbar{gap:12px}.world-map-dock{bottom:calc(126px + env(safe-area-inset-bottom))}.world-search{max-width:420px}}

.world-map-mode #my-map{background:#dceaf0}.world-map-mode .my-cluster{border-width:2px;border-color:#fff;background:#12654e;box-shadow:0 2px 7px #123b2c30;font-size:12px}.world-map-mode .my-cluster-medium,.world-map-mode .my-cluster-large{border-color:#fff;background:#12654e}.world-map-mode #my-map .leaflet-control-attribution{font-size:9px;background:#ffffffe6;padding:2px 5px}.world-map-mode .world-land-outline{vector-effect:non-scaling-stroke}

.world-map-mode #my-map .leaflet-worldLand-pane svg{max-width:none!important;max-height:none!important;overflow:visible}.world-topbar{width:100%;max-width:none;margin:0}.world-search{max-height:calc(100dvh - 92px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;overscroll-behavior:contain}
