.leaflet-control-zoom-in, .leaflet-control-zoom-out{
  background: #623c1073 !important;
  box-shadow: 1px 1px 1px #342727;
}


.eeng-filter-icon,
#filter-icon {
position: absolute;
top: 40%;
left: 4%;
z-index: 1001;
background: #ffffff00;
color: #132c44;
border-radius: 50%;
width: 100px;
height: 100px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
animation: buzz 1s infinite;  /* Buzzing like a notification */
font-size: 60px;
border: 0;
padding: 0;
appearance: none;
line-height: 0;
-webkit-tap-highlight-color: transparent;
}

.eeng-filter-icon:hover,
.eeng-filter-icon:focus,
.eeng-filter-icon:active,
#filter-icon:hover,
#filter-icon:focus,
#filter-icon:active {
background: transparent !important;
color: #132c44 !important;
box-shadow: none !important;
}

.eeng-filter-icon svg,
#filter-icon svg{
  width: 100px !important;
  height: 100px !important;
  /* box-shadow: 1px 1px 26px #ffffff; */
  fill: #132c44;
}
/* @media (max-width:768px){ */
  .eeng-filter-icon svg,
  #filter-icon svg{
    box-shadow: 1px 1px 26px #ffffff;
    border-radius: 100px;
  }
/* } */
@keyframes buzz {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.1); }
}
#sidebar {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 0;
background: #132c447d;
overflow: hidden;
transition: width 0.3s ease, transform 0.3s ease;
transform-origin: top left;
z-index: 1000;
display: flex;
flex-direction: column;
border-right: 3px dotted #8f979d47;
}
#sidebar.open {
width: 320px;
transform: scale(1);
}
@media (max-width:768px){
#sidebar{
/* background: #132c44f0; */
border-right: 4px dotted #596273;
}
}

#sidebar .filters-panel,
#sidebar .nav-container,
#sidebar .lga-checkboxes {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 180ms ease;
}

#sidebar.open .filters-panel,
#sidebar.open .nav-container,
#sidebar.open .lga-checkboxes {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition-delay: 170ms;   /* triggers at ~90% open */
}

#sidebar.closing .filters-panel,
#sidebar.closing .nav-container,
#sidebar.closing .lga-checkboxes {
  opacity: 0 !important;
  visibility: hidden !important;
  transition-delay: 0ms !important;
  transition-duration: 35ms !important;
}

.nav-container {
  padding: 10px 0px;
  color: #fff;
  /* background: #08172600; */
  font-size: 16px;
  text-align: center;
  padding-bottom: 20px;
  /* background: #c9c5c530; */
  background: #fffdfd52;
  margin-top: 10px;
  border-bottom: 1px solid #7e6d3e;
  box-shadow: 20px 1px 5px #000000;

}
.nav-container ul {
list-style: none;
padding: 0;
}
.nav-container li {
  margin: 10px 0;
  background: #95959500;
  border-bottom: 1px dotted #ffffff75;
  padding-bottom: 5px;
  color: #424242;;
}

.nav-container li a{
  color: #00000085;
}

.nav-container li.active a{
  color: #000 !important;
}
.nav-container li.active{
  background: #ffffff;
  padding: 10px;
}


.filters-panel {
  min-height: 30px;
  border-bottom: 2px solid #132c44;
  margin-bottom: 15px;
  border-radius: 15px;
  padding-top: 20px;
  background: rgb(19 44 68 / 55%);  /* Semi-transparent over map */
  z-index: 999;  /* On top but below icon if needed */
  align-items: flex-start;
  justify-content: center;
  opacity: 0;
  position: relative; width: 100%; background: transparent; display: flex; flex-direction: column; opacity: 1; transform: none;
}
.filters-panel.open {
display: flex;
opacity: 1;
transform: scale(1);  /* Grow to full */
}
.close-icon {
position: absolute;
top: 0px;
right: 17px;
font-size: 24px;
padding: 5px;
cursor: pointer;
color: #eaeaea;
}

.filter-location-label {
text-align: left;
padding: 10px;
padding-bottom: 0;
position: relative;
top: 8px;
color: #114111;
}
.filter-location-label h3{
color: #fff;
font-weight: 300;
font-size: 1.5em;
}

.filters-panel select {
  margin: 8px;
  padding: 5px 10px;
  min-width: 80px;
  background: #ffffff00;
  color: #ffffff;
  text-align: center;
  font-size: 1.2em;
  border: none;
  border-bottom: 2px solid #ffffff;
  border-radius: 1px;
  
}

.selects-container select.active{
  box-shadow: 0px 2px 11px #615e24;
  background: #700b0b;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  padding-right: 18px;
  max-width: 140px;
}

.lga-checkboxes {
  width: calc(100% - 20px);
  min-width: 95%;
  min-height: 50px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 10px;
  padding: 12px 14px;
  background: radial-gradient(#132b491c, #00000042);
  color: #fff;
  font-size: 1.5em;
  text-align: left;
  border-right: 2px dashed #a69e9e;
  border-radius: 10px;
  overflow: hidden;
}

.lga-checkboxes-edit{
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}

.lga-checkboxes-edit[hidden] {
  display: none !important;
}

.lga-checkboxes-list {
  width: 100%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 6px;
  min-height: 52px;
  max-height: 112px;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: auto;
  scrollbar-color: #fff #ddd;
  padding-right: 4px;
}

.lga-checkboxes-list::-webkit-scrollbar {
  width: 10px;
}

.lga-checkboxes-list label {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  padding: 4px 6px;
  background: #d9d9d9;
  font-size: 13px;
  font-weight: 400;
  max-width: 100%;
  text-align: left;
  color: #000000;
}

.lga-checkboxes-list label:hover{
  background: #807b3d7d;
}

.lga-checkboxes-list .lga-status-message,
.lga-checkboxes-list .lga-empty-message,
.lga-checkboxes-list .lga-error-message {
  width: 100%;
  font-size: 13px;
  line-height: 1.4;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.14);
}

.lga-checkboxes-edit button {
  font-size: 12px;
  margin: 0;
  color: #000000;
  padding: 3px 8px;
}
.lga-checkboxes-edit button.unselect_all_label {
  background:#b36969;
}
.lga-checkboxes-edit button.unselect_all_label:hover {
  background:#b08989;
}
.eeng-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: currentColor;
  vertical-align: middle;
}

.eeng-icon svg {
  width: 1em;
  height: 1em;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.button-icon {
  font-size: 16px;
  margin-right: 4px;
}

.close-icon .eeng-icon-close, .details-close .eeng-icon-close{
    font-size: 34px;
    color: #ff6262ed;
    text-shadow: 1px 2px 2px #000000;
}

.nav-lock{
  font-size: 16px;
  margin-left: 4px;
}
.lga-checkboxes-edit button.select_all_label {
  background:#8ddfbe;
}

.lga-checkboxes-edit button.select_all_label:hover {
  background:#c1e5d7;
}

.lga-label { 
  font-size: 9px;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  pointer-events: none;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 700;
  color: #111111;
}
.selects-container { 
  display: flex; 
  flex-direction: row; 
  justify-content: center; 
  margin-top: 20px;
}
.filters-panel { 
  flex-direction: column; 
}

.leaflet-popup-content {
  font-size: 14px;
  color: #fff;
  min-width: 250px !important;
  padding-bottom: 20px;
  margin: 13px 8px 13px 8px !important;
}

.scheme-description{
  display: block;
  margin-top: 2px !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.scheme-category{
  text-align: center;
  margin-top: 10px;          
}

.category-pagination{
  text-align: left;
  font-size: 15px;
}

.pag-btn{
  background: #ffffff00 !important;
  color: #fff;
  padding: 2px 15px;
  border: 0;
  font-size: 1.12rem;
  line-height: 1;
  cursor: pointer;
}

.scheme-category h6{
  font-weight: 400 !important;

}

.scheme-name{
  font-weight: 400;
  color: #9ddd62;
}
.scheme-location{
  background: #c3b98600;
  color: #8a7a0d;
  font-weight: 400;
  text-transform: uppercase;
  display: inline-block;
  padding: 2px;
}

.scheme-link:hover{
  color: #37ffaf !important;
}
.scheme-pagination{
  display: flex;
  flex-direction: row;
  color: #ceceb9;
  }
  .last-updated{
    color: #fffcbb;
    font-weight: 300;
    font-size: 9px;
    padding: 3px;
    display: inline-block;
    }

.popup-content-container {
  max-height: 280px;
  overflow-y: auto;        /* auto = scrollbar only when needed (better than scroll) */
  overflow-x: hidden;
  padding-right: 8px;      /* optional: gives a little space for the scrollbar */
}
.popup-content-container details{
  text-align: left;
}

#details-panel{
  border-bottom: 16px solid #87765d;
}
#details-panel {
  transition: opacity 0.4s ease-in-out;
  opacity: 1;
}

#details-panel.fading-out {
  opacity: 0;
}
#details-panel .popup-content-container {
  max-height: 100%;
}

#details-content {
overflow-y: auto;
overflow-x: hidden;
padding: 15px 20px 20px 20px;
box-sizing: border-box;
margin-top: 40px;
}

#details-content{
  padding: 7px;
}



.popup-header {
font-size: 0.9em;
background: #f8e09bdb;
color: #1c4205;
font-weight: 600;
padding-top: 7px;
padding-bottom: 7px;
font-family: sans-serif;
border-bottom-right-radius: 20px;
position: absolute;
left: 0;
right: 45px;
top: 0;
text-align: center;
border: 1px solid #f1be28;
border-bottom: 2px solid #000
}

@media (max-width: 768px) {
  .popup-header {
      padding-left: 10px;
      white-space: nowrap !important;
      overflow-x: auto !important;
      overflow-y: hidden !important;
      text-overflow: clip;
      scrollbar-width: thin;
      scrollbar-color: #f1be28 #1c4205;
      padding-right: 20px;
  }

  .popup-header::-webkit-scrollbar {
      height: 3px;
  }
  .popup-header::-webkit-scrollbar-thumb {
      background: #f1be28;
      border-radius: 3px;
  }
}

.location-path{
  margin-bottom: 15px !important;
  padding: 4px 10px;  
  display: inline-block;
  background: #342929;
  color: #d3d363;
  min-width: 70px;
  text-align: center;
}

#details-panel .popup-header {
font-size: 1.1em;
}


.secondary-popupcontent {
background-color: #1d1d1d;
}


.popup-content {
  text-align: left;
  overflow-y: scroll;
  letter-spacing: 2px;
  padding: 0 6PX 10px 6PX;
  line-height: 1.2;
  margin-top: 0px;
}

#details-content summary{
  font-size: 20px;
  text-align: left;
  padding: 5px;
}

#details-content ::marker
 {
    COLOR: #d5ff00;
}

#details-content summary:hover{
  cursor: pointer;
}

summary .summary-location-specifics{
  font-size: 15px;
}
.popup-content h6 {
color: #cbc18b;
font-weight: 400;
margin-bottom: -8px !important;
background-color: #c7a91500;
width: 100%;
padding: 4px 5px 10px 7px;
text-align: left;
font-size: 1.1em;
border-bottom: 1px solid #bdb7a8;
padding-bottom: 4px !important;
}

.popup-content h6:first-child {
  margin-top: 5px;
}

.popup-content-subcontainer {
  text-align: left;
  margin: auto;
  margin-bottom: 2px;
  margin-top: 13px !important;
  background: #45ffec14;
  border-radius: 15px;
}
.popup-content-subcontainer ul{
  list-style: none;
  padding-left: 2px;
  margin-bottom: 0;
}
.popup-content-subcontainer li{
  padding: 5px;
  border-bottom: 1px dashed #a69d9d52;
  margin-bottom: 5px;
  padding-bottom: 8px;
  color: #25ff00;
}
.popup-content-subcontainer li:first{
  margin-top: 5px;
}

.popup-content-subcontainer p {
background-color: #ff000000;
margin: 10px 0 0 3px;
position: relative;
left: 5px;
}
.popup-content-subcontainer p:first-child{
margin-top:7px;
}
.scheme-category.locked-scope h6 {
  color: #ffd27f;
  letter-spacing: 0.08em;
}

.locked-scope .popup-content-subcontainer {
  background: linear-gradient(135deg, rgba(255, 210, 127, 0.16), rgba(135, 118, 93, 0.2));
  border: 1px solid rgba(255, 210, 127, 0.25);
  padding: 10px 14px;
}

.locked-scope-message {
  color: #f6ecd3;
  font-size: 0.92rem;
  line-height: 1.5;
  margin: 0 !important;
  left: 0 !important;
}

.scheme-category.unavailable-scope h6 {
  color: #b5f1c0;
  letter-spacing: 0.08em;
}

.unavailable-scope .popup-content-subcontainer {
  background: linear-gradient(135deg, rgba(105, 181, 120, 0.18), rgba(69, 255, 236, 0.08));
  border: 1px solid rgba(181, 241, 192, 0.22);
  padding: 10px 14px;
}

.unavailable-scope-message {
  color: #e5f5e6;
  font-size: 0.92rem;
  line-height: 1.5;
  margin: 0 !important;
  left: 0 !important;
}

.tag{
  font-size: 8px;
  padding: 3px;
  border-radius: 4px;
  color: #000;
  font-weight: 600;
}
.tag-grant{
  background: green;
}
.tag-loan{
  background: #678a67;
}
.tag-train{
  background: #807500;
}
.tag-mentor{
  background: #805000;
}





/* STYLE-JS ends */


#eagle-source-map {
  width: 100%;
  height: 100vh;
}

.eeng-wrap {
  position: relative;
  width: 100%;
}

@supports (height: 100dvh) {
  #eagle-source-map {
    height: 100dvh;
  }
}

#mobile-drawer .drawer-inner{
  background:#081726 !important ;
  max-width: 60% !important;
}
.leaflet-tooltip.state-label {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    font-weight: 700;
    color: #111111;
    text-align: center;
    pointer-events: none;
    text-shadow: none !important;
  }

  @media (max-width: 768px) {
    .leaflet-tooltip.state-label {
      font-size: 12px !important;
    }

    .lga-label {
      font-size: 8px;
    }
  }

  .leaflet-overlay-pane svg path.eeng-feature-path,
  .leaflet-overlay-pane svg path.eeng-feature-path-background {
    stroke: #111111 !important;
    stroke-width: 1.2px !important;
    stroke-linejoin: round;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
    paint-order: stroke fill markers;
    filter: drop-shadow(3px 5px 10px rgba(0, 0, 0, 0.5));
  }

  .leaflet-overlay-pane svg path.eeng-feature-hovered {
    filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.28)) drop-shadow(2px 3px 7px rgba(0, 0, 0, 0.24));
  }

  @media (max-width: 768px) {
    .leaflet-overlay-pane svg path.eeng-feature-path,
    .leaflet-overlay-pane svg path.eeng-feature-path-background {
      stroke-width: 1.3px !important;
      filter: drop-shadow(2px 3px 8px rgba(0, 0, 0, 0.55));
    }
  }

  .leaflet-popup{
    display: none;
  }

  

  /* For more effectiveness, consider calc (e.g., min-width: calc(80vw - 20px) !important;)  */
  .leaflet-popup-content{
    width: 200px !important;
    min-height: 150px;
  }
  .leaflet-popup-content-wrapper, .leaflet-popup-tip {
    background: #08170de3 !important;  /* #000000e3 #08170de3 && #1d0303 */
    color: #dbd3d3 !important;
  }

  @media (min-width: 769px) {
    .leaflet-popup-content-wrapper, .leaflet-popup-tip-container, .leaflet-popup-close-button {
    display: none !important; /* Use !important if needed to override Leaflet styles */
    }
    }

  .leaflet-container a.leaflet-popup-close-button{
    font-size: 3em !important;
    color: #ffffff !important;
  }

  .leaflet-container a.leaflet-popup-close-button span{
    /* background: #013901; */
    border-radius: 40px;
  }

  @media (max-width: 768px) {
    .leaflet-popup-content-wrapper, .leaflet-popup-tip-container, .leaflet-popup-close-button {
      right: 5px !important;
    }
    }


  .leaflet-container a {
    color: #000000;
    font-weight: 400;
    text-decoration: none ;
    padding: 3px 0 3px 0;
  }

  .leaflet-container li.active a{
    font-weight: 400;
  }
  .leaflet-container a:hover {
    color: #9ca3a4 !important;
    text-decoration: underline !important;
  }

  .leaflet-popup-content {
    min-width: 243px !important; /* Base for ~320px screens */
  }
  
  @media (min-width: 360px) {
    .leaflet-popup-content { min-width: 282px !important; }
  }
  
  @media (min-width: 375px) {
    .leaflet-popup-content { min-width: 300px !important; }
  }
  
  @media (min-width: 390px) {
    .leaflet-popup-content { min-width: 315px !important; }
  }
  
  @media (min-width: 402px) {
    .leaflet-popup-content { min-width: 326px !important; }
  }
  
  @media (min-width: 414px) {
    .leaflet-popup-content { min-width: 338px !important; }
  }
  
  @media (min-width: 420px) {
    .leaflet-popup-content { min-width: 334px !important; } /* Groups 420+, as values stabilize */
  }

  #details-panel {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: #000000cc;
    overflow: auto;
    transition: width 0.3s ease;
    z-index: 1000;
    display: none; /* Hidden by default */
    overflow-y: scroll;
  }
  #details-panel.open {
    width: 40%;
    display: flex;
    flex-direction: column;
  }

  @media (min-width: 1500px){
    #details-panel.open{
        width: 30%;
    }
  }
  #details-content {
    padding: 15px;
    color: #fff;
    
  }


  .details-close {
    position: absolute;
    top: 0px;
    right: 20px;
    cursor: pointer;
    font-size: 24px;
    color: #ffffff;
  }





/* */

@media (max-width: 768px) {
  #details-panel.open {
      width: 100% !important;
      height: 100% !important;
      top: 0 !important;
      left: 0 !important;
      border-radius: 0;
      z-index: 2000;
  }
  
  #details-panel .details-close {
      font-size: 36px;
      top: -8px;
      right: 8px;
  }
  
  .popup-content-container { max-height: calc(100vh - 120px) !important; }
}

.category-loading {
  position: absolute;
  inset: 0;
  background: rgba(8, 23, 38, 0.88);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 8px;
}

.category-loading .spinner {
  float: none;           /* reset WP default float */
  margin: 0;
  font-size: 42px;       /* nice big size */
}

.lga-panel-loading {
  display: flex;
  border-radius: 10px;
}


.nav-container-open {
  opacity: 1;
  transition: opacity 1s ease;
  pointer-events: none;           /* blocks clicks while hidden */
  will-change: opacity;
  border-radius: 15px;
}

/* When sidebar is fully open → show text */
#sidebar.open .nav-container {
  pointer-events: auto;
}

/* Instant hide when closing (prevents any squish) */
#sidebar.closing .nav-container {
  opacity: 0 !important;
  transition: opacity 60ms linear !important;
}

.nav-container-hide{
  visibility: hidden;
}

.coming-soon-grey{
  color: #dfdfdf;
  font-weight: 300;
  font-size: 12px;
  display: block;
}

.share-container{
  margin-top: 5px;
}
.share-icon { cursor:pointer; color:#adb2a9; font-size:13px; margin-left:0px; }
.share-icon:hover { color:#adb2a9; }

.share-action-icon{
  font-size: 17px;
  margin-right: 4px;
}
/* .share-icon-div{
  
} */

#map-loading {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.88); /* your brand blue */
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  color: #fff;
  font-size: 18px;
  flex-direction: column;
  gap: 12px;
}
#map-loading.show {
  display: flex;
}
#map-loading .spinner {
  font-size: 48px;
}
