/* Bundesland-Seiten (/wien/, /niederoesterreich/ …): gemeinsame Stile, Seiten erzeugt von Werkzeuge/bundeslaender-erstellen.mjs */

/* Hero ohne den unscharfen Farbhintergrund der Startseite, nur Weiß (Nutzer, 07.11.2026) */
.hero::before { display: none; }

/* Hero: Österreich-Karte statt Foto, in einer hellen Fläche mit leichtem Akzent-Schein */
.bl-karte { position: relative; margin: 0; padding: 56px 24px 64px; }
/* Graues Punktmuster wie bei dub.co: frei hinter der Karte, ohne Rahmen, zu den Rändern hin ausgeblendet */
.bl-karte::before { content: ""; position: absolute; inset: -48px -40px; pointer-events: none;
  background-image: radial-gradient(circle, #d4d4d4 1.1px, transparent 1.5px); background-size: 20px 20px; background-position: center;
  -webkit-mask-image: radial-gradient(ellipse 60% 60% at 50% 50%, #000 40%, transparent 100%); mask-image: radial-gradient(ellipse 60% 60% at 50% 50%, #000 40%, transparent 100%); }
.bl-karte img { position: relative; display: block; width: 100%; height: auto; }
.bl-karte .hero-schild { z-index: 1; }
.bl-karte .hero-schild { left: -24px; bottom: 24px; }

.bl-live { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; font-size: 15px; color: var(--fliess); }
.bl-live b { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: var(--titel); font-variant-numeric: tabular-nums; }

.bl-suche { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
.bl-suche-text { padding: 36px; }
.bl-suche-text h2 { margin-bottom: 14px; }
.bl-suche-text p + p { margin-top: 14px; }
.bl-suche .weg { padding: 32px; }
.bl-suche .weg h3 { margin-bottom: 4px; }
.bl-suche .weg .checkliste li { font-size: 15px; }
.bl-zahl { display: flex; align-items: baseline; gap: 10px; margin: 6px 0 4px; }
.bl-zahl b { font-family: var(--font-display); font-size: 44px; font-weight: 700; line-height: 1; letter-spacing: -.02em; color: var(--titel); font-variant-numeric: tabular-nums; }
.bl-zahl span { font-size: 15px; color: var(--leise); }

.bl-anspruch { max-width: 760px; margin: 0 auto; }
.bl-link { color: var(--akzent-text); white-space: nowrap; }
.bl-link:hover { text-decoration: underline; }

.bl-grenzen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bl-grenzen--eins { grid-template-columns: minmax(0, 560px); justify-content: center; }
.bl-grenzen .pruefliste { margin-top: 0; }
.bl-quelle { margin-top: 16px !important; text-align: center; }

.bl-bezirke { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bl-bezirke a { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--linie); border-radius: 10px; background: var(--flaeche); font-size: 15px; font-weight: 500; color: var(--titel); transition: border-color .15s, background-color .15s; }
.bl-bezirke a:hover { border-color: #d4d4d4; background: var(--flaeche-2); }
.bl-bezirke small { min-width: 38px; font-size: 13px; font-weight: 600; color: var(--leise); font-variant-numeric: tabular-nums; }
.bl-mehr { margin-top: 32px; text-align: center; }

main h2 { -webkit-hyphens: auto; hyphens: auto; overflow-wrap: break-word; }

@media (max-width: 1000px) {
  .bl-suche, .bl-grenzen { grid-template-columns: 1fr; }
  .bl-bezirke { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bl-karte .hero-schild { left: 16px; }
}
@media (max-width: 760px) {
  .bl-karte { padding: 28px 16px 16px; border-radius: 16px; }
  .bl-karte .hero-schild { position: static; margin-top: 24px; }
  .bl-suche-text, .bl-suche .weg { padding: 26px 22px; }
  .bl-grenzen .pruefliste-werte > div { grid-template-columns: minmax(0, 1fr) auto; padding: 12px 0; }
  .bl-grenzen .pruefliste-werte dd { text-align: right; }
  .bl-bezirke { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
