/* Verbreitungskarte auf der Tierseite */
.rangemap-section { padding: clamp(2rem,5vw,3rem) clamp(1.25rem,5vw,3rem); background: var(--ts-surface); border-top: 1px solid var(--ts-line); }
.rangemap__inner { max-width: 1000px; margin: 0 auto; }
.rangemap__inner h2 { font-family: var(--ts-font-head); font-weight: 600; font-size: clamp(1.5rem,3.5vw,2.1rem); margin: 0 0 .3rem; }
.rangemap__sub { color: var(--ts-muted); margin: 0 0 1.2rem; }
.rangemap {
    position: relative; width: 100%; aspect-ratio: 2 / 1;
    background-color: #241d14; background-size: cover; background-position: center;
    border: 1px solid var(--ts-line); border-radius: var(--ts-radius); overflow: hidden;
}
.rangemap__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.range-pin {
    position: absolute; transform: translate(-50%, -100%);
    font-size: clamp(.9rem, 2.2vw, 1.25rem); line-height: 1; cursor: default;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.7));
}
.range-pin--zoo { font-size: clamp(.8rem, 2vw, 1.1rem); }
.rangemap__err { color: var(--ts-muted); padding: 2rem; text-align: center; }
.rangemap__legend { display: flex; flex-wrap: wrap; gap: 1.2rem; margin-top: 1rem; color: var(--ts-muted); font-size: .9rem; }
.rangemap__legend span { display: inline-flex; align-items: center; gap: .4rem; }
.rangemap__swatch { width: 1rem; height: 1rem; border-radius: 3px; background: var(--ts-accent); opacity: .5; }
