/* =========================================
OUR PRESENCE SECTION
========================================= */
.mobileMap{display:none}
.dekstopMap{display:block}
.plg-presence {
  width: 100%;
}

.plg-presence .our-presence-block {
  display: flex;
  width: 100%;
  align-items: stretch;
}


/* =========================================
LEFT CONTENT PANEL
========================================= */

.plg-presence .our-presence-info {
  width: 30%;
  flex: 0 0 30%;
  padding: 36px;
  position: relative;
  z-index: 1;
 

  border-radius: 16px 0 0 0;
  overflow: hidden;

}

.plg-presence .our-presence-info::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 74px;
  height:74px;
  background: url("https://148356715.hs-sites-eu1.com/hubfs/shape10.png")
    no-repeat left bottom / contain;
  pointer-events: none;
}


/* =========================================
HEADING
========================================= */
.plg-presence .map-popup__inner h3.map-popup__title {
    text-transform: capitalize;
}
.plg-presence .our-heading {
  position: relative;
  z-index: 2;
  margin-bottom: 30px;
}

.plg-presence .our-heading h2 {
  margin: 0 0 12px;
  color: #ffffff;
}

.plg-presence .our-heading p {
  margin: 0;
  color: #ffffff;
}


/* =========================================
PRESENCE COUNTERS
========================================= */

.plg-presence .presence-list {
  position: relative;
  z-index: 2;

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.plg-presence .presence-num {
  background: #ffffff;
  border-radius: 10px;

  text-align: center;

  padding: 28px 10px;
}

.plg-presence .presence-num span {
  display: block;

  margin: 0 0 8px;

  font-size: 46px;
  font-weight: 700;
  line-height: 1;

  background: radial-gradient(ellipse 90% 90% at 5% 0, #0b8ef7 0, transparent 60%), radial-gradient(ellipse 90% 90% at 90% 10%, #7d6ff2 0, transparent 65%), radial-gradient(ellipse 90% 90% at 0 100%, #140a34 10%, transparent 90%), radial-gradient(ellipse 90% 90% at 100% 100%, #cc3fd6 0, transparent 60%), linear-gradient(135deg, #0d8bf5, #6d4fd6, #b83fd6);

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  background-clip: text;
  color: transparent;
}

.plg-presence .presence-num p {
  margin: 0;
  color: #23244d;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.4;
}


/* =========================================
MAP SECTION
========================================= */

.plg-presence .map-section {
  position: relative;

  flex: 1 1 70%;
  min-width: 0;

  padding: 32px 32px 24px;

  display: flex;
  flex-direction: column;

  text-align: center;

  background: #ffffff;

  border: 1px solid #e6e2f5;
  border-left: 0;

  border-radius: 0 16px 16px 0;
  justify-content:space-between;
  overflow: hidden;
}


/* Gradient border */

.plg-presence .map-section::before {
  content: "";

  position: absolute;
  z-index: 0;

  inset: 0;

  padding: 1px;

  border-radius: 0 16px 16px 0;

  background: linear-gradient(
    90deg,
    #433a89 0%,
    #318cff 50%,
    #e273fe 100%
  );

  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);

  -webkit-mask-composite: xor;
  mask-composite: exclude;

  pointer-events: none;
}


/* Keep map content above border */

.plg-presence .map-section > * {
  position: relative;
  z-index: 1;
}


/* =========================================
GLOBAL MAP
========================================= */

.global-map {
  width: 100%;
  padding: 10px 0 0;
}

.global-map__container {
  width: 100%;
  max-width: 1440px;

  margin: 0 auto;
  padding: 0;
}


/* =========================================
MAP WRAPPER
========================================= */

.global-map__map {
  position: relative;

  width: 100%;

  line-height: 0;

  overflow: visible;
}


/* =========================================
MAP IMAGE
========================================= */

.global-map__image {
  display: block;

  width: 100%;
  max-width: 100%;
  height: auto;
}


/* =========================================
MAP PIN
========================================= */

.map-pin {
  position: absolute;
  z-index: 10;

  width: 18px;
  height: 18px;

  margin: 0;
  padding: 0;

  background: #17152f;

  border: 3px solid #ffffff;
  border-radius: 50%;

  transform: translate(-50%, -50%);

  cursor: pointer;

  line-height: 0;

  appearance: none;
  -webkit-appearance: none;

  box-shadow:
    0 0 0 1px rgba(23, 21, 47, 0.15);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}


/* =========================================
PIN INNER DOT
========================================= */

.map-pin__dot {
  display: block;

  width: 100%;
  height: 100%;

  background: #17152f;

  border-radius: 50%;
}


/* =========================================
PULSE RINGS
========================================= */

.map-pin::before,
.map-pin::after {
  content: "";

  position: absolute;

  top: 50%;
  left: 50%;

  width: 100%;
  height: 100%;

  border-radius: 50%;

  background: rgba(23, 21, 47, 0.28);

  transform: translate(-50%, -50%) scale(1);

  pointer-events: none;

  animation: mapPinRing 2s ease-out infinite;
}


/* Second ring */

.map-pin::after {
  animation-delay: 1s;
}


/* Pulse animation */

@keyframes mapPinRing {

  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.65;
  }

  70% {
    transform: translate(-50%, -50%) scale(2.8);
    opacity: 0;
  }

  100% {
    transform: translate(-50%, -50%) scale(2.8);
    opacity: 0;
  }

}


/* =========================================
PIN HOVER
========================================= */

.map-pin:hover {
  transform: translate(-50%, -50%) scale(1.25);

  box-shadow:
    0 0 0 2px rgba(23, 21, 47, 0.1);
}


/* =========================================
ACTIVE PIN
========================================= */

.map-pin.is-active {
  transform: translate(-50%, -50%) scale(1.25);
}

.map-pin.is-active::before,
.map-pin.is-active::after {
  animation: none;
  opacity: 0;
}


/* =========================================
POPUP
========================================= */

.map-popup {
  position: absolute;
  z-index: 100;

  width: 330px;
  max-width: calc(100% - 30px);

  padding: 22px 24px;

  box-sizing: border-box;
  background: #ffffff;
  border-radius: 12px;

  box-shadow:
    0 12px 35px rgba(0, 0, 0, 0.15);

  line-height: 1.5;

  opacity: 0;
  visibility: hidden;

  pointer-events: none;
  text-align: left;
  transform: translate(-50%, 10px);
  /* Smooth fade */
  transition:
    opacity 0.35s ease,
    visibility 0.35s ease;

}


/* =========================================
ACTIVE POPUP
========================================= */

.map-popup.is-active {
  opacity: 1;
  visibility: visible;

  pointer-events: auto;

  transform: translate(-50%, 0);
}


/* =========================================
POPUP CLOSE
========================================= */

.map-popup__close {
  position: absolute;

  top: 8px;
  right: 10px;

  width: 28px;
  height: 28px;

  padding: 0;

  border: 0;

  background: transparent;

  color: #17152f;

  font-size: 24px;
  line-height: 28px;

  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;
}

.map-popup__close:hover {
  opacity: 0.6;
}


/* =========================================
POPUP CONTENT
========================================= */
 

.map-popup__title {
  margin: 0 25px 10px 0;

  color: #17152f;

  font-size: 19px;
  font-weight: 600;

  line-height: 1.3;
}

.map-popup__description {
  color: #555555;
  font-size: 14px;


}

.map-popup__description p {
  margin: 0 0 8px;
}

.map-popup__description p:last-child {
  margin-bottom: 0;
}

.map-popup__countries {
  margin-bottom: 15px;

  color: #555555;

  font-size: 14px;

  line-height: 1.6;
}


/* =========================================
POPUP LINK
========================================= */
.map-popup__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #17152f;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}

/* Sirf text underline */
.map-popup__link {
  text-decoration: none;
}
img.link-arrow {
  width: 11px;
}
.map-popup__link:hover {
  text-decoration: none;
}

/* Agar text ko span ke andar wrap karoge */
.map-popup__link .link-text {
  text-decoration: underline;
}

.map-popup__link .link-text:hover {
  text-decoration: underline;
}

/* Arrow / image par kabhi underline nahi */
.map-popup__link span,
.map-popup__link img {
  text-decoration: none;
}

/* =========================================
MAP FOOTER
========================================= */

.global-map__footer {
  display: flex;

  align-items: center;
  justify-content: space-between;

  gap: 30px;

  margin-top: 25px;
}


/* =========================================
LEGEND
========================================= */

.global-map__legend {
  display: grid;
  row-gap: 20px;
}
.global-map__legend-item {
  display: flex;

  align-items: center;

  gap: 10px;

  color: #17152f;

  font-size: 14px;

  line-height: 1.4;
}

.legend-box {
  display: inline-block;

  width: 22px;
  height: 22px;

  flex: 0 0 22px;
}

.legend-box--direct {
  background: #bd39c8;
}

.legend-box--partner {
  background: #2789f5;
}


/* =========================================
INSTRUCTION
========================================= */

.global-map__instruction {
  padding: 8px 14px;

  border: 1px dotted #17152f;

  border-radius: 6px;

  color: #17152f;

  font-size: 13px;

  line-height: 1.4;

  text-align: center;
}

.presence-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
}
/* =========================================
TABLET
========================================= */
@media (max-width:1680px) {
  .our-presence-info{padding: 26px !important;}
  .our-heading {margin-bottom: 20px;}
  .presence-list {gap: 16px; !important;}
  .presence-num {padding: 16px 0 !important;}
  .presence-num span {font-size: 30px !important;}
  .presence-num p {font-size: 13px !important;}
  .customAccordion .card-header .btn.btn-link {font-size: 18px!important;}
  .inner-card-body .card-body p {font-size: 15px !important;}
/*   .plg-presence .our-presence-info::after{
    width: 180px;
    height: 100px;
    background-size: 100% 100%;
  } */
}
@media (max-width: 1199px) {

  .plg-presence .map-section {
    padding: 25px 25px 20px;
  }
  .map-popup {
    width: 300px;
  }
  .our-presence-info {
    padding:15px !important;
  }
  .our-presence-info:after {
    width: 166px;
    height: 83px;
    background-size: 100% 100%;
  }
  .presence-list {
    gap: 12px;
  }
/*   .plg-presence .our-presence-info::after{
    width: 166px;
    height: 83px;
    background-size: 100% 100%;
  } */
  .presence-num {
    padding: 10px 0 !important;
  }
  .presence-num span {
    font-size: 24px !important;
  }
  .presence-num p {
    font-size: 12px !important;
  }
}
/* =========================================
TABLET
========================================= */

@media (max-width: 991px) {

  .plg-presence .our-presence-block {
    display: block;
  }

/*   .plg-presence .our-presence-info::after{
    width: 120px;
    height: 60px;
    background-size: 100% 100%;
  } */
/*   .our-presence-info:after,.plg-presence .our-presence-info:after {
    width: 120px;
    height: 60px;
    background-size: 100% 100%;
  } */

  /* Counters */

  .plg-presence .presence-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }

  .plg-presence .presence-num {
    padding: 22px 8px;
  }

  .plg-presence .presence-num span {
    font-size: 36px;
  }

  .plg-presence .presence-num p {
    font-size: 14px;
  }


  /* Map */

  .plg-presence .map-section {
    width: 100%;

    padding: 25px 20px 20px;

    border-left: 1px solid #e6e2f5;
    border-top: 0;
  }




  .global-map__footer {
    flex-direction: column;

    align-items: flex-start;
  }
  .our-presence-info {width: 40%;flex: 0 0 40%;padding-bottom: 100px;}
  .our-presence-info:after {width: 120px;height: 60px;background-size: 100% 100%;}
  .plg-presence .our-presence-info {
    width: 40%;
    flex: 0 0 40%;
    padding-bottom: 100px;
  }
}
/* =========================================
MOBILE
========================================= */
@media (max-width: 767px) {
  .our-presence-section .container {
    padding: 0;
}
  .plg-presence .our-presence-info {
    width: 100%;
    flex: 0 0 100%;
    padding-bottom: 100px;
  }
  .plg-presence .our-presence-info {
    padding: 25px 20px;
  }


  /* Heading */

  .plg-presence .our-heading {
    margin-bottom: 22px;
  }

  .plg-presence .our-heading h2 {
    font-size: 30px;
  }

  .plg-presence .our-heading p {
    font-size: 14px;
  }


  /* Counters */

  .plg-presence .presence-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 12px;
  }

  .presence-num {padding: 25px 0 !important;}
  .presence-num span {font-size: 40px !important;}
  .presence-num p {font-size: 16px !important;}


  /* Map section */

  .plg-presence .map-section {
    padding: 20px 15px;

    overflow: visible;
  }


  .global-map {
    padding: 0;
  }

  .global-map__container {
    padding: 0;
  }

  .global-map__map {
    overflow: visible;
  }


  /* Pin */

  .map-pin {
    width: 15px;
    height: 15px;

    border-width: 3px;
  }


  /* =====================================
  MOBILE POPUP
  ===================================== */

  .map-popup {
    position: fixed;
    left: 50%;
    top: 50%;

    width: calc(100% - 30px);
    max-width: 360px;
    max-height: 75vh;

    overflow-y: auto;
    padding: 20px;

    transform: translate(-50%, -50%);

    transition:
      opacity 0.35s ease,
      visibility 0.35s ease;
  }

  .map-popup.is-active {
    transform: translate(-50%, -50%);
  }

  .map-popup__title {
    font-size: 17px;
  }

  .map-popup__description,
  .map-popup__countries {
    font-size: 13px;
  }


  /* Footer */

  .global-map__footer {
    display: block;

    margin-top: 20px;
  }

  .global-map__legend {
    display: block ;
  }

  .global-map__legend-item {
    margin-bottom: 10px;
  }

  .global-map__instruction {
    width: 100%;

    margin-top: 18px;

    box-sizing: border-box;
  }
  .mobileMap{display:block}
  .dekstopMap{display:none}
  .plg-presence .our-presence-info:after{display:none}
  .plg-presence .map-section::before,.plg-presence .map-section{border-radius: 0 ;}
  .plg-presence .our-presence-info{border-radius: 0px ;}
}

/* =========================================
SMALL MOBILE
========================================= */

@media (max-width: 480px) {

  .plg-presence .our-presence-info {
    padding: 22px 15px;
  }

  .plg-presence .presence-list {
    gap: 10px;
  }

  .plg-presence .presence-num {
    padding: 18px 5px;
  }

  .plg-presence .presence-num span {
    font-size: 28px;
  }

  .plg-presence .presence-num p {
    font-size: 12px;
  }

  .plg-presence .map-section {
    padding: 15px 10px;
  }

  .global-map__legend-item {
    font-size: 12px;
  }

  .legend-box {
    width: 18px;
    height: 18px;

    flex-basis: 18px;
  }

  .global-map__instruction {
    font-size: 12px;
  }

}
/* =========================================
ACCESSIBILITY
========================================= */

@media (prefers-reduced-motion: reduce) {

  .map-pin::before,
  .map-pin::after {
    animation: none;
  }

  .map-pin,
  .map-popup,
  .map-popup__link {
    transition: none;
  }

}