.loccimaps-map { position: relative; width: 100%; border: 1px solid #d0d5dd; border-radius: 6px; overflow: hidden; background: #eef1f5; }
.loccimaps-map__canvas { width: 100%; }
.loccimaps-divicon { background: none; border: 0; }
.loccimaps-divicon svg { display: block; }
.loccimaps-marker-icon { display: block; line-height: 0; }
/* weisser Halo, damit farbige Icons auf der Karte lesbar bleiben */
.loccimaps-marker-icon svg { filter: drop-shadow( 0 0 1px #fff ) drop-shadow( 0 0 1px #fff ) drop-shadow( 0 0 1px #fff ); }
.loccimaps-consent { display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; justify-content: center; padding: 1.25rem; min-height: inherit; }
.loccimaps-consent[hidden] { display: none; } /* schlaegt die display:flex-Regel oben (UA-[hidden] wuerde verlieren) */
.loccimaps-consent__text { margin: 0; }
.loccimaps-consent__btn { cursor: pointer; padding: .5rem 1rem; border: 0; border-radius: 4px; background: #3366ff; color: #fff; font: inherit; }
.loccimaps-consent__remember { font-size: .85em; }
.loccimaps-filter { display: flex; flex-wrap: wrap; gap: .25rem; padding: .5rem; background: #fff; border-bottom: 1px solid #d0d5dd; }
.loccimaps-filter__btn { padding: .2rem .6rem; border: 1px solid #c4c9d4; border-radius: 999px; background: #f1f3f7; cursor: pointer; font: inherit; opacity: .5; }
.loccimaps-filter__btn.is-active { opacity: 1; background: #3366ff; color: #fff; border-color: #3366ff; }
.loccimaps-search { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; padding: .5rem; background: #fff; border-bottom: 1px solid #d0d5dd; }
.loccimaps-search__text { flex: 1 1 12rem; min-width: 0; padding: .3rem .5rem; border: 1px solid #c4c9d4; border-radius: 4px; font: inherit; }
.loccimaps-search__addr, .loccimaps-search__near { padding: .3rem .7rem; border: 1px solid #c4c9d4; border-radius: 4px; background: #f1f3f7; cursor: pointer; font: inherit; }
.loccimaps-search__addr[disabled], .loccimaps-search__near[disabled] { opacity: .5; cursor: default; }
.loccimaps-search__radius { font-size: .9em; }
.loccimaps-search__radius[hidden] { display: none; }
.loccimaps-search__msg { flex-basis: 100%; font-size: .85em; color: #555; }
.loccimaps-results { max-height: 14rem; overflow-y: auto; padding: .5rem; background: #fff; border-top: 1px solid #d0d5dd; }
.loccimaps-results__count { margin: 0 0 .35rem; font-size: .85em; color: #555; }
.loccimaps-results ul { list-style: none; margin: 0; padding: 0; }
.loccimaps-results__item { display: block; width: 100%; text-align: left; padding: .3rem .4rem; border: 0; background: none; cursor: pointer; font: inherit; border-radius: 4px; }
.loccimaps-results__item:hover, .loccimaps-results__item:focus { background: #eef1f5; }
.loccimaps-results__dist { color: #777; font-size: .9em; }
.loccimaps-popup img { display: block; margin: .4rem 0; border-radius: 4px; }
.loccimaps-detail__image img { max-width: 100%; height: auto; }
.loccimaps-detail__map { margin-top: 1.5rem; }
.loccimaps-notice { padding: .5rem .75rem; background: #fff8e5; border: 1px solid #f0c36d; border-radius: 4px; }
