.map-list-section{
  background-image: url(../img/map-bg.webp);
  background-size: cover;
  background-position: center bottom;
}

.title {
  text-align: center;
  margin-bottom: 10px;
}

.legend {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 15px;
  font-size: 14px;
}

.legend .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 6px;
}

.dot.ongoing { background: #1e90ff; }
.dot.completed { background: #2ecc71; }

/* MAP CONTAINER */
.map-container {
  position: relative;   /* 🔥 MOST IMPORTANT */
  width: 100%;
  max-width: 700px;
  margin: auto;
  display: flex;
  gap: 30px;
}
/* MAP SIDE */
.map-container object {
  width: 60%;
  height: auto;
}
/* SVG MAP */
#indiaMap {
  width: 100%;
  height: auto;
  display: block;
}

/* PINS */
/* .pin {
  position: absolute;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  z-index: 5
} */
/* Prevent pins going out */
.map-container .pin {
  max-width: 100%;
  max-height: 100%;
}
.pin {
  position: absolute;
  width: 26px;
  height: 32px;
  background-image: url("https://www.lntecc.com/media/0tqgvmzj/pin.png");
  background-size: contain;
  background-repeat: no-repeat;
  cursor: pointer;
  z-index: 10;

  /* Bottom point exact location pe */
  transform: translate(-50%, -100%);
}

/* Hover effect (optional but nice) */
.pin:hover {
  transform: translate(-50%, -100%) scale(1.15);
}
/* .pin.ongoing {
  background: #1e90ff;
  border: 2px solid #fff;
}

.pin.completed {
  background: #2ecc71;
  border: 2px solid #fff;
} */
/* Ongoing pin (Blue) */
 
/* .pin:hover {
  transform: translate(-50%, -100%) scale(1.15);
} */

.section-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0px;
}

/* Common dot */
.section-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* POPUP */
.popup {
  position: absolute;
  min-width: 260px;
  max-width: 300px;
  top: 35%;
  right: -37%;
  /* width: 300px; */
  background: #fff;
  color: #000;
  padding: 15px;
  border-radius: 6px;
  display: none;
  z-index: 20;
  box-shadow: -2px 1px 4px 0px #00000040;
}
.popup::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: #fff;
  transform: rotate(45deg);
  top: 10px;
  left: -5px;
}
.popup h4 {
  margin-top: 0;
  color: #106c8f;
  font-size: 22px;
  font-weight: 600;
  border-bottom: 2px solid;
  width: max-content;
}
.popup #popupHeading{ 
  font-size: 18px;
  font-weight: 600;
}
.popup #popupContent{
  margin: 0;
  padding-left: 0px;
} 
.popup .section-heading h5{
  font-size: 18px;
  font-weight: 600;
}
.popup ul li {
  font-size: 14px;
  color: #524646;
  list-style: disc;
}
.ul-ongoing li::marker{
  color: rgb(30, 144, 255);
}
.ul-completed li::marker{
  color: rgb(46, 204, 113);
}
.popup .close {
  position: absolute;
  top: 8px;
  right: 10px;
  cursor: pointer;
  font-size: 18px;
}


@media (max-width: 767px) {

 .map-container {
    max-width: 100%;
    padding: 0 10px; /* optional padding */
  }

  .map-container object,
  #indiaMap {
    width: 100%;    /* full width on mobile */
    height: auto;
  }

  /* Bottom Sheet Style */
  .popup {
    position: fixed;
    top: 71px;
    left: 10px;
    right: 0;
    bottom: -100%;
    top: auto;
    width: 100%;
    border-radius: 16px 16px 0 0;
    padding: 20px;
    transition: bottom 0.3s ease;
  }

  .popup.show {
    bottom: 0;
  }

  .popup .close {
    display: block;
    font-size: 22px;
  }
}
