.story-detail-page .detail-world-locator {
  display: block !important;
  width: 80% !important;
  margin-left: 10px;
  aspect-ratio: 1 / 1 !important;
  grid-template-rows: none;
  justify-self: start;
  align-self: start;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: 0 10px 22px rgba(9, 40, 58, .2) !important;
  transform: translateX(-34px) scale(.985);
  animation: detail-world-slide-in .78s cubic-bezier(.22, 1.28, .36, 1) .12s forwards !important;
}

.story-detail-page .detail-world-locator::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  border-radius: inherit;
  background: radial-gradient(circle at 29% 21%, rgba(255,255,255,.12), transparent 34%);
  pointer-events: none;
}

.story-detail-page .detail-world-map-image {
  inset: 0 !important;
  background-image: url('continent-globe-sprite.png') !important;
  background-size: 400% 200% !important;
  background-repeat: no-repeat !important;
  background-position: 0 0 !important;
  filter: none;
  opacity: 1;
  transform: none;
  transform-origin: center;
}

.story-detail-page .detail-world-locator[data-globe-view="asia"] .detail-world-map-image{background-position:33.333% 0!important}
.story-detail-page .detail-world-locator[data-globe-view="antarctica"] .detail-world-map-image{background-position:66.667% 0!important}
.story-detail-page .detail-world-locator[data-globe-view="oceania"] .detail-world-map-image{background-position:100% 0!important}
.story-detail-page .detail-world-locator[data-globe-view="north-america"] .detail-world-map-image{background-position:0 100%!important}
.story-detail-page .detail-world-locator[data-globe-view="europe"] .detail-world-map-image{background-position:33.333% 100%!important}
.story-detail-page .detail-world-locator[data-globe-view="africa"] .detail-world-map-image{background-position:66.667% 100%!important}
.story-detail-page .detail-world-locator[data-globe-view="arctic"] .detail-world-map-image{background-position:100% 100%!important}

.story-detail-page .detail-world-pin,
.story-detail-page .detail-world-pulse {
  left: var(--globe-pin-x, 50%) !important;
  top: var(--globe-pin-y, 50%) !important;
  z-index: 5;
}

/* A detail globe can carry every source-reported point and every affected country. */
.story-detail-page .detail-world-point {
  position: static;
}

.story-detail-page .detail-world-point .detail-world-pulse {
  animation-delay: var(--globe-pulse-delay, 0s);
}

.story-detail-page .detail-world-point.is-affected .detail-world-pin {
  width: 8px;
  height: 8px;
  background: #1689b2;
  box-shadow: 0 0 0 2px rgba(255,255,255,.96), 0 1px 4px rgba(9,40,58,.42);
}

.story-detail-page .detail-world-point.is-affected .detail-world-pulse {
  background: #1689b2;
}

.story-detail-page .detail-world-point.is-primary .detail-world-pin {
  z-index: 7;
}

.story-detail-page .detail-world-location-summary {
  position: absolute !important;
  right: 13%;
  bottom: 5%;
  left: 13%;
  z-index: 8 !important;
  box-sizing: border-box;
  padding: 3px 6px;
  border-radius: 10px;
  background: rgba(255,255,255,.88);
  color: #173642 !important;
  font-size: 8px !important;
  line-height: 1.2 !important;
  text-align: center;
  box-shadow: 0 2px 7px rgba(9,40,58,.12);
}

.story-detail-page .detail-country-map-stage {
  background-color: transparent !important;
}

.story-detail-page .detail-country-map-stage > img {
  width: 96.6% !important;
  height: 96.6% !important;
  object-fit: contain;
  justify-self: start;
  background: transparent !important;
  border-radius: 5px;
  overflow: hidden;
}

@keyframes detail-world-slide-in {
  0% { opacity: 0; transform: translateX(-34px) scale(.985); }
  72% { opacity: 1; transform: translateX(4px) scale(1.005); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
  .story-detail-page .detail-world-locator {
    animation: none !important;
    opacity: 1;
    transform: none;
  }
}

/* Keep every context globe on a fully transparent, unshaded surround. */
.story-detail-page .detail-world-locator,
.country-search-context .country-search-world-map,
.aid-zone-region-context .aid-zone-region-highlight {
  background-color: transparent !important;
  box-shadow: none !important;
}

.story-detail-page .detail-world-locator::after {
  content: none !important;
  background: none !important;
}

.aid-zone-region-highlight[data-zone="worlds-aid"] .aid-zone-world-base {
  background-color: transparent !important;
}

.story-detail-page .detail-world-map-image,
.country-search-world-image,
.aid-zone-world-base {
  background-color: transparent !important;
}

@media (min-width: 801px) {
  .story-detail-page .sql-result-row {
    grid-template-columns: minmax(210px, 22.4%) minmax(0, 1fr) !important;
  }
}

/* Merge the country outline and its global position into one locator. */
.story-detail-page .detail-country-map-stage {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  aspect-ratio: 1 / 1;
}

.story-detail-page .detail-country-map-stage > img {
  grid-column: 1 !important;
  grid-row: 1 !important;
  z-index: 6;
  align-self: end;
  justify-self: end;
  box-sizing: border-box;
  width: 43% !important;
  height: 43% !important;
  margin: 0 2% 2% 0 !important;
  padding: 5px;
  border: 1px solid rgba(201, 217, 221, .95);
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 7px 18px rgba(9, 40, 58, .2);
  transform: translate(var(--country-shift-x, 0), var(--country-shift-y, 0));
  transition: transform 2s cubic-bezier(.22, 1, .36, 1);
}

.story-detail-page .detail-country-map-stage > img.is-relocating {
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .story-detail-page .detail-country-map-stage > img {
    transition-duration: 0s;
  }
}

.story-detail-page .detail-country-map-stage > .detail-world-locator {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 88% !important;
  margin: 0 !important;
  justify-self: center;
  transform: none !important;
}

/* Aid Zone population colour bar beneath the reduced statistics panel. */
.aid-zone-population-legend{position:absolute;z-index:501;bottom:20px;left:max(11px,calc(max(5vw,32px) - 40px));box-sizing:border-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;width:353.6px;overflow:hidden;border:1px solid rgba(9,40,58,.22);border-radius:6px;background:#dff3f5;color:#000;backdrop-filter:blur(2px)}
.aid-zone-population-legend>span{display:grid;grid-template-rows:minmax(18px,auto) 10px;align-items:center;min-width:0;background:#dff3f5;text-align:center}
.aid-zone-population-legend>span::after{content:"";display:block;width:100%;height:10px;background:var(--band)}
.aid-zone-population-legend b{padding:3px 4px;color:#000;font-size:12px;font-weight:400;line-height:1.1;text-shadow:none}
.aid-zone-page .aid-zone-map-stats{top:20px!important;right:20px!important;bottom:auto!important;left:auto!important;transform:none}
@media(max-width:800px){.aid-zone-population-legend{right:10%;bottom:20px;left:10%;width:auto}.aid-zone-population-legend>span{grid-template-rows:minmax(17px,auto) 10px}.aid-zone-population-legend b{padding:3px 2px;font-size:10px}.aid-zone-page .aid-zone-map-stats{top:12px!important;right:8px!important;bottom:auto!important;left:8px!important;width:auto;transform:none}}

/* Static thin red border when a country outline is paired with a globe. */
.story-detail-page .detail-country-map-stage > img,
.country-search-context-maps figure > img {
  border: 1px solid #d8203f !important;
  animation: none;
}

/* Merge country-search map columns into the Aid Zone inset-map treatment. */
.country-search-context-merged .country-search-context-maps {
  display: block;
}

.country-search-combined-figure {
  position: relative;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  width: 100%;
  aspect-ratio: 1 / 1;
}

.country-search-combined-figure .country-search-world-map {
  grid-column: 1;
  grid-row: 1;
  width: 88%;
  justify-self: center;
}

.country-search-combined-figure .country-search-country-inset {
  position: absolute;
  z-index: 6;
  right: 2%;
  bottom: 12%;
  box-sizing: border-box;
  width: 43%;
  height: 43%;
  padding: 5px;
  object-fit: contain;
  border: 1px solid #d8203f !important;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  box-shadow: 0 7px 18px rgba(9,40,58,.2);
}

.country-search-combined-figure figcaption {
  grid-column: 1;
  grid-row: 2;
}
