.world-map-partners {
  width: 100%;
  padding: 48px 0;
}

.world-map-partners .heading {
  margin-bottom: 2rem;
}

/* ---- Outer container – dark gradient ---- */
.world-map-partners__container {
  border-radius: 2.5rem;
  background: linear-gradient(-23.62deg, #2D2E83 40.985%, #0D1532 157.1%);
  padding: 1.5rem;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

/* ---- Dropdown wrapper ---- */
.world-map-partners__dropdown {
  position: relative;
  z-index: 2; /* stacking context above the card; ensures Choices dropdown renders on top of map */
  margin-bottom: 1.5rem;
  max-width: 100%;
}

/* ---- Choices.js overrides – dark theme ---- */

/* Outer wrapper Choices creates */
.world-map-partners__dropdown .choices {
  margin: 0;
}

/* The clickable trigger ("inner") */
.world-map-partners__dropdown .choices__inner {
  background: transparent;
  border: 1px solid rgba(251, 251, 251, 0.5);
  border-radius: 11px;
  padding: 0 1.25rem !important;
  min-height: 48px;
  display: flex !important;
  align-items: center !important;
  cursor: pointer;
}

/* Keep border-radius when open */
.world-map-partners__dropdown .choices.is-open .choices__inner {
  border-radius: 11px;
}

/* Selected value text */
.world-map-partners__dropdown .choices__list--single {
  padding: 0;
  display: flex;
  align-items: center;
}

.world-map-partners__dropdown .choices__list--single .choices__item {
  font-size: 1.125rem;
  color: #fbfbfb;
  padding: 0;
  line-height: 1;
}

.world-map-partners__dropdown .choices__placeholder {
  color: rgba(251, 251, 251, 0.6);
}

/* Arrow indicator */
.world-map-partners__dropdown .choices[data-type*="select-one"]::after {
  border-top-color: #fbfbfb;
}

.world-map-partners__dropdown .choices[data-type*="select-one"].is-open::after {
  border-top-color: transparent;
  border-bottom-color: #fbfbfb;
}

/* Dropdown panel */
.world-map-partners__dropdown .choices__list--dropdown,
.world-map-partners__dropdown .choices__list[aria-expanded] {
  background: #1a1d5a;
  border: 1px solid rgba(251, 251, 251, 0.2);
  border-radius: 11px;
  margin-top: 4px;
  z-index: 10; /* above map within this stacking context */
  word-break: break-word;
}

/* Search input */
.world-map-partners__dropdown .choices__input {
  background: #1a1d5a !important;
  color: #fbfbfb !important;
  border-bottom: 1px solid rgba(251, 251, 251, 0.15);
  padding: 0.5rem 1.25rem !important;
  font-size: 1rem;
  line-height: 1.5;
  width: 100%;
  margin: 0;
}

.world-map-partners__dropdown .choices__input::placeholder {
  color: rgba(251, 251, 251, 0.4) !important;
}

/* List items */
.world-map-partners__dropdown .choices__list--dropdown .choices__item,
.world-map-partners__dropdown .choices__list[aria-expanded] .choices__item {
  color: #fbfbfb;
  font-size: 1rem;
  padding: 0.5rem 1.25rem;
}

/* Hover — subtle */
.world-map-partners__dropdown .choices__list--dropdown .choices__item--selectable.is-highlighted,
.world-map-partners__dropdown .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
  background: rgba(255, 255, 255, 0.08);
  color: #fbfbfb;
}

/* Selected — clearly distinct: stronger bg + bold + left border */
.world-map-partners__dropdown .choices__list--dropdown .is-selected,
.world-map-partners__dropdown .choices__list[aria-expanded] .is-selected {
  background: rgba(255, 255, 255, 0.22);
  color: #fbfbfb;
  font-weight: 600;
  border-left: 3px solid #fbfbfb;
  padding-left: calc(1.25rem - 3px);
}

/* Hover on already-selected item */
.world-map-partners__dropdown .choices__list--dropdown .is-selected.is-highlighted,
.world-map-partners__dropdown .choices__list[aria-expanded] .is-selected.is-highlighted {
  background: rgba(255, 255, 255, 0.28);
}

/* "No results" text */
.world-map-partners__dropdown .choices__list--dropdown .choices__item.has-no-choices,
.world-map-partners__dropdown .choices__list[aria-expanded] .choices__item.has-no-choices {
  color: rgba(251, 251, 251, 0.5);
}

/* ---- White card ---- */
.world-map-partners__card {
  background: #fbfbfb;
  border-radius: 21px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
}

/* ---- Map ---- */
.world-map-partners__map {
  flex: 1;
  min-height: 320px;
  position: relative;
  background: transparent;
  overflow: hidden;
}

.world-map-partners__map .leaflet-container {
  background: transparent !important;
}

/* ---- Info panel (always visible) ---- */
.world-map-partners__info {
  background: rgba(44, 46, 131, 0.2);
  border-radius: 18px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin: 1rem;
}

/* ---- Embla carousel ---- */
.world-map-partners__carousel-viewport {
  overflow: hidden;
  height: 200px;
}

.world-map-partners__carousel-container {
  display: flex;
  height: 100%;
  touch-action: pan-y pinch-zoom;
}

/* ---- Slide ---- */
.world-map-partners__slide {
  flex: 0 0 100%;
  min-width: 0;
  margin-right: 0.75rem;
  position: relative;
}

.world-map-partners__slide-img {
  width: 100%;
  height: 100%;
  border-radius: 11px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-color: #e0e0e0;
}

.world-map-partners__slide-img.wmp-no-image {
  background-image: none !important;
}

/* Gradient overlay with label — sits on the image */
.world-map-partners__slide-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem;
  border-radius: 0 0 11px 11px;
  background: linear-gradient(180deg, rgba(13, 21, 50, 0) 0%, rgba(13, 21, 50, 0.55) 45%, rgba(13, 21, 50, 0.85) 100%);
  display: flex;
  align-items: flex-end;
}

.world-map-partners__slide-label {
  font-family: "Carmen Sans", sans-serif;
  font-size: 1rem;
  font-weight: 900;
  font-style: normal;
  color: #fbfbfb;
  line-height: 1.2;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---- Nav buttons ---- */
.world-map-partners__nav {
  display: flex;
  justify-content: space-between;
  margin-top: auto;
}

.world-map-partners__nav-btn {
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--color-primary, #2C2E83);
  border: none;
  color: #fbfbfb;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.world-map-partners__nav-btn:hover {
  opacity: 0.8;
}

/* ---- SVG pin marker ---- */
.wmp-pin {
  background: none !important;
  border: none !important;
  color: var(--color-light, #FBFBFB);
  filter: drop-shadow(-1.5px 1.5px 2.5px rgba(0, 0, 0, 0.7));
  cursor: pointer;
}

.wmp-pin svg {
  display: block;
  transition: transform 0.2s ease;
  transform-origin: 50% 85%;
  transform: scale(0.7);
}

.wmp-pin:hover svg {
  transform: scale(0.85);
}

.wmp-pin--active svg {
  transform: scale(1.0);
}

/* ---- Mid (tablet-portrait) — shorter map, preserve column layout ---- */
@media (min-width: 480px) and (max-width: 767px) {
  .world-map-partners__map {
    min-height: 260px;
  }
}

/* ---- Desktop ---- */
@media (min-width: 768px) {
  .world-map-partners {
    padding: 64px 0;
  }

  .world-map-partners .heading {
    margin-bottom: 3rem;
  }

  .world-map-partners__container {
    padding: 3rem 4.5rem;
  }

  .world-map-partners__dropdown {
    max-width: 504px;
  }

  .world-map-partners__card {
    flex-direction: row;
    align-items: stretch;
    height: clamp(450px, 42vw, min(65vh, 720px));
  }

  .world-map-partners__map {
    min-height: 0;
  }

  .world-map-partners__info {
    margin: 1rem 1rem 1rem 0;
    flex: 0 0 26%;
    padding: 1rem;
    gap: 0.75rem;
    overflow: hidden;
  }

  .world-map-partners__carousel-viewport {
    flex: 1 1 0;
    min-height: 0;
    height: auto;
  }
}

