/* 初期値の優先度を下げ、テーマや追加CSSの指定を読み込み順に関係なく優先する。 */
:where(.kaba-map) {
    --kaba-map-height: 250px;
    --kaba-map-width: 100%;
    --kaba-map-gap: var(--space, 8px);
    --kaba-map-background: var(--color-paper, hsl(15 35% 97%));
    --kaba-map-text: var(--color-ink, hsl(15 9% 19%));
    --kaba-map-radius: 0px;
    --kaba-map-border: 0;
    --kaba-map-line-color: #a03937;
    --kaba-map-line-width: 3;
    --kaba-map-tile-saturation: 1;
    --kaba-map-tile-brightness: 1;
    --kaba-map-tile-opacity: 1;
    /* 個別の辺の指定を後続のborder一括指定で打ち消さない。 */
    border: var(--kaba-map-border);
}
.kaba-map {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    width: var(--kaba-map-width);
    max-width: 100%;
    height: var(--kaba-map-height);
    min-height: 200px;
    margin-block: calc(var(--kaba-map-gap) * 3);
    border-radius: var(--kaba-map-radius);
    background: var(--kaba-map-background);
    color: var(--kaba-map-text);
    overflow: hidden;
}
.kaba-map .kaba-map-status { position: absolute; inset: 0; z-index: 2; display: grid; place-items: center; padding: var(--kaba-map-gap); background: var(--kaba-map-background); color: var(--kaba-map-text); font-size: 14px; }
.kaba-map.leaflet-container img { max-width: none; border-radius: 0; }
.kaba-map-message { font-size: 14px; }

/* 色調補正は背景タイルだけに適用し、マーカー・線・出典表示には影響させない。 */
.kaba-map .leaflet-tile-pane { filter: saturate(var(--kaba-map-tile-saturation)) brightness(var(--kaba-map-tile-brightness)); opacity: var(--kaba-map-tile-opacity); }
.kaba-map .leaflet-control a { color: inherit; }
.kaba-map-tile-notice { position: absolute; top: 0; left: 0; right: 0; z-index: 1000; padding: var(--kaba-map-gap); background: var(--kaba-map-background); font-size: 12px; pointer-events: none; }
