/* Conflict dossier refresh — align individual dossiers with the homepage editorial system. */

.gn-conflict-detail--refresh .gn-shell {
  padding-bottom: 84px;
}

.gn-conflict-detail--refresh .gn-back-link {
  margin: 28px 0 24px;
}

.gn-dossier-hero {
  padding: 8px 0 40px;
  border-bottom: 1px solid hsl(var(--gn-rule-strong));
}

.gn-dossier-hero--with-media {
  display: grid;
  grid-template-columns: minmax(0, 1.03fr) minmax(360px, 0.97fr);
  align-items: start;
  gap: clamp(38px, 6vw, 82px);
}

.gn-dossier-hero__copy {
  min-width: 0;
}

.gn-dossier-hero__topline {
  margin-bottom: 22px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
}

.gn-dossier-hero__topline .gn-eyebrow {
  margin-bottom: 8px;
}

.gn-conflict-detail--refresh .gn-dossier-header__meta {
  margin: 0;
  gap: 12px;
}

.gn-dossier-hero h1 {
  max-width: 760px;
  margin: 0;
  font-family: var(--font-body);
  font-size: clamp(34px, 4.8vw, 58px);
  font-weight: 780;
  letter-spacing: -0.045em;
  line-height: 1.01;
  text-wrap: balance;
}

.gn-dossier-hero__dek {
  max-width: 700px;
  margin: 20px 0 0;
  color: hsl(var(--gn-ink-soft));
  font-size: clamp(15px, 1.5vw, 17px);
  line-height: 1.62;
}

.gn-dossier-hero__facts {
  margin-top: 28px;
  padding-top: 17px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  border-top: 1px solid hsl(var(--gn-rule));
  color: hsl(var(--gn-ink-faint));
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.gn-dossier-hero__facts strong {
  color: hsl(var(--gn-ink));
  font-weight: 780;
}

.gn-dossier-hero__media {
  width: 100%;
  min-height: 0;
  align-self: start;
}

.gn-dossier-hero__media .gn-media {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
  display: block;
}

.gn-dossier-hero__media .gn-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.gn-dossier-hero__media .gn-media figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 28px 14px 11px;
  color: rgb(255 255 255 / 0.9);
  background: linear-gradient(to top, rgb(0 0 0 / 0.72), transparent);
  text-shadow: 0 1px 2px rgb(0 0 0 / 0.45);
}

.gn-dossier-hero__media .gn-media figcaption a {
  color: inherit;
}

.gn-conflict-detail--refresh .gn-follow-button {
  flex: 0 0 auto;
  border-color: hsl(var(--gn-rule));
  background: transparent;
}

.gn-conflict-detail--refresh .gn-dossier-tabs {
  margin: 0 0 clamp(42px, 6vw, 64px);
  padding: 0;
  display: flex;
  align-items: center;
  gap: 26px;
  overflow-x: auto;
  border: 0;
  border-bottom: 1px solid hsl(var(--gn-rule));
  background: transparent;
}

.gn-conflict-detail--refresh .gn-dossier-tab {
  min-height: 54px;
  padding: 0;
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  color: hsl(var(--gn-ink-faint));
  background: transparent;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.gn-conflict-detail--refresh .gn-dossier-tab svg {
  display: none;
}

.gn-conflict-detail--refresh .gn-dossier-tab:hover {
  color: hsl(var(--gn-ink));
  background: transparent;
}

.gn-conflict-detail--refresh .gn-dossier-tab.is-active {
  color: hsl(var(--gn-ink));
  background: transparent;
  box-shadow: inset 0 -2px 0 hsl(var(--gn-accent));
}

.gn-conflict-detail--refresh .gn-dossier-tab:focus-visible {
  outline-offset: 5px;
}

.gn-dossier-overview {
  display: grid;
  gap: clamp(42px, 6vw, 64px);
}

.gn-conflict-detail--refresh .gn-context-entry,
.gn-dossier-baseline-entry {
  width: 100%;
  padding: 0 0 28px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  border: 0;
  border-bottom: 1px solid hsl(var(--gn-rule-strong));
  color: hsl(var(--gn-ink));
  background: transparent;
  text-align: left;
}

.gn-dossier-baseline-entry {
  display: block;
}

.gn-conflict-detail--refresh .gn-context-entry:hover,
.gn-dossier-baseline-entry:hover {
  border-color: hsl(var(--gn-rule-strong));
  background: transparent;
}

.gn-conflict-detail--refresh .gn-context-entry__icon {
  width: 38px;
  height: 38px;
  border: 0;
  color: hsl(var(--gn-accent));
  background: transparent;
}

.gn-conflict-detail--refresh .gn-context-entry h3 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.2vw, 28px);
  font-weight: 650;
  letter-spacing: -0.025em;
}

.gn-conflict-detail--refresh .gn-context-entry__action,
.gn-dossier-section-link {
  border: 0;
  color: hsl(var(--gn-ink-faint));
  background: transparent;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.gn-conflict-detail--refresh .gn-context-entry:hover .gn-context-entry__action,
.gn-dossier-section-link:hover {
  color: hsl(var(--gn-accent));
}

.gn-dossier-baseline-entry .gn-eyebrow {
  margin-bottom: 8px;
}

.gn-dossier-baseline-entry > p:last-child {
  max-width: 900px;
  margin: 0;
  color: hsl(var(--gn-ink-soft));
  font-size: 15px;
  line-height: 1.65;
}

.gn-dossier-recent,
.gn-dossier-developments {
  padding-bottom: 18px;
}

.gn-dossier-recent .gn-section-heading,
.gn-dossier-developments .gn-section-heading {
  margin-bottom: 0;
}

.gn-dossier-story-list {
  margin-top: 24px;
  border-top: 1px solid hsl(var(--gn-rule-strong));
}

.gn-dossier-story {
  padding: 24px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 22px;
  border-bottom: 1px solid hsl(var(--gn-rule));
  color: hsl(var(--gn-ink));
  text-decoration: none;
}

.gn-dossier-story--with-media {
  grid-template-columns: minmax(130px, 190px) minmax(0, 1fr);
}

.gn-dossier-story__media {
  min-width: 0;
}

.gn-dossier-story__media .gn-media {
  width: 100%;
}

.gn-dossier-story__media .gn-media figcaption {
  display: none;
}

.gn-dossier-story__body {
  min-width: 0;
}

.gn-dossier-story__meta {
  margin: 0 0 9px;
  color: hsl(var(--gn-ink-faint));
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.gn-dossier-story h4 {
  max-width: 790px;
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(20px, 2vw, 27px);
  font-weight: 650;
  letter-spacing: -0.025em;
  line-height: 1.12;
  text-wrap: balance;
  transition: color 160ms ease;
}

.gn-dossier-story:hover h4 {
  color: hsl(var(--gn-accent));
}

.gn-dossier-story__summary {
  max-width: 800px;
  margin: 10px 0 0;
  color: hsl(var(--gn-ink-soft));
  font-size: 13px;
  line-height: 1.58;
}

.gn-dossier-story__action {
  margin-top: 14px;
  display: inline-block;
  color: hsl(var(--gn-ink-faint));
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.gn-dossier-story:hover .gn-dossier-story__action {
  color: hsl(var(--gn-accent));
}

.gn-dossier-story--featured {
  padding-top: 30px;
  padding-bottom: 30px;
}

.gn-dossier-story--featured h4 {
  font-size: clamp(23px, 2.5vw, 32px);
}

.gn-dossier-section-stack,
.gn-dossier-context {
  max-width: 980px;
  display: grid;
  gap: clamp(38px, 5vw, 56px);
}

.gn-dossier-section-header {
  padding-bottom: 24px;
  border-bottom: 1px solid hsl(var(--gn-rule-strong));
}

.gn-conflict-detail--refresh .gn-dossier-section-header h2,
.gn-conflict-detail--refresh .gn-dossier-context-chapter h3 {
  margin: 4px 0 0;
  font-family: var(--font-body);
  font-weight: 760;
  letter-spacing: -0.035em;
}

.gn-conflict-detail--refresh .gn-dossier-section-header h2 {
  font-size: clamp(27px, 3.2vw, 38px);
}

.gn-dossier-section-header > p:last-child {
  max-width: 760px;
}

.gn-dossier-baseline {
  padding: 0;
  border: 0;
}

.gn-dossier-baseline + .gn-dossier-baseline {
  padding-top: 36px;
  border-top: 1px solid hsl(var(--gn-rule-strong));
}

.gn-dossier-baseline > p {
  max-width: 880px;
}

.gn-dossier-baseline__dimension {
  padding: 16px 0 0;
  border-top: 1px solid hsl(var(--gn-rule));
}

.gn-dossier-baseline__thresholds {
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid hsl(var(--gn-rule));
}

.gn-dossier-context__header {
  margin-bottom: 0;
}

.gn-dossier-context-chapter {
  padding-top: 30px;
  border-top: 1px solid hsl(var(--gn-rule));
}

.gn-dossier-context-chapter:first-of-type {
  border-top-color: hsl(var(--gn-rule-strong));
}

.gn-conflict-detail--refresh .gn-dossier-context .gn-prose {
  max-width: 780px;
}

.gn-conflict-detail--refresh .gn-narrative-visual {
  max-width: 880px;
  margin-top: 30px;
}

.gn-conflict-detail--refresh .gn-narrative-visual img {
  max-height: 560px;
  object-fit: cover;
}

.gn-conflict-detail--refresh details.border {
  border-left: 0;
  border-right: 0;
}

@media (max-width: 960px) {
  .gn-dossier-hero--with-media {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .gn-dossier-hero__media {
    order: -1;
    min-height: 0;
  }

  .gn-dossier-hero__media .gn-media {
    max-width: none;
  }

  .gn-dossier-story--with-media {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}

@media (max-width: 700px) {
  .gn-conflict-detail--refresh .gn-back-link {
    margin-top: 22px;
  }

  .gn-dossier-hero {
    padding-top: 2px;
    padding-bottom: 30px;
  }

  .gn-dossier-hero__topline {
    align-items: flex-start;
  }

  .gn-dossier-hero h1 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .gn-dossier-hero__facts {
    display: grid;
    gap: 8px;
  }

  .gn-conflict-detail--refresh .gn-dossier-tabs {
    gap: 22px;
    margin-bottom: 42px;
  }

  .gn-conflict-detail--refresh .gn-context-entry {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .gn-conflict-detail--refresh .gn-context-entry__icon {
    display: none;
  }

  .gn-conflict-detail--refresh .gn-context-entry__action {
    margin-top: 3px;
  }

  .gn-dossier-story,
  .gn-dossier-story--with-media {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .gn-dossier-story__media .gn-media {
    aspect-ratio: 16 / 9;
  }

  .gn-dossier-story h4,
  .gn-dossier-story--featured h4 {
    font-size: clamp(22px, 7vw, 29px);
  }

  .gn-dossier-section-link {
    display: none;
  }
}
/* Image-based dossier situation maps */
.gn-conflict-map-card--image {
  margin-top: 34px;
}

.gn-conflict-map-image {
  display: block;
  overflow: hidden;
  border: 1px solid hsl(var(--gn-rule-strong));
  background: #f2f3f2;
  text-decoration: none;
}

.gn-conflict-map-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 720px;
  object-fit: contain;
  background: #f2f3f2;
}

.gn-conflict-map-card__footer--image {
  align-items: start;
}

.gn-conflict-map-card__source a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.gn-conflict-map-card__source a:hover {
  color: hsl(var(--gn-ink));
}

.gn-conflict-map-image__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: 10px;
  color: hsl(var(--gn-ink-muted));
  font-size: 10px;
  font-weight: 700;
}

.gn-conflict-map-image__legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.gn-conflict-map-image__legend i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / 0.9);
  box-shadow: 0 0 0 1px rgb(0 0 0 / 0.16);
  flex: 0 0 auto;
}

.gn-conflict-map-image__hint {
  color: hsl(var(--gn-ink-faint));
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .gn-conflict-map-image img {
    max-height: none;
  }

  .gn-conflict-map-image__hint {
    white-space: normal;
  }
}

/* Dossier orientation maps */
.gn-conflict-map-card {
  margin: 34px 0 12px;
  padding: 28px 0 30px;
  border-bottom: 1px solid hsl(var(--gn-rule-strong));
}

.gn-conflict-map-card__header {
  margin-bottom: 16px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.gn-conflict-map-card__header h2 {
  margin: 4px 0 0;
  font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 680;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.gn-conflict-map-card__meta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: hsl(var(--gn-ink-faint));
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  white-space: nowrap;
}

.gn-conflict-map-card__canvas {
  position: relative;
  overflow: hidden;
  border: 1px solid hsl(var(--gn-rule-strong));
  background: hsl(var(--gn-paper-soft));
}

.gn-conflict-map-card__canvas .leaflet-container {
  width: 100%;
  height: clamp(360px, 44vw, 520px);
  background: hsl(var(--gn-paper-soft));
  font-family: var(--font-body);
}

.gn-conflict-map-card__canvas .leaflet-tile-pane {
  filter: grayscale(0.92) saturate(0.18) contrast(0.86) brightness(1.12);
  opacity: 0.58;
}

.gn-conflict-map-card__canvas .leaflet-control-attribution {
  color: hsl(var(--gn-ink-faint));
  background: hsl(var(--gn-paper) / 0.82);
  font-size: 8px;
}

.gn-conflict-map__marker {
  fill: hsl(var(--gn-ink));
  fill-opacity: 0.96;
  stroke: hsl(var(--gn-paper));
  stroke-width: 2.4;
}

.gn-conflict-map__marker--strategic,
.gn-conflict-map__marker--chokepoint {
  fill: hsl(var(--gn-accent));
}

.gn-conflict-map__marker--port {
  fill: hsl(var(--gn-ink-soft));
}

.gn-conflict-map__line {
  fill: none;
  stroke: hsl(var(--gn-accent));
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gn-conflict-map__line--maritime {
  stroke-dasharray: 8 7;
}

.gn-conflict-map__zone {
  fill: hsl(var(--gn-accent));
  fill-opacity: 0.10;
  stroke: hsl(var(--gn-accent));
  stroke-opacity: 0.62;
  stroke-width: 1.5;
  stroke-dasharray: 6 5;
}

.gn-conflict-map__zone--secondary {
  fill: hsl(var(--gn-ink));
  fill-opacity: 0.055;
  stroke: hsl(var(--gn-ink-soft));
  stroke-opacity: 0.45;
}

.gn-conflict-map__tooltip.leaflet-tooltip {
  padding: 3px 6px;
  border: 1px solid hsl(var(--gn-rule-strong));
  border-radius: 0;
  color: hsl(var(--gn-ink));
  background: hsl(var(--gn-paper) / 0.94);
  box-shadow: none;
  font-family: var(--font-body);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.025em;
}

.gn-conflict-map__tooltip.leaflet-tooltip::before,
.gn-conflict-map__area-tooltip.leaflet-tooltip::before,
.gn-conflict-map__front-label.leaflet-tooltip::before {
  display: none;
}

.gn-conflict-map__area-tooltip.leaflet-tooltip,
.gn-conflict-map__front-label.leaflet-tooltip {
  border-radius: 0;
  box-shadow: none;
  font-family: var(--font-body);
}

.gn-conflict-map__area-tooltip.leaflet-tooltip {
  padding: 4px 7px;
  border: 1px solid rgb(197 106 18 / 0.45);
  color: #7a4109;
  background: rgb(255 250 243 / 0.96);
  font-size: 9px;
  font-weight: 700;
}

.gn-conflict-map__front-label.leaflet-tooltip {
  padding: 3px 6px;
  border: 1px solid rgb(180 35 24 / 0.55);
  color: #8f1d14;
  background: rgb(255 248 247 / 0.96);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

.gn-conflict-map-card__footer {
  padding-top: 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: start;
}

.gn-conflict-map-card__footer > p {
  max-width: 820px;
  margin: 0;
  color: hsl(var(--gn-ink-soft));
  font-size: 13px;
  line-height: 1.6;
}

.gn-conflict-map-card__legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px 14px;
  color: hsl(var(--gn-ink-faint));
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.gn-conflict-map-card__legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.gn-conflict-map__legend-dot,
.gn-conflict-map__legend-control,
.gn-conflict-map__legend-friendly,
.gn-conflict-map__legend-front,
.gn-conflict-map__legend-maritime,
.gn-conflict-map__legend-zone {
  display: inline-block;
  flex: 0 0 auto;
}

.gn-conflict-map__legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: hsl(var(--gn-ink));
}

.gn-conflict-map__legend-control {
  width: 16px;
  height: 10px;
  border: 1px solid #8f1d14;
  background: rgb(180 35 24 / 0.20);
}

.gn-conflict-map__legend-friendly {
  width: 16px;
  height: 10px;
  border: 1px solid #4b5b67;
  background: rgb(115 131 145 / 0.14);
}

.gn-conflict-map__legend-front {
  width: 19px;
  height: 0;
  border-top: 4px solid #b42318;
  border-radius: 99px;
}

.gn-conflict-map__legend-maritime {
  width: 19px;
  height: 0;
  border-top: 3px dashed #c56a12;
}

.gn-conflict-map__legend-zone {
  width: 15px;
  height: 10px;
  border: 2px dashed #b42318;
  background: rgb(180 35 24 / 0.12);
}

@media (max-width: 760px) {
  .gn-conflict-map-card {
    margin-top: 24px;
    padding-top: 22px;
  }

  .gn-conflict-map-card__header,
  .gn-conflict-map-card__footer {
    grid-template-columns: 1fr;
    display: grid;
    gap: 12px;
  }

  .gn-conflict-map-card__meta {
    white-space: normal;
  }

  .gn-conflict-map-card__canvas .leaflet-container {
    height: 410px;
  }

  .gn-conflict-map-card__legend {
    justify-content: flex-start;
  }

  .gn-conflict-map__tooltip.leaflet-tooltip {
    font-size: 8px;
  }
}

/* Static SVG conflict situation maps */
.gn-situation-map {
  margin: 0;
  overflow: hidden;
  border: 1px solid hsl(var(--gn-rule-strong));
  background: #eef2f3;
}

.gn-situation-map svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 360px;
  background: #eef2f3;
}

.gn-situation-map__sea {
  fill: #eef2f3;
}

.gn-situation-map__country {
  fill: #f7f5f0;
  stroke: #c8cdd0;
  stroke-width: 1.2;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__country.is-focal {
  fill: #fbfaf7;
  stroke: #9ba3a8;
  stroke-width: 1.8;
}

.gn-situation-map__area {
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__area.is-opposing {
  fill: #b42318;
  fill-opacity: 0.18;
  stroke: #9b231a;
  stroke-width: 1;
  stroke-opacity: 0.56;
}

.gn-situation-map__area.is-friendly {
  fill: #6f7f8a;
  fill-opacity: 0.12;
  stroke: #5e6d76;
  stroke-width: 1;
  stroke-opacity: 0.45;
}

.gn-situation-map__area.is-pressure {
  fill: #c56a12;
  fill-opacity: 0.11;
  stroke: #b85f0e;
  stroke-width: 1.2;
  stroke-dasharray: 5 4;
  stroke-opacity: 0.75;
}

.gn-situation-map__area-label {
  pointer-events: none;
  paint-order: stroke;
  stroke: #ffffff;
  stroke-width: 5px;
  stroke-linejoin: round;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.035em;
}

.gn-situation-map__area-label.is-opposing {
  fill: #8f1d14;
}

.gn-situation-map__area-label.is-friendly {
  fill: #485660;
}

.gn-situation-map__area-label.is-pressure {
  fill: #8b480a;
}

.gn-situation-map__front-casing {
  fill: none;
  stroke: #ffffff;
  stroke-width: 8;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__line.is-front {
  stroke: #b42318;
  stroke-width: 4;
}

.gn-situation-map__line.is-maritime {
  stroke: #c56a12;
  stroke-width: 3;
  stroke-dasharray: 9 7;
}

.gn-situation-map__line.is-secondary {
  stroke: #c56a12;
  stroke-width: 3;
  stroke-dasharray: 4 6;
}

.gn-situation-map__country-label {
  pointer-events: none;
  fill: #7b858b;
  fill-opacity: 0.48;
  font-family: var(--font-body);
  font-size: 27px;
  font-weight: 800;
  letter-spacing: 0.16em;
}

.gn-situation-map__marker circle {
  fill: #273039;
  stroke: #ffffff;
  stroke-width: 2.4;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__marker.is-port circle {
  fill: #59636f;
}

.gn-situation-map__marker.is-strategic circle {
  fill: #b42318;
}

.gn-situation-map__marker-label {
  pointer-events: none;
  fill: #20252b;
  paint-order: stroke;
  stroke: #fbfaf7;
  stroke-width: 5px;
  stroke-linejoin: round;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 800;
}

@media (max-width: 760px) {
  .gn-situation-map svg {
    min-height: 300px;
  }

  .gn-situation-map__country-label {
    font-size: 22px;
  }

  .gn-situation-map__area-label,
  .gn-situation-map__marker-label {
    font-size: 10px;
  }
}

/* Map reset: source-backed dossier situation maps */
.gn-situation-map {
  margin: 0;
  overflow: hidden;
  border: 1px solid hsl(var(--gn-rule-strong));
  background: #edf1f3;
}

.gn-situation-map svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 360px;
}

.gn-situation-map__sea {
  fill: #edf1f3;
}

.gn-situation-map__country {
  fill: #f7f5f0;
  stroke: #bfc6ca;
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__country.is-focal {
  fill: #fbfaf7;
  stroke: #8f989e;
  stroke-width: 1.7;
}

.gn-situation-map__control-area {
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__control-area.is-occupied {
  fill: #b42318;
  fill-opacity: 0.28;
  stroke: #8f1d14;
  stroke-width: 0.8;
  stroke-opacity: 0.5;
}

.gn-situation-map__control-area.is-contested {
  fill: #6f7479;
  fill-opacity: 0.22;
  stroke: #5c6166;
  stroke-width: 0.7;
  stroke-opacity: 0.45;
}

.gn-situation-map__fighting-band {
  fill: none;
  stroke: #b42318;
  stroke-width: 15;
  stroke-opacity: 0.16;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__fighting-core {
  fill: none;
  stroke: #b42318;
  stroke-width: 2.6;
  stroke-opacity: 0.96;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__maritime-line {
  fill: none;
  stroke: #c56a12;
  stroke-width: 3;
  stroke-dasharray: 10 7;
  stroke-linecap: round;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__line-label {
  fill: #8f1d14;
  paint-order: stroke;
  stroke: #fbfaf7;
  stroke-width: 5px;
  stroke-linejoin: round;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.015em;
}

.gn-situation-map__line-label.is-maritime {
  fill: #8a4709;
}

.gn-situation-map__marker circle {
  fill: #25303a;
  stroke: #ffffff;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
}

.gn-situation-map__marker.is-port circle {
  fill: #5b6670;
}

.gn-situation-map__marker.is-strategic circle {
  fill: #b42318;
}

.gn-situation-map__marker-label {
  fill: #20252b;
  paint-order: stroke;
  stroke: #fbfaf7;
  stroke-width: 5px;
  stroke-linejoin: round;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 800;
}

.gn-conflict-map-card__footer > div:first-child {
  min-width: 0;
}

.gn-conflict-map-card__source {
  margin: 8px 0 0;
  color: hsl(var(--gn-ink-faint));
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.gn-conflict-map__legend-occupied,
.gn-conflict-map__legend-contested {
  display: inline-block;
  width: 15px;
  height: 10px;
  flex: 0 0 auto;
}

.gn-conflict-map__legend-occupied {
  border: 1px solid #8f1d14;
  background: rgb(180 35 24 / 0.28);
}

.gn-conflict-map__legend-contested {
  border: 1px solid #5c6166;
  background: rgb(111 116 121 / 0.22);
}

@media (max-width: 760px) {
  .gn-situation-map svg {
    min-height: 300px;
  }

  .gn-situation-map__line-label {
    font-size: 8px;
  }

  .gn-situation-map__marker-label {
    font-size: 9px;
  }
}
