@media print {
    /* Reset für Druck */
    * {
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
        background: transparent !important;
    }

    html {
        background-color: #fff;
    }

    /* Navigation verstecken */
    nav {
        display: none;
    }

    /* Link-Ziele in Klammern nach dem Link-Text anzeigen */
    a[href^="http"]:after {
        content: " (" attr(href) ") ";
    }

    a[href^="http"]:before {
        content: "";
    }

    a[href^="http"] {
        font-weight: bold;
        text-decoration: underline;
        color: #06c;
        border: none;
    }

    /* Keine Link-Ziele für JavaScript oder interne Links */
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    /* Abkürzungstitel in Klammern nach dem Text anzeigen */
    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    figure {
        margin-bottom: 1em;
        overflow: hidden;
    }

    figure img {
        border: 1px solid #000;
    }

    /* Icons verstecken */
    .genericons {
        display: none;
    }

    .selfcreatedicons {
        display: none;
    }

    /* Admin-Buttons verstecken */
    .adminbutton {
        display: none !important;
    }

    /* Menü-Buttons verstecken */
    .menubutton {
        display: none !important;
    }

    /* Fade-Effekte für Druck deaktivieren */
    .fadein {
        opacity: 1 !important;
        transform: none !important;
    }

    /* Schatten entfernen */
    .wrap,
    form,
    #map-canvas {
        box-shadow: none !important;
    }

    /* Seitentitel für Druck optimieren */
    header[role="banner"] h1 {
        font-size: 24pt;
        margin-bottom: 12pt;
    }

    /* Typografie für Druck optimieren */
    h1 { font-size: 18pt; }
    h2 { font-size: 16pt; }
    h3 { font-size: 14pt; }
    
    p {
        margin-bottom: 6pt;
        orphans: 3;
        widows: 3;
    }

    /* Seitenumbrüche */
    h1, h2, h3 {
        page-break-after: avoid;
    }

    /* Tabellen für Druck optimieren */
    table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    th, td {
        border: 1px solid #ddd;
        padding: 4pt 8pt;
    }

    /* Grid-System für Druck anpassen */
    .grid1, .grid2, .grid3, .grid4, .grid5, .grid6,
    .grid7, .grid8, .grid9, .grid10, .grid11, .grid12 {
        width: 100% !important;
        margin: 0 !important;
        display: block !important;
    }

    /* Artikellayout für Druck */
    .articlewrap {
        margin-bottom: 12pt;
        page-break-inside: avoid;
        border: 1px solid #ccc !important;
        border-radius: 0 !important;
    }

    /* Footer für Druck */
    footer[role="contentinfo"] {
        margin-top: 24pt;
        border-top: 2pt solid #000;
        padding-top: 12pt;
    }

    /* Bilder für Druck optimieren */
    img {
        max-width: 100% !important;
        height: auto !important;
        page-break-inside: avoid;
    }

    /* Link-Overlays verstecken */
    .link-overlay,
    .linktext {
        display: none !important;
    }

    /* Formulare für Druck */
    form {
        border: 1px solid #000;
        padding: 12pt;
        margin-bottom: 12pt;
    }

    input, textarea, select {
        border: 1px solid #000 !important;
        background: white !important;
    }
}