/* ---------- Karte (SVG ohne eigene Farben) ---------- */
.dawv-karte__svg { display: block; width: 100%; height: auto; max-width: 340px; margin-inline: auto; }
.dawv-karte__land { fill: var(--wp--preset--color--karte-hell); stroke: var(--wp--preset--color--tertiary); stroke-width: 1.4; stroke-linejoin: round; transition: fill .15s; }
.dawv-karte__punkt { fill: var(--wp--preset--color--primary); }
.dawv-karte__punkt.is-leer { fill: var(--wp--preset--color--tertiary); stroke: var(--wp--preset--color--text-dark); stroke-width: 1; }
.dawv-karte__zahl { font-family: var(--wp--preset--font-family--ziffer); font-size: var(--wp--preset--font-size--kicker); fill: var(--wp--preset--color--base); pointer-events: none; }
.dawv-karte__link { cursor: pointer; }
.dawv-karte__link:hover .dawv-karte__punkt:not(.is-leer),
.dawv-karte__link:focus-visible .dawv-karte__punkt:not(.is-leer) { fill: var(--wp--preset--color--primary-accent); }
.dawv-karte__link:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 2px; border-radius: var(--dawv-radius-s); }
.dawv-karte__link:focus-visible .dawv-karte__punkt { stroke: var(--wp--preset--color--base); stroke-width: 3; }
.dawv-karte__land.is-aktiv { fill: var(--wp--preset--color--border-light); }

/* Dunkle Fassung (Verzeichnis-Kopf). */
.dawv-finder-verzeichnis .dawv-karte__land { fill: var(--wp--preset--color--karte-dunkel); stroke: var(--wp--preset--color--karte-linie-dunkel); }
.dawv-finder-verzeichnis .dawv-karte__land.is-aktiv { fill: var(--wp--preset--color--border-dark); }
.dawv-finder-verzeichnis .dawv-karte__punkt.is-leer { fill: var(--wp--preset--color--main); stroke: var(--wp--preset--color--outline-dark); }

/* ---------- Kasten und Legende ---------- */
.dawv-finder__kartenkasten { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border-light); border-radius: var(--dawv-radius-l); padding: var(--wp--preset--spacing--10); }
.dawv-finder-verzeichnis .dawv-finder__kartenkasten { background: var(--wp--preset--color--main); border-color: var(--wp--preset--color--border-dark); padding: var(--wp--preset--spacing--12); }
.dawv-finder__legende { display: flex; align-items: center; flex-wrap: wrap; gap: var(--wp--preset--spacing--14); margin: var(--wp--preset--spacing--10) 0 0; padding-top: var(--wp--preset--spacing--10); border-top: 1px solid var(--wp--preset--color--border-light); font-size: var(--wp--preset--font-size--caption-s); color: var(--wp--preset--color--secondary); }
.dawv-finder-verzeichnis .dawv-finder__legende { border-top-color: var(--wp--preset--color--border-dark); color: var(--wp--preset--color--muted-dark); }
.dawv-finder__punkt { width: 12px; height: 12px; border-radius: 999px; background: var(--wp--preset--color--primary); display: inline-block; margin-right: 7px; vertical-align: middle; }
.dawv-finder__punkt-leer { width: 8px; height: 8px; border-radius: 999px; border: 1px dashed var(--wp--preset--color--text-dark); display: inline-block; margin-right: 7px; vertical-align: middle; }
.dawv-finder-verzeichnis .dawv-finder__punkt-leer { border-color: var(--wp--preset--color--outline-dark); }

/* ---------- Startseite ---------- */
.dawv-finder-start { display: grid; grid-template-columns: 1.6fr .55fr; gap: var(--wp--preset--spacing--44); align-items: center; }
.dawv-finder__titel { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--display-4); font-weight: 800; font-variation-settings: 'wdth' 108; letter-spacing: -0.015em; text-transform: uppercase; line-height: 1.02; color: var(--wp--preset--color--contrast); margin: var(--wp--preset--spacing--4) 0 var(--wp--preset--spacing--14); }
.dawv-finder__absatz { font-size: var(--wp--preset--font-size--body); color: var(--wp--preset--color--secondary); line-height: 1.6; margin: 0 0 var(--wp--preset--spacing--20); max-width: 46ch; }
.dawv-finder__chips { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--8); list-style: none; margin: 0 0 var(--wp--preset--spacing--22); padding: 0; }
.dawv-finder__chip { display: inline-flex; align-items: center; gap: 4px; min-height: 36px; font-size: var(--wp--preset--font-size--caption); color: var(--wp--preset--color--contrast); background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border-light); border-radius: var(--dawv-radius-pill); padding: 8px 15px; text-decoration: none; }
.dawv-finder__chip:hover { border-color: var(--wp--preset--color--contrast); text-decoration: none; }
.dawv-finder__chip strong { color: var(--wp--preset--color--primary-accent); }
.dawv-finder__chip-kurz { display: none; }
.dawv-finder-start .dawv-btn-dunkel { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); padding: 14px var(--wp--preset--spacing--24); font-size: var(--wp--preset--font-size--ui); }
.dawv-finder-start .dawv-btn-dunkel:hover { background: var(--wp--preset--color--main); }

/* ---------- Verzeichnis-Kopf ---------- */
.dawv-finder-verzeichnis { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wp--preset--spacing--56); align-items: center; }
.dawv-finder__h1 { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--display-3); font-weight: 800; font-variation-settings: 'wdth' 112; letter-spacing: -0.025em; text-transform: uppercase; line-height: 1; color: var(--wp--preset--color--base); margin: 0 0 var(--wp--preset--spacing--16); max-width: 12ch; }
.dawv-finder-verzeichnis .dawv-finder__absatz { font-size: var(--wp--preset--font-size--body-l); color: var(--wp--preset--color--text-dark); margin-bottom: var(--wp--preset--spacing--24); }
.dawv-finder__select { font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--body-s); padding: 14px 16px; border: 1px solid var(--wp--preset--color--outline-dark); border-radius: var(--dawv-radius-s); background: var(--wp--preset--color--main-soft); color: var(--wp--preset--color--base); min-height: 48px; min-width: 320px; max-width: 100%; }
.dawv-finder__aufklappen { display: none; }

@media (max-width: 1199px) {
	/* Tablet (Mockup): Kicker und Titel über die volle Breite, darunter Karte links, Text/Chips/Button rechts. */
	.dawv-finder-start { grid-template-columns: 330px minmax(0, 1fr); grid-template-rows: auto auto auto auto 1fr; gap: 0 var(--wp--preset--spacing--22); align-items: start; }
	.dawv-finder-start .dawv-finder__text { display: contents; }
	.dawv-finder-start .dawv-finder__text > :not(.dawv-finder__absatz):not(.dawv-finder__chips):not(.dawv-btn) { grid-column: 1 / -1; }
	.dawv-finder-start .dawv-finder__kartenkasten { grid-column: 1; grid-row: 3 / span 3; padding: var(--wp--preset--spacing--12); }
	.dawv-finder-start .dawv-finder__absatz { grid-column: 2; grid-row: 3; }
	.dawv-finder-start .dawv-finder__chips { grid-column: 2; grid-row: 4; }
	.dawv-finder-start .dawv-finder__text > .dawv-btn { grid-column: 2; grid-row: 5; justify-self: start; align-self: start; }
	.dawv-finder-start .dawv-karte__svg { width: 100%; max-width: 300px; }
	:root .dawv-finder-start .dawv-finder__legende { display: none; }
	:root .dawv-finder-start .dawv-finder__chips li:nth-child(n+6) { display: none; }
	.dawv-finder__chip-lang { display: none; }
	.dawv-finder__chip-kurz { display: inline; }
	.dawv-finder-verzeichnis { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--16); }
	.dawv-finder__h1 { max-width: none; }
	.dawv-finder-verzeichnis .dawv-finder__text { display: contents; }
	.dawv-finder-verzeichnis .dawv-finder__kartenkasten { order: 2; }
	.dawv-finder-verzeichnis .dawv-finder__select { order: 3; width: 100%; }
	:root .dawv-finder-verzeichnis .dawv-finder__absatz { display: none; }
	:root .dawv-finder-verzeichnis .dawv-finder__legende { display: none; }
}

@media (max-width: 767px) {
	/* Unter 768 px reicht die Breite nicht für Karte + Text nebeneinander: gestapelt, Karte vor dem Button (Mockup Mobil). */
	.dawv-finder-start { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
	.dawv-finder-start .dawv-finder__kartenkasten { width: auto; }
	.dawv-finder-start .dawv-finder__kartenkasten { order: 4; }
	.dawv-finder-start .dawv-finder__text > .dawv-btn { order: 5; margin-top: var(--wp--preset--spacing--14); justify-self: auto; }
	:root .dawv-finder-start .dawv-finder__chips { display: none; }
	.dawv-finder-start .dawv-btn-dunkel { width: 100%; }
	.dawv-finder-start .dawv-karte__svg { max-width: 300px; }
}

@media (max-width: 599px) {
	.dawv-finder-start .dawv-finder__kartenkasten { display: block; padding: var(--wp--preset--spacing--10); }
	.dawv-finder-start .dawv-karte__svg { width: 100%; max-width: 230px; }
	:root .dawv-finder-start .dawv-finder__chips { display: none; }
	.dawv-finder-start .dawv-btn-dunkel { width: 100%; }
	.dawv-finder__titel { margin-bottom: var(--wp--preset--spacing--14); }
	:root .dawv-finder__titel-rest { display: none; }

	.dawv-finder__absatz { margin-bottom: var(--wp--preset--spacing--14); }
	/* Verzeichnis: Auswahl zuerst, Karte einklappbar. */
	.dawv-finder-verzeichnis .dawv-finder__select { order: 2; margin-bottom: var(--wp--preset--spacing--10); }
	.dawv-finder__aufklappen { display: block; order: 3; }
	.dawv-finder__aufklappen summary { list-style: none; cursor: pointer; width: 100%; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--text-dark); border: 1px solid var(--wp--preset--color--border-dark); border-radius: var(--dawv-radius-s); padding: 13px; min-height: 46px; text-align: center; }
	.dawv-finder__aufklappen summary::-webkit-details-marker { display: none; }
	.dawv-finder-verzeichnis .dawv-finder__kartenkasten { order: 4; display: none; }
	.dawv-finder-verzeichnis:has(.dawv-finder__aufklappen[open]) .dawv-finder__kartenkasten { display: block; margin-top: var(--wp--preset--spacing--10); }
}
