/* ============================================================================
 * Cartographic labels — rendered by LabelManager into an <g id="atlas-labels">.
 * Type hierarchy:
 *   .lbl-state    — state name (largest, letter-spaced)
 *   .lbl-np       — National Park (small caps, forest green)
 *   .lbl-tr       — Tiger Reserve (italic, tiger orange)
 *   .lbl-wls      — Wildlife Sanctuary (smaller, sage)
 *   .lbl-ramsar   — Ramsar (italic, blue)
 *   .lbl-wetland  — Wetland (italic, teal)
 *   .lbl-district — District (small, quiet grey)
 * White halo behind every label (via paint-order stroke).
 * ==========================================================================*/

.a-map #atlas-labels {
  pointer-events: none;
  user-select: none;
}
.a-map #atlas-labels text {
  font-family: var(--serif);
  paint-order: stroke fill;
  stroke: color-mix(in srgb, var(--map-bg) 90%, white);
  stroke-width: 2.4;
  stroke-linejoin: round;
  transition: opacity var(--motion-fast) var(--ease);
}
.theme-dark  .a-map #atlas-labels text { stroke: color-mix(in srgb, var(--map-bg) 65%, black); }
.theme-hc    .a-map #atlas-labels text { stroke: #000; }
.theme-print .a-map #atlas-labels text { stroke: #fff; }

.a-map #atlas-labels .lbl-district {
  fill: var(--ink-3);
  font-size: 8.5px;
  letter-spacing: 0.02em;
  font-weight: 400;
}
.a-map #atlas-labels .lbl-district.new {
  fill: var(--accent);
  font-weight: 500;
}

.a-map #atlas-labels .lbl-np {
  fill: var(--sym-np);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: var(--small-caps-letter-spacing);
  text-transform: uppercase;
}
.a-map #atlas-labels .lbl-tr {
  fill: var(--sym-tr);
  font-size: 9.5px;
  font-weight: 600;
  font-style: italic;
}
.a-map #atlas-labels .lbl-wls {
  fill: var(--sym-wls);
  font-size: 8.5px;
  font-weight: 500;
}
.a-map #atlas-labels .lbl-ramsar {
  fill: var(--sym-ramsar);
  font-size: 9px;
  font-weight: 500;
  font-style: italic;
}
.a-map #atlas-labels .lbl-wetland {
  fill: var(--sym-wetland);
  font-size: 8.5px;
  font-style: italic;
}

.a-map #atlas-labels .leader {
  stroke: var(--ink-3);
  stroke-width: 0.4;
  fill: none;
  opacity: 0.6;
}

/* Selected feature's label pops (drawn separately at top). */
.a-map #atlas-labels .selected {
  fill: var(--sel);
  font-weight: 600;
}
