/* Druckansicht (print.php) - duenne Override-Schicht ueber css/style.css
   (siehe <link>-Reihenfolge in print.php: erst style.css, dann dieses hier).
   print.php rendert exakt dieselben scripts/<Seite>.php-Ausgaben wie
   index.php (nur ohne Header/Navigation/Breadcrumb), damit ist die
   Typografie/Farbgebung durch das gemeinsame style.css automatisch
   identisch zur Web-Ansicht (Textseiten wie 100/200/Impressum,
   Referenzblatt-Layout auf Seite 401 usw.) - hier geht es nur noch um zwei
   Dinge:
   1) ein einfaches, papierfreundliches Grundlayout anstelle der auf
      print.php ohnehin nicht vorhandenen Kopf-/Fuss-/Sidebar-Chrome, und
   2) das Ausblenden bzw. Neutralisieren von Bedienelementen (Buttons,
      Checkboxen, Auswahllisten, Sortier-Links, Formulare), die auf einer
      gedruckten Seite nicht bedienbar sind - siehe Kundenwunsch: "nicht
      funktionale aktive Elemente wie Buttons, Auswahllisten, Checkboxen"
      sollen nicht erscheinen, Tabellensortierung "lediglich als
      Ueberschrift". Bewusst zentral per CSS geloest statt in jedem
      einzelnen scripts/*.php eine Druckmodus-Fallunterscheidung
      einzubauen - beide Ansichten teilen sich dasselbe Markup. */

/* --- Grundlayout --------------------------------------------------------
   Kein Kartenlook/Sidebar (.layout/.content-area aus style.css werden auf
   print.php gar nicht erst ausgegeben) - stattdessen ein einfacher,
   zentrierter Block mit Rand, in derselben maximalen Breite wie der
   Web-Inhaltsbereich (--max-width aus style.css). Schriftgroesse kleiner als
   im Web (dort 16px, papierfreundlicher Fliesstext hier 13px) - betrifft nur
   ungestylten Fliesstext (Seiten 100/200/800/801 usw.), der die Schriftgroesse
   direkt von body erbt; rem-basierte Elemente (.artikelueberschrift,
   table.content usw.) bleiben in ihrer im Web gewohnten, relativ dazu
   groesseren Groesse - siehe deren Definition in css/style.css. */
body {
	background: #fff;
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 24px clamp(16px, 4vw, 40px) 48px;
	font-size: 13px;
}

/* --- Nicht-funktionale/aktive Elemente ausblenden ----------------------- */

/* Buttons sind ausnahmslos reine Aktionen (Speichern/Loeschen/Umschalten/
   PDF-Export usw.) und tragen nie selbst Inhalt - ueberall gefahrlos
   ausblendbar, auch auf den Bearbeiten-Seiten des internen Bereichs. */
button, input[type="submit"], input[type="image"], noscript {
	display: none;
}

/* Reine Aktions-Icons/-Links (Bearbeiten/Loeschen/Ansehen/Anlegen usw.,
   siehe action_icon()/.action-link in i18n.php bzw. den Tabellenzeilen der
   6xx-Admin-Seiten), Umschalt-Kacheln und der 2FA-Status-Badge - alles
   reine Bedienelemente ohne eigenen Aussagewert. */
.action-link, .pa-switch, .badge-2fa {
	display: none;
}

/* Kleine, in eine Tabellenzeile eingebettete Aktions-Formulare (Aktiv-/
   Slider-Umschalten, Sperren/Entsperren, Loeschen-Bestaetigen usw., siehe
   class="d-inline" in den 6xx-Admin-Seiten) sowie Bestaetigungs-Popups -
   auf Papier ohne Bedienung sinnlos. */
form.d-inline, dialog {
	display: none;
}

/* Ganze "Aktionen"-Spalte (th + td, siehe class="col-actions" in den
   Tabellenzeilen der 6xx-Admin-Seiten) ausblenden statt nur die enthaltenen
   Buttons/Icons per .action-link/button oben: sonst bliebe eine leere
   Spalte mit Ueberschrift ohne jeden Inhalt darunter uebrig. */
.col-actions {
	display: none;
}

/* Mehrfachauswahl-Kontrollkaesten (Referenzprojekte-/Dateien-Auswahl fuer
   PDF-Export bzw. ZIP-Download) sind an ihrem Array-Namen "...[]"
   erkennbar - anders als z.B. das "aktiv"-Feld auf Seite 654 oder
   "is_admin" auf Seite 611, die den aktuellen Datenwert eines
   Bearbeiten-Formulars zeigen und deshalb bewusst sichtbar bleiben. */
input[type="checkbox"][name$="[]"] {
	display: none;
}
/* Wo unterstuetzt (:has(), alle gaengigen Browser): die dazugehoerige
   Kopf-/Datenspalte gleich mit entfernen statt nur eine leere Zelle zu
   hinterlassen. Ohne :has()-Unterstuetzung bleibt lediglich eine leere
   Spalte stehen - kein Funktionsverlust. */
th:has(a[data-select-all]), td:has(input[type="checkbox"][name$="[]"]) {
	display: none;
}

/* Suchfelder, Anzahl-pro-Seite-Auswahl und Blaettern-Navigation - reine
   Bedienelemente ohne Aussagekraft auf einer einzelnen gedruckten Seite. */
.suchformular, .anzahl-wahl, .seiten-nav {
	display: none;
}
/* Die kleinen Hilfsformulare "...-anzahl-form" (siehe id="pa-rp-anzahl-form"
   usw. in den 6xx-Admin-Seiten) enthalten nur versteckte Felder (Anzahl-
   Auswahl liegt per form="..."-Attribut ausserhalb, in der bereits oben
   ausgeblendeten .anzahl-wahl) - gefahrlos ausblendbar. #ref-filter-form
   (Seite 400) dagegen enthaelt sichtbar das Kategorie-Filterfeld und bleibt
   deshalb bewusst NICHT in dieser Liste - siehe select-Regel weiter unten,
   die daraus eine reine Textanzeige macht statt es zu verstecken. */
form[id$="-anzahl-form"] {
	display: none;
}

/* Sortier-Pfeile neben den Tabellenkoepfen (siehe .sort-icon in
   css/style.css) - ohne Funktion auf Papier. */
.sort-icon {
	display: none;
}

/* Alle Auswahllisten (Kontaktformular-Seite 700: Land/Titel: bei Titel ist
   "– keine Angabe –" vorausgewaehlt, bei Land steht "Afghanistan" als
   erste/aktuelle Option - siehe Kontaktformular-CSS-Fix.SQL; ebenso der
   Kategorie-Filter auf Seite 400, dessen Label "Kategorie" stehen bleiben
   soll - siehe #ref-filter-form oben - sowie Auswahllisten auf
   Bearbeiten-Seiten des internen Bereichs) zeigen die aktuell ausgewaehlte
   Option als schwarzen Text und werden deshalb nicht ausgeblendet, sondern
   nur wie ein gewoehnliches Textfeld dargestellt: kein Rahmen/Pfeil mehr,
   schwarzer Text statt Formularoptik, nicht bedienbar. Die uebrigen
   Kontaktformular-Felder (Freitext) bleiben ohnehin als ausfuellbare Zeilen
   sichtbar. */
select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	border: none;
	background: transparent;
	padding: 0;
	margin: 0;
	color: var(--color-ink);
	pointer-events: none;
	cursor: default;
	font: inherit;
}
/* css/style.css definiert Rahmen/Hintergrund/Breite/Schriftgroesse fuer
   ".kontakt-form select" ueber eine Klassen+Typ-Regel (siehe dort,
   ".kontakt-form input[type=...], .kontakt-form select { ... }"), die exakt
   dieselbe Spezifitaet hat wie die generische "select"-Regel oben und diese
   deshalb trotz spaeterem Einbinden von print.css NICHT automatisch
   ueberschreiben wuerde (gleiche Spezifitaet gewinnt nur ueber die
   Reihenfolge im selben Selektor-Vergleich je Eigenschaft). Deshalb hier
   dieselbe Spezifitaet (Klasse + Typ) gezielt wiederholt, damit die
   Formularoptik (Rahmen, Hintergrund, volle Breite) auch beim
   Kontaktformular zuverlaessig entfernt wird. */
.kontakt-form select {
	border: none;
	background: transparent;
	padding: 0;
	width: auto;
}

/* --- Links: zwei Faelle -------------------------------------------------
   1) Tabellen-/Listen-Navigation (Sortier-Spaltenkoepfe, Zeilen-Links zur
      Bearbeiten-/Detailseite, "Alle"-Auswahl-Kopfzelle) soll wie gewuenscht
      nur als gewoehnlicher (Ueberschrift-)Text erscheinen, nicht wie ein
      Link: keine Linkfarbe/Unterstreichung (siehe "table a" unten).
   2) Fliesstext-Links (Datenschutzerklaerung-Verweis unter dem
      Kontaktformular, "Anfahrtsbeschreibung" auf Seite 800, EU-OS-Link
      sowie alle weiteren Links auf der Datenschutzerklaerung Seite 801
      usw.) bleiben dagegen farblich/mit Unterstreichung als Link erkennbar
      (Farbe/Unterstreichung kommen unveraendert aus css/style.css bzw. dem
      Browser-Standard) - nur die Funktion wird entfernt, so wie ein Link in
      einem gedruckten Dokument ueblicherweise erscheint. Das ist die
      Grundregel (einfaches "a"); Fall 1 ueberschreibt sie gezielt fuer
      Links innerhalb einer Tabelle. */
a {
	pointer-events: none;
	cursor: default;
}
table a {
	color: inherit;
	text-decoration: none;
}
