:root{
  --bg:#0b1220;--overlay-rgba:rgba(2,6,23,0.65);--glass:rgba(255,255,255,0.06);--accent:#3B82F6;--green:#10B981;--white:#ffffff;--muted:#94a3b8;
}

.project-map-section{position:relative;min-height:80vh ; padding-top: 2rem;background:var(--bg);color:var(--white);overflow:hidden}
.map-bg{position:absolute;inset:0}
.map-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.6)}
.map-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,23,0.6),rgba(2,6,23,0.85))}
.map-container{position:relative;z-index:5;margin:0 auto;padding:6rem}
.map-header{display:flex;gap:1rem;margin-bottom:1.25rem; }
.map-title{font-weight:500;letter-spacing:.002em ;width: 60%; font-size:small;}
.map-controls{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.stats{display:flex;gap:1.1rem}
.stat{display:flex;flex-direction:column;align-items:center}
.stat-number{font-size:1.2rem;font-weight:800}
.stat-label{font-size:1.1rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}
.dot{width:10px;height:10px;border-radius:50%}
.dot.ongoing{background:var(--green)}
.dot.completed{background:var(--accent)}
.project-filter-select{font-size:small; cursor: pointer ; background:rgba(255,255,255,0.95);padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(15,23,42,0.06);color:#0b1220}
.map-wrap{background:transparent;border-radius:8px;padding:0.5rem;position:relative}
.zoom-controls{position:absolute;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:10}
.zoom-btn{width:40px;height:40px;background:rgba(255,255,255,0.95);border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:600;color:#0b1220;transition:all .2s ease;box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.zoom-btn:hover{background:#ffffff;transform:scale(1.05);box-shadow:0 6px 16px rgba(0,0,0,0.2)}
.zoom-btn:active{transform:scale(0.95)}
.zoom-level{background:rgba(255,255,255,0.95);padding:0.5rem 0.75rem;border-radius:8px;font-size:0.85rem;font-weight:600;color:#0b1220;text-align:center;min-width:50px;box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.map-inner{position:relative;background:transparent;border-radius:8px;overflow:hidden}
svg#nepal-map{display:block;width:100%;height:65vh}
.map-province{fill:#709B76;stroke:rgba(255,255,255,0.18);cursor:pointer;transition:fill .18s ease,stroke .18s ease,transform .18s ease}
.map-province:hover{fill:#008E43;stroke:rgba(255,255,255,0.4);transform:translateY(-2px)}
.project-marker{cursor:pointer;user-select:none}
.project-marker .location-pin{filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));transition:none;transform-origin:center;z-index:10}
.project-marker .location-pin path{transition:none}
.project-marker .location-pin circle{transition:none}
.cluster-badge{user-select:none;pointer-events:none;transition:opacity .3s ease}
.project-popup{position:fixed;background:linear-gradient(180deg,rgba(20,30,48,0.98),rgba(10,15,28,0.98));border-radius:12px;padding:1.75rem;max-width:380px;width:auto;box-shadow:0 20px 40px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.1);z-index:1001;display:none;opacity:0;transform:scale(0.95) translateY(10px);transition:opacity .2s ease,transform .2s ease;border:1px solid rgba(255,255,255,0.08)}
.project-popup.active{display:block;opacity:1;transform:scale(1) translateY(0)}
.popup-close-btn{position:absolute;top:.75rem;right:.75rem;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;opacity:.5;transition:opacity .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0}
.popup-close-btn:hover{opacity:1}
.popup-content{display:flex;flex-direction:column;gap:1rem}
.popup-content h3{margin:0;font-size:1.15rem;font-weight:700;color:var(--green);padding-right:24px}
.popup-content.completed h3{color:var(--accent)}
.popup-content .project-title{font-size:.95rem;font-weight:600;color:var(--white);margin:.75rem 0 .4rem 0}
.popup-content .project-detail{display:flex;flex-direction:column;gap:.5rem;padding:.9rem;background:rgba(255,255,255,0.03);border-radius:8px;border:1px solid rgba(255,255,255,0.06)}
.popup-content .detail-row{display:flex;gap:.75rem;font-size:.85rem}
.popup-content .detail-label{color:var(--muted);font-weight:500;min-width:70px}
.popup-content .detail-value{color:var(--white);flex:1}
.popup-content .divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);margin:.25rem 0}
.map-tooltip{position:fixed;pointer-events:none;background:linear-gradient(180deg,rgba(7,12,20,0.98),rgba(18,26,36,0.98));color:var(--white);padding:.9rem 1.1rem;border-radius:12px;box-shadow:0 16px 48px rgba(2,6,23,0.8),0 0 0 1px rgba(255,255,255,0.12);font-size:.9rem;z-index:999;min-width:280px;max-width:380px;display:none;opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}
.map-tooltip.active{display:block;opacity:1;transform:translateY(0)}
.map-tooltip h4{margin:0 0 .5rem 0;font-size:1.05rem;font-weight:600;color:#10B981;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:.4rem}
.map-tooltip.completed h4{color:#3B82F6}
.map-tooltip p{margin:0;color:var(--muted);font-size:.85rem}
.map-tooltip .project-info{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}
.map-tooltip .info-row{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem}
.map-tooltip .info-label{color:#94a3b8;font-weight:500;min-width:55px}
.map-tooltip .info-value{color:var(--white);flex:1}
.map-tooltip .cluster-count{display:inline-block;background:rgba(16,185,129,0.2);color:#10B981;padding:.15rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.4rem}
.map-tooltip.completed .cluster-count{background:rgba(59,130,246,0.2);color:#3B82F6}
.map-tooltip .meta{display:flex;gap:.75rem;margin-top:.4rem}
.map-tooltip .meta span{font-size:.82rem;color:var(--muted)}
@media(min-width:768px){.map-header{flex-direction:row;align-items:center}.map-title{font-size:1.5rem}}
@media(max-width:640px){.map-controls{flex-direction:column;align-items:stretch}.stats{justify-content:space-between;width:100%}.map-title{text-align:center}}

/* Responsive improvements */
@media (max-width: 992px){
  .map-container{padding:3rem 2rem}
  svg#nepal-map{height:55vh}
}
@media (max-width: 768px){
  .map-container{padding:2rem 1rem}
  .map-header{flex-direction:column; align-items:flex-start; gap:.5rem}
  .map-title{width:100%; font-size:1.1rem}
  svg#nepal-map{height:50vh}
  .zoom-btn{width:36px;height:36px;font-size:1.05rem}
}
@media (max-width: 576px){
  .map-container{padding:1.25rem .75rem}
  svg#nepal-map{height:45vh}
  .zoom-controls{top:.5rem;right:.5rem}
  .zoom-btn{width:32px;height:32px;font-size:.95rem}
  .zoom-level{padding:.35rem .6rem;min-width:44px;font-size:.78rem}
  .project-popup{max-width:90vw;width:90vw;max-height:80vh}
  .popup-content .project-title{font-size:.9rem}
  .popup-content .detail-row{font-size:.8rem}
  .stat-number{font-size:1rem}
  .stat-label{font-size:.9rem}
}
