/* WordPress-Anpassungen: damit die Gestaltung aus site.css im Block-Theme genauso wirkt wie im Prototyp. */
:root { padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); }
[hidden] { display: none !important; }

/* Hüllen der Template-Teile auflösen, sonst klebt die Kopfzeile nicht (position: sticky) */
.teil-kopf, .teil-fuss { display: contents; }
.wp-site-blocks { padding: 0; }

/* Angemeldet: Kopfzeile unter der WordPress-Adminleiste */
.admin-bar .kopf { top: calc(var(--wp-admin--admin-bar--height, 0px) + env(safe-area-inset-top, 0px)); }
@media (max-width: 600px) { .admin-bar .kopf { top: env(safe-area-inset-top, 0px); } }

/* Seiten mit Inhalt aus dem Editor (Impressum, Datenschutz) */
.sec--direkt { padding-top: 0; }
.prose > .wp-block-heading, .prose > h2, .prose > h3 { margin-top: var(--space-4); }
.prose ul.wp-block-list:not(.qliste), .prose ol.wp-block-list { padding-left: 1.3em; display: grid; gap: var(--space-2); margin: 0; }

/* Kontaktformular */
.formular__fehler { color: var(--text-akzent); font-weight: 600; }
.formular__falle { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Karte der Bildungsträger (OpenStreetMap) */
.osm-leiste { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); margin: 0 0 var(--space-4); }
.osm-leiste p { flex: 1 1 320px; color: var(--text-gedaempft); margin: 0; }
.osm-merken { display: inline-flex; align-items: center; gap: 8px; color: var(--text-gedaempft); cursor: pointer; }
.karte-svg.ist-osm { aspect-ratio: 4 / 3; min-height: 360px; background: var(--um-himmelblau); }
.ist-osm .leaflet-container, .karte-svg.ist-osm { font-family: var(--font-sans); }
.osm-marke { background: none; border: 0; }
.osm-pin { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 5px; background: var(--primaer); color: #fff; border: 2px solid #fff;
  font: 700 13px/1 var(--font-sans); box-shadow: 0 2px 6px rgba(20, 36, 59, .35); transition: background-color .2s; }
.osm-pin.ist-aktiv { background: var(--cta); }
.ist-osm .leaflet-popup-content { font-size: 15px; line-height: 1.45; }
.ist-osm .leaflet-popup-content a { color: var(--um-quadratblau); }
@media (prefers-color-scheme: dark) { .ist-osm .leaflet-tile { filter: brightness(.82) contrast(1.08); } }

/* Ratgeber auf den Berufsseiten */
.ratgeber .prose h3 { font-size: 22px; line-height: 1.35; margin-top: var(--space-4); }
.ratgeber .prose h4 { font-size: 18px; line-height: 1.4; margin-top: var(--space-2); }
