/* Gemeindeseiten (/gemeinde/…) und Musterdossier (/musterdossier/).
   Eigene Datei: die Seiten haben eine strenge Inhaltsregel (CSP style-src 'self'),
   eingebettete Stile wären dort gesperrt. */
:root { --gruen: #1a6b2f; --tinte: #22302a; --grau: #5f6a64; --papier: #faf7f1;
        --linie: #e3ddd0; --weiss: #fff; --gold: #9a5b00; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
       color: var(--tinte); background: var(--papier); line-height: 1.6; }
.kopf { padding: 14px 16px; border-bottom: 1px solid var(--linie); background: var(--weiss); }
.marke { color: var(--gruen); font-weight: 800; text-decoration: none; font-size: 1.05rem; }
.pfad { max-width: 760px; margin: 14px auto 0; padding: 0 16px; font-size: 0.85rem; color: var(--grau); }
.pfad a { color: var(--grau); }
main { max-width: 760px; margin: 0 auto; padding: 8px 16px 40px; }
h1 { font-family: Georgia, serif; font-weight: normal; font-size: 1.9rem; line-height: 1.25;
     margin: 12px 0 14px; }
h2 { font-size: 1.05rem; color: var(--gruen); margin: 26px 0 6px; }
a { color: var(--gruen); }
.antwort { font-size: 1.08rem; }
.hinweis { border-left: 3px solid var(--gold); padding: 4px 10px; background: var(--weiss); }
.klein { font-size: 0.85rem; color: var(--grau); }
.knopf { display: inline-block; background: var(--gruen); color: #fff; padding: 9px 16px;
         border-radius: 8px; text-decoration: none; font-weight: 700; margin: 4px 8px 4px 0; }
.knopf.leise { background: transparent; color: var(--gruen); border: 1.5px solid var(--gruen); }
.gemeinden { columns: 2 260px; padding-left: 18px; }
.gemeinden li { break-inside: avoid; margin: 3px 0; }
.quellen { padding-left: 18px; }
/* Kernzahlen der Gemeindeseite (SEO/GEO 09.10.2026) */
.kennzahlen { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
.kennzahlen div { background: var(--weiss); border: 1px solid var(--linie); border-radius: 8px;
                  padding: 8px 12px; flex: 1 1 180px; }
.kennzahlen dt { font-size: 0.82rem; color: var(--grau); }
.kennzahlen dd { margin: 0; font-size: 1.2rem; font-weight: 700; }
/* Gemeindeseiten (Prüfrunde 09.10.2026): Datenstand unter der H1 (Befund 21),
   Kasten «Selbst gratis prüfen» mit Hinweis «keine Baubewilligung» (Befund 23) */
.datenstand { margin: -6px 0 10px; font-size: 0.9rem; color: var(--grau); }
.pruefen { background: var(--weiss); border: 1px solid var(--linie); border-left: 4px solid var(--gruen);
           border-radius: 8px; padding: 4px 14px 8px; margin: 16px 0; }
.pruefen h2 { margin-top: 10px; }
.pruefen .wichtig { margin-bottom: 4px; }
.ablauf { padding-left: 22px; }
.ablauf li { margin: 4px 0; }
/* Gebietswächter für Private (09.11.2026): Kasten, erst sichtbar, wenn die App ihn anbietet */
.gwp { background: var(--weiss); border: 1px solid var(--linie); border-left: 4px solid var(--gruen);
       border-radius: 8px; padding: 6px 14px 10px; margin: 16px 0; }
.gwp[hidden] { display: none; }
.gwp-titel { font-weight: 700; margin: 6px 0 2px; }
.gwp-feld { width: 100%; max-width: 360px; padding: 8px 10px; font-size: 1rem;
            border: 1px solid var(--linie); border-radius: 6px; }
.gwp-haken { display: block; margin: 8px 0; font-size: 0.92rem; }
.gwp-knopf { background: var(--gruen); color: #fff; border: 0; padding: 8px 16px;
             border-radius: 8px; font-weight: 700; cursor: pointer; }
.gwp-knopf[disabled] { opacity: 0.6; }
.gwp-meldung { min-height: 1em; margin: 6px 0 0; }
.gwp-klein { font-size: 0.82rem; color: var(--grau); margin: 6px 0 0; }
footer { border-top: 1px solid var(--linie); padding: 18px 16px 90px; font-size: 0.85rem;
         color: var(--grau); text-align: center; }
footer a { color: var(--grau); }

@media (max-width: 520px) {
  h1 { font-size: 1.5rem; }
}

/* Kantonsbericht (31.10.2026): Grafiken und Tabellen */
.grafik { margin: 12px 0 18px; }
.grafik figcaption { font-size: .85rem; color: #5b6660; margin-top: 4px; }
.tabelle { width: 100%; border-collapse: collapse; font-size: .95rem; margin: 8px 0 16px; }
.tabelle th, .tabelle td { padding: 5px 6px; border-bottom: 1px solid #e3e0d8; text-align: left; vertical-align: top; }
.tabelle .zahl { text-align: right; white-space: nowrap; }
.bericht-link { background: #eef6f0; border-left: 3px solid #1a6b2f; padding: 8px 10px; }
