/* Standoria – einheitliches Druckbild für Dokumente (Standliste, Rundgang, Berichte, Bescheide, Rechnungen,
   Verträge, Rechtstexte, Datenschutz-Unterlagen). Wird nach den Stilen der jeweiligen Ansicht geladen und gleicht
   Schrift, Farben, Tabellen, Kästen, Kopf- und Fußzeilen an. Plakate und Standschilder haben eigene Gestaltung.
   Akzentfarbe: --d-akzent (Hausfarbe des Veranstalters bzw. Olivgrün). Seitenzahlen über @page-Randfelder. */

body.stdl-druck {
	--d-akzent: var(--stdl-akzent, #4B5930);
	--d-text: #26301C; --d-leise: #5A6250; --d-rand: #E2D9C6; --d-flaeche: #F6F1E6; --d-flaeche2: #FBF8F2;
	--stdl-schrift: "Source Sans STDL", "Segoe UI", Arial, sans-serif;
	--stdl-titel: "Source Serif STDL", Georgia, "Times New Roman", serif;
	font-family: var(--stdl-schrift) !important; font-size: 10pt; line-height: 1.5; color: var(--d-text);
	-webkit-print-color-adjust: exact; print-color-adjust: exact; font-variant-numeric: tabular-nums;
}
@page { size: A4; margin: 18mm 17mm 20mm 20mm;
	@bottom-left { font: 7.5pt "Source Sans STDL", Arial, sans-serif; color: #5A6250; }
	@bottom-right { content: "Seite " counter(page) " von " counter(pages); font: 7.5pt "Source Sans STDL", Arial, sans-serif; color: #5A6250; }
}

/* ---------- Bildschirm: Blatt auf ruhigem Grund ---------- */
@media screen {
	html:has(body.stdl-druck) { background: #EDE8DD; }
	body.stdl-druck { background: #fff; max-width: 186mm; margin: 0 auto 10mm !important; padding: 12mm 14mm 14mm !important; box-shadow: 0 1px 2px rgba(38,48,28,.08), 0 8px 28px rgba(38,48,28,.10); min-height: 100vh; }
}

/* ---------- Werkzeugleiste (nur Bildschirm) ---------- */
body.stdl-druck .noprint, body.stdl-druck .werkzeug { position: sticky; top: 0; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin: -12mm -14mm 8mm !important; padding: .7rem 14mm; background: #FBF6EE; border-bottom: 1px solid var(--d-rand); font-size: 10pt; }
body.stdl-druck .noprint .btn, body.stdl-druck .noprint button, body.stdl-druck .werkzeug button, body.stdl-druck .noprint .stdl-btn { display: inline-flex; align-items: center; min-height: 40px; padding: .45rem 1.1rem; border: 0; border-radius: 10px; background: var(--d-akzent) !important; color: #fff !important; font: 600 10.5pt var(--stdl-schrift); text-decoration: none; cursor: pointer; box-shadow: none; }
body.stdl-druck .noprint a:not(.btn):not(.stdl-btn) { color: var(--d-text); }
@media print { body.stdl-druck .noprint, body.stdl-druck .werkzeug { display: none !important; } body.stdl-druck { margin: 0 !important; padding: 0 !important; max-width: none !important; box-shadow: none; } }

/* ---------- Typografie ---------- */
body.stdl-druck h1, body.stdl-druck h2, body.stdl-druck h3 { font-family: var(--stdl-titel) !important; font-weight: 600 !important; font-stretch: normal !important; letter-spacing: -.005em; color: var(--d-text); break-after: avoid; }
body.stdl-druck h1 { font-size: 20pt; line-height: 1.15; margin: 1mm 0 3mm; }
body.stdl-druck h2 { font-size: 12.5pt; line-height: 1.25; margin: 7mm 0 2.5mm; padding: 0 0 1.2mm; border: 0; border-bottom: .35mm solid var(--d-rand); color: var(--d-text); }
body.stdl-druck h3 { font-size: 10.8pt; margin: 5mm 0 1.5mm; }
body.stdl-druck p, body.stdl-druck li { orphans: 3; widows: 3; }
body.stdl-druck a { color: inherit; text-decoration-color: var(--d-rand); }
body.stdl-druck small, body.stdl-druck .klein { color: var(--d-leise); }

/* ---------- Kopf: Absender links, Angaben rechts, feine Akzentlinie ---------- */
body.stdl-druck .kopf { border-top: 0 !important; border-bottom: .5mm solid var(--d-akzent) !important; padding: 0 0 3.5mm !important; margin: 0 0 7mm !important; color: var(--d-leise); font-size: 8.5pt; align-items: end !important; }
body.stdl-druck .kopf .beh { font-family: var(--stdl-titel); font-weight: 600; font-size: 14pt; color: var(--d-text); }
body.stdl-druck .kopf img { max-height: 16mm; }
body.stdl-druck .art, body.stdl-druck .kicker { font-size: 8pt; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--d-akzent) !important; }

/* ---------- Tabellen ---------- */
body.stdl-druck table { width: 100%; border-collapse: collapse; margin: 2mm 0 5mm; font-size: 9.2pt; }
body.stdl-druck th, body.stdl-druck td { border: 0; border-bottom: .25mm solid var(--d-rand); padding: 1.8mm 2.2mm; text-align: left; vertical-align: top; }
body.stdl-druck thead th, body.stdl-druck tr:has(> th):not(:has(> td)) > th { background: var(--d-flaeche); border-bottom: .4mm solid var(--d-akzent); }
body.stdl-druck tr:has(> td) > th { background: var(--d-flaeche2); }
body.stdl-druck tbody th, body.stdl-druck table th { font-weight: 600; color: var(--d-text); }
body.stdl-druck tr { break-inside: avoid; }
body.stdl-druck thead { display: table-header-group; }
body.stdl-druck .r, body.stdl-druck td.r, body.stdl-druck th.r { text-align: right; }
body.stdl-druck .summe td, body.stdl-druck tr.summe td { font-weight: 700; border-top: .45mm solid var(--d-text); border-bottom: 0; }

/* ---------- Kästen ---------- */
body.stdl-druck .hinweis, body.stdl-druck .bank, body.stdl-druck .ergebnis { background: var(--d-flaeche) !important; border: 0 !important; border-left: 1.2mm solid var(--d-akzent) !important; border-radius: 0 2mm 2mm 0 !important; padding: 3mm 4mm !important; margin: 3mm 0 5mm !important; }
body.stdl-druck .ergebnis { font-weight: 600; }
body.stdl-druck .ph, body.stdl-druck .stdl-fehlt { color: #B42318 !important; font-weight: 600; }
body.stdl-druck .fuss { color: var(--d-leise); font-size: 8pt; border-top: .25mm solid var(--d-rand); padding-top: 2mm; margin-top: 8mm; }
body.stdl-druck .unterschrift div { border-top: .3mm solid var(--d-text); }

/* ---------- Kennzahlen (Berichte) ---------- */
body.stdl-druck .kz, body.stdl-druck .kachel, body.stdl-druck .zahl { background: var(--d-flaeche2); border: .25mm solid var(--d-rand) !important; border-radius: 2.5mm !important; box-shadow: none !important; }
body.stdl-druck .kz b, body.stdl-druck .kachel b, body.stdl-druck .zahl b { font-family: var(--stdl-titel); font-weight: 600; color: var(--d-text); }

/* ---------- Standnummern ---------- */
body.stdl-druck .nr { background: var(--d-akzent) !important; color: #fff !important; font-family: var(--stdl-titel) !important; font-weight: 600 !important; font-stretch: normal !important; border-radius: 1.6mm !important; box-shadow: none !important; }

/* ---------- Mehrseitige Unterlagen ---------- */
body.stdl-druck .dok { break-after: page; }
body.stdl-druck .dok:last-child { break-after: auto; }
body.stdl-druck ul, body.stdl-druck ol { padding-left: 5mm; }

/* ---------- Kacheln und Balken (Jahresbericht Feste) ---------- */
body.stdl-druck .kacheln > div { background: var(--d-flaeche2); border: .25mm solid var(--d-rand) !important; border-radius: 2.5mm !important; }
body.stdl-druck .kacheln strong { font-weight: 600; color: var(--d-akzent); }
body.stdl-druck .kacheln span { color: var(--d-leise) !important; }
body.stdl-druck .balken { background: var(--d-flaeche) !important; }
body.stdl-druck .balken i { background: var(--d-akzent) !important; }
