/* AZ Verzeichnis – Frontend. Farben über CSS-Variablen, vom Theme überschreibbar. */
:root{
	--azv-akzent:#1f5f8b;
	--azv-akzent-hell:#e8f1f8;
	--azv-premium:#c58f00;
	--azv-rand:#dfe3e8;
	--azv-text:#222;
	--azv-grau:#6b7280;
	--azv-radius:10px;
}
.azv-wrap{max-width:1200px;margin:0 auto;padding:1rem 1rem 3rem;color:var(--azv-text)}
.azv-kopf h1{margin:.2em 0 .3em;font-size:clamp(1.6rem,3vw,2.3rem)}
.azv-kopf__zahl{color:var(--azv-grau);margin:0 0 1rem}
.azv-kopf__text{max-width:70ch;font-size:1.05rem;line-height:1.6}
.azv-abschnitt{margin:2.5rem 0}
.azv-abschnitt h2{font-size:1.4rem;margin:0 0 1rem}
.azv-abschnitt--bundesweit{padding:1.5rem;background:var(--azv-akzent-hell);border-radius:var(--azv-radius)}

/* Brotkrumen */
.azv-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4em;padding:0;margin:0 0 1rem;font-size:.9rem;color:var(--azv-grau)}
.azv-breadcrumb li+li::before{content:"›";margin-right:.4em}
.azv-breadcrumb a{color:inherit}

/* Kacheln (Bundesländer, Städte) */
.azv-kacheln{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.6rem}
.azv-kacheln a{display:flex;justify-content:space-between;align-items:center;padding:.65rem .9rem;border:1px solid var(--azv-rand);border-radius:8px;text-decoration:none;color:var(--azv-text);background:#fff}
.azv-kacheln a:hover{border-color:var(--azv-akzent);background:var(--azv-akzent-hell)}
.azv-kachel__zahl{font-size:.8rem;color:var(--azv-grau);background:#f3f4f6;border-radius:999px;padding:.1em .6em}
.azv-kacheln--laender a{font-weight:600}

/* Filter */
.azv-filter{margin:0 0 1.5rem;padding:1rem;border:1px solid var(--azv-rand);border-radius:var(--azv-radius);background:#fafafa}
.azv-filter fieldset{border:0;padding:0;margin:0 0 .8rem}
.azv-filter legend{font-weight:600;margin-bottom:.4rem}
.azv-filter__zeile{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.azv-filter__suche{flex:1 1 220px}
.azv-filter input[type=search],.azv-filter select{width:100%;padding:.55rem .7rem;border:1px solid var(--azv-rand);border-radius:6px;font:inherit}
.azv-filter__reset{font-size:.9rem;color:var(--azv-grau)}
.azv-chip{display:inline-flex;align-items:center;margin:0 .4rem .4rem 0;cursor:pointer}
.azv-chip input{position:absolute;opacity:0;width:0;height:0}
.azv-chip span{padding:.35rem .8rem;border:1px solid var(--azv-rand);border-radius:999px;background:#fff;font-size:.92rem}
.azv-chip input:checked+span{background:var(--azv-akzent);border-color:var(--azv-akzent);color:#fff}
.azv-chip input:focus-visible+span{outline:2px solid var(--azv-akzent);outline-offset:2px}

/* Buttons */
.azv-btn{display:inline-block;padding:.6rem 1.1rem;background:var(--azv-akzent);color:#fff!important;border:0;border-radius:6px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.azv-btn:hover{filter:brightness(1.1)}
.azv-btn--klein{padding:.4rem .8rem;font-size:.9rem}
.azv-btn--breit{display:block;text-align:center;margin-top:1rem}
.azv-link-extern{font-size:.9rem;margin-left:.6rem}

/* Karten */
.azv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem}
.azv-card{display:flex;flex-direction:column;border:1px solid var(--azv-rand);border-radius:var(--azv-radius);background:#fff;overflow:hidden}
.azv-card--premium{border-color:var(--azv-premium);box-shadow:0 0 0 2px rgba(197,143,0,.15)}
.azv-card__logo{display:flex;align-items:center;justify-content:center;height:120px;background:#f8f9fa;padding:1rem}
.azv-card__logo img{max-height:90px;width:auto;object-fit:contain}
.azv-card__platzhalter{font-size:2.4rem;font-weight:700;color:var(--azv-akzent)}
.azv-card__body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.45rem;flex:1}
.azv-card__titel{font-size:1.1rem;margin:0;line-height:1.3}
.azv-card__titel a{text-decoration:none;color:var(--azv-text)}
.azv-card__ort{margin:0;font-size:.9rem;color:var(--azv-grau)}
.azv-card__text{margin:0;font-size:.95rem;line-height:1.5}
.azv-card__aktionen{margin:auto 0 0;padding-top:.6rem;display:flex;align-items:center}
.azv-chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}
.azv-chips a{display:inline-block;padding:.15rem .6rem;border-radius:999px;background:var(--azv-akzent-hell);color:var(--azv-akzent);font-size:.82rem;text-decoration:none}
.azv-badge{display:inline-block;align-self:flex-start;padding:.15rem .6rem;border-radius:4px;background:var(--azv-premium);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.azv-badge--neutral{background:var(--azv-grau)}
.azv-leer{padding:1.5rem;border:1px dashed var(--azv-rand);border-radius:var(--azv-radius);color:var(--azv-grau)}

/* Einzelseite */
.azv-single__raster{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:2rem;align-items:start}
.azv-single__inhalt{line-height:1.65}
.azv-kontakt{position:sticky;top:1rem;padding:1.3rem;border:1px solid var(--azv-rand);border-radius:var(--azv-radius);background:#fff}
.azv-kontakt__titel{font-size:1.1rem;margin:0 0 .8rem}
.azv-kontakt__logo{text-align:center;margin-bottom:1rem}
.azv-kontakt__logo img{max-height:100px;width:auto}
.azv-kontakt dl{margin:0}
.azv-kontakt dt{font-weight:600;margin-top:.7rem;font-size:.85rem;color:var(--azv-grau);text-transform:uppercase;letter-spacing:.03em}
.azv-kontakt dd{margin:.2rem 0 0}
.azv-hinweis{font-size:.85rem;color:var(--azv-grau);margin:.3rem 0 0}
.azv-zurueck{margin-top:2rem}

/* Startseiten-Suche */
.azv-suche{display:flex;gap:.6rem;max-width:640px}
.azv-suche label{flex:1}
.azv-suche input{width:100%;padding:.7rem .9rem;border:1px solid var(--azv-rand);border-radius:6px;font:inherit;font-size:1.05rem}

@media (max-width:860px){
	.azv-single__raster{grid-template-columns:1fr}
	.azv-kontakt{position:static}
}

.azv-blog-titel{max-width:1200px;margin:1rem auto .5rem;padding:0 1rem}
.azv-suche{margin:1.2rem 0 2rem}
.azv-langtext{max-width:78ch;line-height:1.65}
.azv-langtext h2{font-size:1.35rem;margin:1.6rem 0 .6rem}
.azv-langtext h3{font-size:1.1rem;margin:1.2rem 0 .4rem}
