.necca-directory-shell{max-width:1440px;margin:0 auto;padding:18px 16px 24px}
.necca-directory-shell>*{margin-top:0;margin-bottom:0}
.necca-directory-shell>:first-child{margin-top:0}
.necca-directory-shell>:last-child{margin-bottom:0}
.necca-card{background:#fff;border-radius:22px;box-shadow:0 18px 38px rgba(12,33,15,.08);border:1px solid rgba(108,150,92,.12)}
.necca-card+.necca-card{margin-top:16px}
.necca-hero{padding:20px 24px;background:#7CB54E;color:#fff}
.necca-hero h1,.necca-hero p,.necca-section-head h2,.necca-section-head p{margin-top:0}
.necca-hero p{margin-bottom:0;opacity:.92}
.necca-filters{padding:18px}
.necca-meta{font-size:13px;color:#5f6d62}
.necca-content{padding:18px}
.necca-content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.95fr);gap:18px;align-items:start}
.necca-results-panel,.necca-map-panel{min-width:0}
.necca-map-panel{position:sticky;top:16px}
.necca-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.necca-map-wrap{position:relative;overflow:hidden}
.necca-map{height:624px;background:#dce7d3}
.necca-map-fabs{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;gap:8px;z-index:500}
.necca-map-fabs .btn{border-radius:999px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 22px rgba(0,0,0,.18)}
.necca-basemap-fab{position:relative}
.necca-basemap-menu{position:absolute;right:54px;bottom:0;display:none;min-width:196px;padding:10px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid rgba(79,125,43,.14);box-shadow:0 16px 32px rgba(12,33,15,.18);backdrop-filter:blur(10px)}
.necca-basemap-menu.is-open{display:block}
.necca-basemap-menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:0;background:transparent;border-radius:12px;padding:9px 10px;color:#35522f;font-weight:700;text-align:left}
.necca-basemap-menu button:hover{background:#eef6e6}
.necca-basemap-menu button.is-active{background:#e2f0d7;color:#2f5620}
.necca-basemap-menu small{display:block;color:#6b786d;font-weight:600}
.necca-basemap-label{display:flex;flex-direction:column;line-height:1.2}
.necca-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.necca-result-card{padding:16px;border:1px solid rgba(109,159,67,.14);border-radius:18px;background:#fff}
.necca-result-card h3{font-size:17px;margin:0 0 8px}
.necca-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:#eef6e6;color:#4f7d2b;font-size:12px;font-weight:700;margin:0 8px 8px 0;text-decoration:none}
.necca-pager{margin-top:16px}
.necca-pager .pagination{margin-bottom:0}
.necca-pager .page-link{border:none;border-radius:12px;margin:0 3px;color:#35522f}
.necca-pager .active .page-link{background:#6d9f43;color:#fff}
.leaflet-control-attribution{font-size:10px}
.necca-map-popup{min-width:240px}
.necca-popup-location-link{display:inline-block;font-weight:800;color:#35522f;text-decoration:none;margin-bottom:6px}
.necca-popup-location-link:hover,.necca-popup-building-link:hover{text-decoration:underline;color:#4f7d2b}
.necca-popup-meta,.necca-popup-departments{font-size:13px;margin-bottom:6px}
.necca-popup-department-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.necca-popup-building-link{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#eef6e6;color:#35522f;font-weight:700;text-decoration:none}
.necca-popup-hint{font-size:12px;color:#5f6d62;margin-top:6px}
.leaflet-popup-content{margin:12px 14px}
/* --------------------------------------------------
   ArcGIS Map replacement (αντί για iframe)
-------------------------------------------------- */

.necca-map {
  height: 624px;                 /* ίδιο ύψος με πριν */
  width: 100%;
  background: #dce7d3;           /* ίδιο fallback bg */
}

/* rounded corners όπως το iframe */
.necca-map-wrap {
  position: relative;
  overflow: hidden;
}

/* responsive heights */
@media (max-width: 1100px) {
  .necca-map {
    height: 480px;
  }
}

@media (max-width: 768px) {
  .necca-map {
    height: 360px;
  }
}


/* --------------------------------------------------
   ArcGIS JS UI z-index fix
-------------------------------------------------- */

/* Βάση του ArcGIS view */
.necca-map .esri-view-root {
  position: relative;
  z-index: 1;
}

/* Όλο το ArcGIS UI (zoom, home, basemap) */
.necca-map .esri-ui {
  z-index: 200;
}

/* Expand panels (π.χ. Υπόβαθρο) */
.necca-map .esri-expand,
.necca-map .esri-expand__content {
  z-index: 300;
}

/* ArcGIS widgets (κουμπιά) */
.necca-map .esri-widget {
  z-index: 250;
}

/* ΔΙΚΑ σου floating buttons μένουν πιο πάνω */
.necca-map-fabs {
  z-index: 500;
}


#publicDirectoryMap,
#publicDirectoryMap .esri-view,
#publicDirectoryMap .esri-view-root,
#publicDirectoryMap .esri-ui,
#publicDirectoryMap .esri-popup {
  z-index: 9999 !important;
}

#publicDirectoryMap {
  position: relative;
  overflow: visible !important;
}