/* Private Syria schools & mosques map — executive intelligence chrome.
   Brand-consistent with the Foundation site (Jost/Inter, blue/pink accents). */
.pm-body{
  --pm-bg:#0C0C0B; --pm-panel:#161614; --pm-panel-2:#1e1e1b; --pm-line:rgba(242,240,234,.14);
  --pm-line-2:rgba(242,240,234,.28); --pm-text:#F2F0EA; --pm-muted:rgba(242,240,234,.62);
  --pm-faint:rgba(242,240,234,.4); --pm-blue:#89CFF0; --pm-pink:#F19BC2;
  --pm-renov:#89CFF0; --pm-school:#C9A227; --pm-mosque:#3FB6A8; --pm-warn:#E7B54A;
  margin:0; background:var(--pm-bg); color:var(--pm-text);
  font-family:var(--font-sans,"Inter",sans-serif); min-height:100vh;
  display:flex; flex-direction:column; max-width:none; padding:0;
}
.pm-body *{box-sizing:border-box;}
/* the [hidden] attribute must beat our flex/grid display rules */
.pm-state[hidden],.pm-detail[hidden],.pm-tablewrap[hidden],.pm-export-menu[hidden],[data-pm][hidden]{display:none!important;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

.pm-privabar{display:flex;gap:.55rem;align-items:center;justify-content:center;
  background:linear-gradient(90deg,#241d12,#2a2118);border-bottom:1px solid var(--pm-line);
  color:#EBD9AE;font-size:.78rem;letter-spacing:.01em;padding:.5rem 1rem;text-align:center;}
.pm-privabar b{color:#F6E7BE;}
.pm-lock{font-size:.85rem;}

.pm-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:.9rem clamp(1rem,3vw,1.8rem);border-bottom:1px solid var(--pm-line);background:var(--pm-bg);}
.pm-head-l{display:flex;align-items:center;gap:.9rem;min-width:0;}
.pm-logo{height:38px;width:auto;filter:brightness(0) invert(1);opacity:.92;}
.pm-title{font-family:var(--font-display,"Jost",sans-serif);font-weight:600;font-size:1.05rem;letter-spacing:.01em;}
.pm-sub{font-size:.8rem;color:var(--pm-muted);margin-top:.1rem;}
.pm-head-r{display:flex;align-items:center;gap:1rem;}
.pm-updated{font-size:.74rem;color:var(--pm-faint);}
.pm-back{color:var(--pm-muted);text-decoration:none;font-size:.8rem;border:1px solid var(--pm-line);
  padding:.4rem .7rem;border-radius:7px;white-space:nowrap;}
.pm-back:hover{color:var(--pm-text);border-color:var(--pm-line-2);}

/* dashboard */
.pm-dash{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;
  background:var(--pm-line);border-bottom:1px solid var(--pm-line);}
.pm-cell{background:var(--pm-bg);padding:.75rem 1rem;}
.pm-cell-n{font-family:var(--font-display,"Jost",sans-serif);font-weight:600;font-size:1.5rem;line-height:1;}
.pm-cell-l{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pm-muted);margin-top:.3rem;}
.pm-cell--accent .pm-cell-n{color:var(--pm-blue);}
.pm-cell--mosque .pm-cell-n{color:var(--pm-mosque);}
.pm-cell-sub{font-size:.66rem;color:var(--pm-faint);margin-top:.15rem;}

/* toolbar */
.pm-toolbar{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:flex-end;
  padding:.8rem clamp(1rem,3vw,1.8rem);border-bottom:1px solid var(--pm-line);background:var(--pm-panel);}
.pm-search{flex:1 1 240px;min-width:200px;}
.pm-search input{width:100%;background:var(--pm-bg);border:1px solid var(--pm-line-2);color:var(--pm-text);
  border-radius:9px;padding:.6rem .8rem;font-size:.9rem;font-family:inherit;}
.pm-search input:focus{outline:2px solid var(--pm-blue);outline-offset:1px;border-color:var(--pm-blue);}
.pm-filters{display:flex;flex-wrap:wrap;gap:.6rem;}
.pm-field{display:flex;flex-direction:column;gap:.25rem;}
.pm-field>span{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--pm-faint);}
.pm-field select{background:var(--pm-bg);border:1px solid var(--pm-line-2);color:var(--pm-text);
  border-radius:8px;padding:.45rem .6rem;font-size:.82rem;font-family:inherit;min-width:130px;}
.pm-field select:focus{outline:2px solid var(--pm-blue);outline-offset:1px;}
.pm-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;}
.pm-view{display:inline-flex;border:1px solid var(--pm-line-2);border-radius:8px;overflow:hidden;}
.pm-vbtn{background:transparent;color:var(--pm-muted);border:0;padding:.45rem .8rem;font-size:.8rem;cursor:pointer;font-family:inherit;}
.pm-vbtn.is-on{background:var(--pm-blue);color:#0C0C0B;font-weight:600;}
.pm-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--pm-muted);cursor:pointer;}
.pm-btn{background:var(--pm-blue);color:#0C0C0B;border:0;border-radius:8px;padding:.5rem .85rem;
  font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;}
.pm-btn:hover{filter:brightness(1.06);}
.pm-btn-ghost{background:transparent;color:var(--pm-text);border:1px solid var(--pm-line-2);font-weight:500;}
.pm-btn-ghost:hover{border-color:var(--pm-blue);color:var(--pm-blue);}
.pm-export{position:relative;}
.pm-export-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--pm-panel-2);
  border:1px solid var(--pm-line-2);border-radius:10px;padding:.35rem;min-width:210px;z-index:1200;box-shadow:0 12px 40px rgba(0,0,0,.5);}
.pm-export-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;color:var(--pm-text);
  padding:.5rem .6rem;font-size:.8rem;border-radius:7px;cursor:pointer;font-family:inherit;}
.pm-export-menu button:hover{background:var(--pm-bg);color:var(--pm-blue);}

/* active category chips */
.pm-chipbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;
  padding:.6rem clamp(1rem,3vw,1.8rem);border-bottom:1px solid var(--pm-line);background:var(--pm-bg);}
.pm-chip-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pm-faint);margin-right:.15rem;}
.pm-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--pm-panel);color:var(--pm-muted);
  border:1px solid var(--pm-line-2);border-radius:999px;padding:.4rem .8rem;font-size:.8rem;font-family:inherit;
  cursor:pointer;transition:all .12s ease;}
.pm-chip:hover{color:var(--pm-text);border-color:var(--pm-blue);}
.pm-chip .pm-mk{width:14px;height:14px;}
.pm-chip.is-on{background:var(--pm-blue);color:#0C0C0B;border-color:var(--pm-blue);font-weight:600;}
.pm-chip.is-on .pm-mk--renov{background-color:#0C0C0B;}

/* subbar: count + legend */
.pm-subbar{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between;
  padding:.5rem clamp(1rem,3vw,1.8rem);border-bottom:1px solid var(--pm-line);background:var(--pm-bg);}
.pm-count{font-size:.8rem;color:var(--pm-muted);}
.pm-count b{color:var(--pm-text);}
.pm-legend{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.72rem;color:var(--pm-muted);}
.pm-lg{display:inline-flex;align-items:center;gap:.35rem;}
.pm-mk{width:16px;height:16px;display:inline-block;flex:0 0 auto;}
.pm-mk--renov{background:#0C0C0B url(../media/brand/u-mark.svg) center/72% no-repeat;border:1.5px solid var(--pm-renov);border-radius:5px;}
.pm-mk--school{background:var(--pm-school);border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(0,0,0,.35);}
.pm-mk--mosque{background:var(--pm-mosque);border-radius:50% 50% 50% 0;transform:rotate(-45deg);}
.pm-mk--approx{border:1.6px dashed var(--pm-warn);border-radius:50%;opacity:.85;}
.pm-mk--cluster{background:rgba(137,207,240,.22);border:1.5px solid var(--pm-blue);border-radius:50%;
  color:var(--pm-blue);font-size:.6rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;}

/* stage */
.pm-stage{position:relative;flex:1 1 auto;display:flex;min-height:60vh;}
.pm-maparea{position:relative;flex:1 1 auto;min-width:0;}
.pm-map{position:absolute;inset:0;background:#0f0f0e;}
.pm-stage[data-view="table"] .pm-maparea{display:none;}
.pm-stage[data-view="table"] .pm-tablewrap{display:block;}

/* leaflet dark tweaks */
.leaflet-container{background:#0f0f0e;font-family:var(--font-sans,"Inter",sans-serif);}
.leaflet-bar a{background:var(--pm-panel);color:var(--pm-text);border-bottom-color:var(--pm-line);}
.leaflet-bar a:hover{background:var(--pm-panel-2);}
.leaflet-control-attribution{background:rgba(12,12,11,.7)!important;color:var(--pm-faint)!important;}
.leaflet-control-attribution a{color:var(--pm-muted)!important;}

/* markers */
.pm-pin{position:relative;display:block;}
.pm-pin i{display:block;}
.pm-pin--renov i{width:22px;height:22px;border-radius:6px;background:#0C0C0B url(../media/brand/u-mark.svg) center/74% no-repeat;
  border:2px solid var(--pm-renov);box-shadow:0 2px 6px rgba(0,0,0,.5);}
.pm-pin--school i{width:17px;height:17px;border-radius:50%;background:var(--pm-school);
  border:2px solid #0C0C0B;box-shadow:0 0 0 1px var(--pm-school),0 2px 5px rgba(0,0,0,.5);}
.pm-pin--mosque i{width:18px;height:18px;background:var(--pm-mosque);border:2px solid #0C0C0B;
  border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 1px var(--pm-mosque),2px 2px 5px rgba(0,0,0,.5);}
.pm-pin--mosque i::after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;
  background:#0C0C0B;border-radius:50% 50% 0 0;transform:translate(-50%,-58%);}
.pm-pin--approx i{border-style:dashed!important;opacity:.9;}
.pm-pin--pkg b{display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 6px;
  background:var(--pm-school);color:#0C0C0B;border:2px solid #0C0C0B;border-radius:9px;font-size:.85rem;font-weight:800;
  box-shadow:0 0 0 1.5px var(--pm-school),0 3px 8px rgba(0,0,0,.55);}
.pm-pin.is-sel i,.pm-pin.is-sel b{outline:3px solid #fff;outline-offset:1px;}
.pm-pin.is-sel{z-index:1000!important;}
.pm-pin:hover i,.pm-pin:hover b{filter:brightness(1.12);}
.pm-mk--pkg{background:var(--pm-school);border-radius:4px;color:#0C0C0B;font-size:.55rem;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;border:1px solid #0C0C0B;}
.pm-cluster{background:rgba(137,207,240,.16);border:1.5px solid rgba(137,207,240,.75);border-radius:50%;
  color:var(--pm-blue);font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.4);}
.pm-cluster--mosque{background:rgba(63,182,168,.16);border-color:rgba(63,182,168,.75);color:var(--pm-mosque);}
.pm-cluster span{font-size:.78rem;}

/* popup */
.leaflet-popup-content-wrapper{background:var(--pm-panel-2);color:var(--pm-text);border-radius:12px;border:1px solid var(--pm-line-2);}
.leaflet-popup-tip{background:var(--pm-panel-2);border:1px solid var(--pm-line-2);}
.leaflet-popup-content{margin:.8rem .9rem;font-size:.82rem;line-height:1.45;}
.pm-pop-name{font-family:var(--font-display,"Jost",sans-serif);font-weight:600;font-size:.95rem;}
.pm-pop-ar{color:var(--pm-muted);font-size:.9rem;margin-top:.1rem;}
.pm-pop-tag{display:inline-block;margin-top:.35rem;font-size:.6rem;text-transform:uppercase;letter-spacing:.07em;
  padding:.16rem .45rem;border-radius:5px;border:1px solid var(--pm-line-2);color:var(--pm-muted);}
.pm-pop-tag--renov{color:var(--pm-renov);border-color:var(--pm-renov);}
.pm-pop-tag--mosque{color:var(--pm-mosque);border-color:var(--pm-mosque);}
.pm-pop-row{margin-top:.4rem;color:var(--pm-muted);}
.pm-pop-row b{color:var(--pm-text);font-weight:500;}
.pm-pop-warn{margin-top:.4rem;color:var(--pm-warn);font-size:.74rem;}
.pm-pop-link{display:inline-block;margin-top:.5rem;color:var(--pm-blue);text-decoration:none;font-size:.78rem;}

/* detail panel */
.pm-detail{width:min(360px,86vw);flex:0 0 auto;background:var(--pm-panel);border-left:1px solid var(--pm-line);
  overflow-y:auto;position:relative;padding:1.1rem 1.2rem 2rem;}
.pm-stage[data-view="table"] .pm-detail{display:none;}
.pm-detail-x{position:absolute;top:.6rem;right:.7rem;background:transparent;border:0;color:var(--pm-muted);font-size:1.4rem;cursor:pointer;line-height:1;}
.pm-detail-x:hover{color:var(--pm-text);}
.pm-d-tag{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;border-radius:6px;border:1px solid var(--pm-line-2);color:var(--pm-muted);display:inline-block;}
.pm-d-name{font-family:var(--font-display,"Jost",sans-serif);font-weight:600;font-size:1.25rem;margin:.6rem 0 .1rem;line-height:1.15;}
.pm-d-ar{color:var(--pm-muted);font-size:1rem;}
.pm-d-grid{margin-top:1rem;display:grid;grid-template-columns:1fr;gap:.05rem;border:1px solid var(--pm-line);border-radius:10px;overflow:hidden;}
.pm-d-row{display:flex;justify-content:space-between;gap:1rem;padding:.5rem .7rem;background:var(--pm-bg);font-size:.8rem;}
.pm-d-row dt{color:var(--pm-faint);}
.pm-d-row dd{margin:0;text-align:right;color:var(--pm-text);}
.pm-d-conf{display:inline-block;padding:.15rem .45rem;border-radius:5px;font-size:.68rem;font-weight:600;}
.conf-verified-exact{background:rgba(63,182,168,.18);color:#7fe0d4;}
.conf-verified-high{background:rgba(137,207,240,.18);color:var(--pm-blue);}
.conf-approximate-locality{background:rgba(231,181,74,.16);color:var(--pm-warn);}
.conf-unresolved{background:rgba(242,240,234,.1);color:var(--pm-muted);}
.pm-d-sources{margin-top:1rem;font-size:.75rem;color:var(--pm-muted);}
.pm-d-sources li{margin-bottom:.3rem;}
.pm-d-act{margin-top:1rem;display:flex;gap:.5rem;flex-wrap:wrap;}

/* states */
.pm-state{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:800;
  background:var(--pm-panel-2);border:1px solid var(--pm-line-2);border-radius:12px;padding:.8rem 1.1rem;
  font-size:.85rem;color:var(--pm-muted);display:flex;align-items:center;gap:.5rem;max-width:80%;text-align:center;}
.pm-state--err{border-color:#7a4a3a;color:#e7b39c;}
.pm-link{background:transparent;border:0;color:var(--pm-blue);text-decoration:underline;cursor:pointer;font:inherit;padding:0;}
.pm-spin{width:15px;height:15px;border:2px solid var(--pm-line-2);border-top-color:var(--pm-blue);border-radius:50%;animation:pmspin .7s linear infinite;}
@keyframes pmspin{to{transform:rotate(360deg);}}

/* table */
.pm-tablewrap{display:none;width:100%;overflow:auto;max-height:calc(100vh - 220px);padding:0 clamp(1rem,3vw,1.8rem) 2rem;}
.pm-table{width:100%;border-collapse:collapse;font-size:.8rem;}
.pm-table thead th{position:sticky;top:0;background:var(--pm-panel);text-align:left;padding:.6rem .7rem;
  border-bottom:1px solid var(--pm-line-2);color:var(--pm-muted);font-weight:600;cursor:pointer;white-space:nowrap;z-index:5;}
.pm-table thead th:hover{color:var(--pm-text);}
.pm-table tbody td{padding:.5rem .7rem;border-bottom:1px solid var(--pm-line);vertical-align:top;}
.pm-table tbody tr:hover{background:var(--pm-panel);}
.pm-table tbody tr.is-sel{background:rgba(137,207,240,.1);}
.pm-t-ar{color:var(--pm-muted);}
.pm-t-type{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;}
.pm-t-dot{width:11px;height:11px;flex:0 0 auto;}
.pm-t-dot--renov{background:#0C0C0B url(../media/brand/u-mark.svg) center/80% no-repeat;border:1px solid var(--pm-renov);border-radius:3px;}
.pm-t-dot--school{background:var(--pm-school);border-radius:50%;}
.pm-t-dot--mosque{background:var(--pm-mosque);border-radius:50% 50% 50% 0;transform:rotate(-45deg);}
.pm-t-dot--pkg{background:var(--pm-faint);border-radius:2px;}
.pm-t-bundle td{color:var(--pm-muted);font-style:italic;}
.pm-t-bundle:hover{background:var(--pm-panel);}
.pm-t-view{background:transparent;border:1px solid var(--pm-line-2);color:var(--pm-blue);border-radius:6px;padding:.25rem .5rem;font-size:.72rem;cursor:pointer;white-space:nowrap;}
.pm-t-view:hover{border-color:var(--pm-blue);}
.pm-tablefoot{padding:1rem 0;text-align:center;}

/* footer */
.pm-foot{border-top:1px solid var(--pm-line);padding:1rem clamp(1rem,3vw,1.8rem);background:var(--pm-panel);
  font-size:.72rem;color:var(--pm-faint);}
.pm-foot a{color:var(--pm-muted);}
.pm-limit{margin:.5rem 0 0;max-width:110ch;line-height:1.5;}

@media (max-width:820px){
  .pm-stage{flex-direction:column;}
  .pm-detail{width:100%;border-left:0;border-top:1px solid var(--pm-line);max-height:50vh;}
  .pm-map{position:absolute;}
  .pm-maparea{min-height:56vh;}
}

/* ============================================================= */
/* SIDEBAR LAYOUT (overrides the earlier top-bar layout)         */
/* ============================================================= */
.pm-body{display:flex;flex-direction:column;height:100vh;min-height:0;overflow:hidden;}
.pm-shell{display:flex;flex:1 1 auto;min-height:0;}

/* sidebar */
.pm-sidebar{width:340px;flex:0 0 340px;background:var(--pm-panel);border-right:1px solid var(--pm-line);
  display:flex;flex-direction:column;min-height:0;transition:margin-left .2s ease;}
.pm-side-head{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;border-bottom:1px solid var(--pm-line);}
.pm-side-head .pm-logo{height:34px;width:auto;filter:brightness(0) invert(1);opacity:.92;}
.pm-side-head .pm-title{font-family:var(--font-display,"Jost",sans-serif);font-weight:600;font-size:1rem;}
.pm-side-head .pm-sub{font-size:.72rem;color:var(--pm-muted);margin-top:.1rem;}
.pm-side-toggle{margin-left:auto;background:transparent;border:1px solid var(--pm-line-2);color:var(--pm-muted);
  border-radius:7px;width:26px;height:26px;cursor:pointer;font-size:1rem;line-height:1;flex:0 0 auto;}
.pm-side-toggle:hover{color:var(--pm-text);border-color:var(--pm-blue);}
.pm-side-scroll{flex:1 1 auto;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1.1rem;}
.pm-side-block{display:flex;flex-direction:column;gap:.5rem;}
.pm-side-lbl{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--pm-faint);font-weight:600;}
.pm-side-block input[type="search"],.pm-side-block select{width:100%;background:var(--pm-bg);
  border:1px solid var(--pm-line-2);color:var(--pm-text);border-radius:9px;padding:.6rem .75rem;font-size:.86rem;font-family:inherit;}
.pm-side-block input:focus,.pm-side-block select:focus{outline:2px solid var(--pm-blue);outline-offset:1px;border-color:var(--pm-blue);}
.pm-chips-v{display:flex;flex-direction:column;gap:.4rem;}
.pm-chips-v .pm-chip{width:100%;justify-content:flex-start;}
.pm-side-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.6rem;}
.pm-side-block .pm-view{width:100%;}
.pm-side-block .pm-vbtn{flex:1;text-align:center;}
.pm-side-block .pm-legend{flex-direction:column;gap:.45rem;align-items:flex-start;}
.pm-side-foot{margin-top:auto;padding-top:1rem;border-top:1px solid var(--pm-line);font-size:.68rem;color:var(--pm-faint);}
.pm-side-foot a{color:var(--pm-muted);}
.pm-side-foot .pm-limit{margin:.5rem 0 0;line-height:1.5;}
.pm-export-menu{left:0;right:auto;}

/* detail now lives in the sidebar */
.pm-detail{position:static;width:auto;border:1px solid var(--pm-blue);border-radius:12px;background:var(--pm-panel-2);
  padding:1rem 1rem 1.2rem;order:-1;}
.pm-stage[data-view="table"] .pm-detail{display:block;}

/* main column */
.pm-main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0;}
.pm-topbar{display:flex;align-items:stretch;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--pm-line);background:var(--pm-bg);}
.pm-topbar-r{display:flex;align-items:center;gap:.8rem;padding:.5rem 1rem;flex:0 0 auto;}
.pm-topbar-r .pm-updated{font-size:.7rem;color:var(--pm-faint);}
.pm-topbar-r .pm-back{color:var(--pm-muted);text-decoration:none;font-size:.78rem;border:1px solid var(--pm-line);
  padding:.35rem .65rem;border-radius:7px;white-space:nowrap;}
.pm-topbar-r .pm-back:hover{color:var(--pm-text);border-color:var(--pm-line-2);}

/* compact dashboard: single scrolling row */
.pm-dash{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:0;border:0;flex:1 1 auto;}
.pm-dash .pm-cell{background:var(--pm-bg);padding:.55rem .9rem;border-right:1px solid var(--pm-line);white-space:nowrap;flex:0 0 auto;}
.pm-dash .pm-cell-n{font-size:1.15rem;}
.pm-dash .pm-cell-l{font-size:.6rem;margin-top:.15rem;}
.pm-dash .pm-cell-sub{display:none;}

.pm-subbar{border-bottom:1px solid var(--pm-line);}

/* stage fills the rest; map absolute */
.pm-stage{position:relative;flex:1 1 auto;min-height:0;display:block;}
.pm-maparea{position:absolute;inset:0;}
.pm-map{position:absolute;inset:0;}
.pm-stage[data-view="table"] .pm-maparea{display:none;}
.pm-tablewrap{position:absolute;inset:0;max-height:none;overflow:auto;padding:0 1.2rem 2rem;background:var(--pm-bg);}
.pm-stage[data-view="map"] .pm-tablewrap{display:none;}
.pm-stage[data-view="table"] .pm-tablewrap{display:block;}

/* collapsed sidebar — shrinks to a strip that still shows the toggle */
.pm-sidebar{transition:flex-basis .22s ease, width .22s ease;}
.pm-body.pm-side-collapsed .pm-sidebar{flex:0 0 48px;width:48px;}
.pm-body.pm-side-collapsed .pm-side-scroll{display:none;}
.pm-body.pm-side-collapsed .pm-side-head{padding:.7rem .4rem;justify-content:center;}
.pm-body.pm-side-collapsed .pm-side-head .pm-logo,
.pm-body.pm-side-collapsed .pm-side-head>div{display:none;}
.pm-body.pm-side-collapsed .pm-side-toggle{transform:rotate(180deg);margin:0;}

/* responsive: stack sidebar over map */
@media (max-width:860px){
  .pm-body{height:auto;overflow:visible;}
  .pm-shell{flex-direction:column;}
  .pm-sidebar{width:100%;flex:none;border-right:0;border-bottom:1px solid var(--pm-line);max-height:none;}
  .pm-side-scroll{max-height:none;}
  .pm-main{min-height:max(560px,78vh);}
  .pm-dash{flex-wrap:wrap;}
  .pm-tablewrap{position:relative;}
}

/* ============================================================= */
/* RICH DETAIL OVERLAY (on the map, within map height) + media   */
/* ============================================================= */
.pm-detail{position:absolute;top:12px;right:12px;bottom:12px;left:auto;order:0;
  width:min(384px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;z-index:950;
  background:var(--pm-panel);border:1px solid var(--pm-line-2);border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.62);padding:0;}
.pm-stage[data-view="table"] .pm-detail{display:none;}
.pm-detail-x{position:absolute;top:.55rem;right:.6rem;z-index:5;background:rgba(12,12,11,.6);border:0;color:#fff;
  width:30px;height:30px;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer;}
.pm-detail-x:hover{background:rgba(12,12,11,.85);}
[data-pm="detail-body"]{padding:1rem 1.1rem 1.2rem;}
.pm-d-media{position:relative;margin:-1rem -1.1rem .9rem;aspect-ratio:4/3;background:#000;
  border-radius:14px 14px 0 0;overflow:hidden;}
.pm-d-media img,.pm-d-media video{width:100%;height:100%;object-fit:cover;display:block;}
.pm-car-img{cursor:zoom-in;}
.pm-car-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(12,12,11,.55);border:0;color:#fff;
  width:34px;height:34px;border-radius:50%;font-size:1.4rem;line-height:1;cursor:pointer;z-index:3;}
.pm-car-prev{left:8px;} .pm-car-next{right:8px;}
.pm-car-nav:hover{background:rgba(12,12,11,.85);}
.pm-car-count{position:absolute;bottom:8px;right:10px;background:rgba(12,12,11,.62);color:#fff;font-size:.7rem;
  padding:.2rem .5rem;border-radius:20px;z-index:3;}
.pm-d-media-cap{position:absolute;bottom:8px;left:10px;background:rgba(12,12,11,.62);color:#eee;font-size:.64rem;
  padding:.2rem .5rem;border-radius:6px;z-index:3;}
.pm-d-story{font-size:.84rem;line-height:1.55;color:var(--pm-muted);margin:.3rem 0 .2rem;}
.pm-d-note{font-size:.72rem;color:var(--pm-faint);font-style:italic;margin:.4rem 0 0;}
.pm-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:5000;display:flex;
  align-items:center;justify-content:center;cursor:zoom-out;}
.pm-lightbox img{max-width:94vw;max-height:92vh;border-radius:8px;box-shadow:0 20px 80px rgba(0,0,0,.7);}
.pm-lb-x{position:fixed;top:14px;right:20px;background:transparent;border:0;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer;}

/* bundled-school marker (renovated U-mark with a gold ring = approximate) */
.pm-pin--bundled i{width:18px!important;height:18px!important;border-color:var(--pm-school)!important;opacity:.92;}
.pm-mk--bundled{background:#0C0C0B url(../media/brand/u-mark.svg) center/70% no-repeat;
  border:1.5px solid var(--pm-school);border-radius:5px;}
.pm-t-dot--bundled{border:1px solid var(--pm-school)!important;border-radius:3px!important;}

@media (max-width:860px){
  .pm-detail{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:70%;}
}

/* ============================================================= */
/* PUBLIC EMBED — "Common Ground" page (app inside a section)     */
/* ============================================================= */
/* full-bleed: the map is one continuous dark canvas, flush with the sections
   above and below — no light margins, no rounded card, edge to edge */
.cg-mapsection{padding:0;margin:0;background:#0C0C0B;}
.cg-wrap{max-width:none;margin:0;padding:0;}
.cg-app.pm-body{height:clamp(600px,88vh,1080px);max-width:none;overflow:hidden;border:0;border-radius:0;box-shadow:none;}
.cg-attrib{margin:0;padding:.7rem clamp(1rem,4vw,2.5rem);font-size:.72rem;line-height:1.5;
  color:rgba(242,240,234,.45);background:#0C0C0B;border-top:1px solid rgba(242,240,234,.08);}
.cg-attrib a{color:rgba(242,240,234,.7);}
/* the app's own slim head (site header already carries the logo) */
.cg-app .pm-side-head .pm-logo{height:26px;}
.cg-app .pm-side-head .pm-title{font-size:.92rem;}
@media (max-width:860px){ .cg-app.pm-body{height:auto;min-height:0;} }
