/* altstadtdialog.css - automatisch aus inline-<style>-Tags extrahiert. */


/* ===== Künstler-Bewerbungs-Form (/kuenstler-bewerbung) */
/* Quelle: templates/altstadtdialog/kuenstler.twig */
.kb-hero { padding: 3rem 1rem 2rem; max-width: 50rem; margin: 0 auto; }
    .kb-hero h1 { font-size: clamp(1.7rem, 4vw, 2.4rem); margin: 0 0 1rem; }
    .kb-hero p.lead { font-size: 1.1rem; color: var(--c-fg-muted, #555); }
    .kb-form { display: grid; gap: 1rem; max-width: 42rem; margin: 1rem auto; padding: 0 1rem; }
    .kb-form label { display: block; font-weight: 600; margin-bottom: .25rem; }
    .kb-form input, .kb-form textarea, .kb-form select {
      width: 100%; padding: .65rem .85rem; border: 1px solid var(--c-hairline, #ccc); border-radius: 6px; font: inherit;
    }
    .kb-form .kb-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .kb-flash { padding: .85rem 1rem; border-radius: 8px; margin: 1rem auto; max-width: 42rem; }
    .kb-flash--ok    { background: oklch(95% 0.06 145); color: oklch(35% 0.10 145); }
    .kb-flash--error { background: oklch(95% 0.06 25);  color: oklch(40% 0.16 25); }
    .kb-error { color: oklch(45% 0.18 25); font-size: .85rem; margin-top: .25rem; }
    .kb-honeypot { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden; }
    @media (max-width: 540px) {
      .kb-form .kb-row { grid-template-columns: 1fr; }
    }

/* ===== Leerstands-Page mit Karte und Tag-Filter (/altstadtdialog-leerstand) */
/* Quelle: templates/altstadtdialog/leerstand.twig */
/* Page-spezifische Mini-Styles. Großes Layout sitzt in main.css. */
    .als-hero { padding: 3rem 1rem 2rem; max-width: 60rem; margin: 0 auto; }
    .als-hero h1 { font-size: clamp(1.8rem, 4vw, 2.8rem); margin: 0 0 1rem; }
    .als-hero p.lead { font-size: 1.15rem; color: var(--c-fg-muted, #555); }
    .als-section { padding: 2rem 1rem; max-width: 76rem; margin: 0 auto; }
    .als-section--narrow { max-width: 48rem; }
    .als-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
    .als-card { padding: 1rem; border: 1px solid var(--c-hairline, #ddd); border-radius: 12px; background: var(--c-white, #fff); }
    .als-card h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
    .als-card .als-card__addr { color: var(--c-fg-muted, #666); font-size: .9rem; }
    .als-card .als-card__tags { margin-top: .55rem; display: flex; flex-wrap: wrap; gap: .35rem; }
    .als-map { height: 60vh; min-height: 26rem; border-radius: 12px; overflow: hidden; border: 1px solid var(--c-hairline, #ddd); }
    .als-filter-bar { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
    .als-callout {
      padding: 1.5rem; border-radius: 12px;
      background: linear-gradient(135deg, oklch(96% 0.02 295), oklch(98% 0.01 75));
      border: 1px solid var(--c-hairline, #ddd);
    }
    .als-callout h2 { margin-top: 0; }
    .als-form { display: grid; gap: .9rem; max-width: 40rem; margin: 1rem auto; }
    .als-form label { display: block; font-weight: 600; margin-bottom: .25rem; }
    .als-form input, .als-form textarea {
      width: 100%; padding: .65rem .85rem; border: 1px solid var(--c-hairline, #ccc); border-radius: 6px; font: inherit;
    }
    .als-form input:invalid:focus, .als-form textarea:invalid:focus { border-color: oklch(58% 0.18 25); }
    .als-flash { padding: .85rem 1rem; border-radius: 8px; margin: 1rem auto; max-width: 40rem; }
    .als-flash--ok { background: oklch(95% 0.06 145); color: oklch(35% 0.10 145); }
    .als-flash--error { background: oklch(95% 0.06 25); color: oklch(40% 0.16 25); }
    .als-honeypot { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden; }
