/**
 * Print Stylesheet für das Hessische Kommunalrechtslexikon
 * Optimiert für Papier-Ausgabe
 */

@media print {
    /* Seiteneinstellungen */
    @page {
        margin: 2cm;
        size: A4;
    }
    
    /* Elemente ausblenden */
    .site-header,
    .main-nav,
    .site-footer,
    .search-form,
    .search-form-page,
    .toc-toggle,
    .entry-actions,
    .version-archive,
    .archive-notice,
    .alphabet-nav,
    .pagination,
    nav {
        display: none !important;
    }
    
    /* Grundlegende Anpassungen */
    * {
        background: white !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    body {
        font-size: 12pt;
        line-height: 1.5;
        font-family: "Times New Roman", Times, serif;
    }
    
    /* Links */
    a {
        text-decoration: underline;
        color: black !important;
    }
    
    a[href]:after {
        content: " (" attr(href) ")";
        font-size: 90%;
    }
    
    /* Interne Links ohne URL */
    a.entry-link[href]:after,
	a.footnote-link[href]:after,
    a.footnote-ref[href]:after,
    a.footnote-backref[href]:after,
	.margin-number a[href]:after {
        content: "";
    }
    
    /* Überschriften */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        page-break-inside: avoid;
    }
    
    h1 {
        font-size: 24pt;
        margin-top: 0;
    }
    
    h2 {
        font-size: 18pt;
    }
    
    h3 {
        font-size: 14pt;
    }
    
    /* Entry Header */
    .entry-header {
        border-bottom: 2pt solid black;
        margin-bottom: 1cm;
        padding-bottom: 0.5cm;
    }
    
    .entry-meta {
        font-size: 10pt;
        margin-top: 0.5cm;
    }
    
    /* Abstract */
    .entry-abstract {
        border-left: 3pt solid black;
        padding-left: 1cm;
        margin: 1cm 0;
        font-style: italic;
    }
    
    /* Inhaltsverzeichnis */
    .toc-wrapper {
        border: none;
    }
    
    .toc-content {
        display: block !important;
        padding: 0;
        margin-bottom: 1cm;
    }
    
    .table-of-contents {
        page-break-after: always;
    }
    
    .toc-list {
        line-height: 1.6;
    }
    
    /* Entry Text */
    .paragraph {
        display: table;
        width: 100%;
        page-break-inside: avoid;
        margin-bottom: 0.5cm;
    }
    
    .margin-number {
        display: table-cell;
        width: 3em;
        text-align: right;
        padding-right: 1em;
        vertical-align: top;
        font-weight: bold;
    }
	
	.margin-number a {
		text-decoration: none;
	}
    
    .paragraph-content {
        display: table-cell;
        vertical-align: top;
    }
    
    /* Überschriften im Text */
    .heading-1,
    .heading-2,
    .heading-3 {
        display: block;
        margin-top: 1cm;
        margin-bottom: 0.5cm;
    }
    
    /* Fußnoten */
    .entry-footnotes {
        border-top: 2pt solid black;
        margin-top: 1cm;
        padding-top: 0.5cm;
    }
    
    .footnotes ol {
        font-size: 10pt;
    }
    
    .footnotes li {
        margin-bottom: 0.3cm;
    }
	
	.footnote-link {
	    color: inherit;
	    text-decoration: none;
	}

	.footnote-link::after {
	    content: " (" attr(href) ")";
	    font-size: 0.9em;
	}
	
	/* Changelog */
	.version-changelog {
	    display: none !important;
	}
    
    /* Abkürzungen */
    abbr[title]:after {
        content: " (" attr(title) ")";
        font-size: 90%;
    }
	
	.footnotes abbr[title]:after { 
		content: "";
	}
    
    /* Seitenumbrüche */
    .entry-footnotes {
        page-break-before: auto;
    }
    
    /* Verwaiste Zeilen verhindern */
    p {
        orphans: 3;
        widows: 3;
    }
    
    /* Listen */
    ul, ol {
        page-break-inside: avoid;
    }
    
    /* Bilder (falls vorhanden) */
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }

	/* Zitiervorschlag prominent */
	.citation-suggestion {
	    border: 2pt solid black !important;
	    padding: 0.5cm !important;
	    margin: 1cm 0 !important;
	    page-break-inside: avoid;
	    background: #f5f5f5 !important;
	}

	.citation-suggestion h3 {
	    margin-top: 0;
	    font-size: 12pt;
	}

	.citation-text {
	    font-size: 10pt;
	    line-height: 1.5;
	}

	/* Copy-Button ausblenden */
	.copy-citation-btn,
	.share-button,
	.print-button {
	    display: none !important;
	}

	/* Bessere Seitenumbrüche */
	.entry-header {
	    page-break-after: avoid;
	}

	.entry-abstract {
	    page-break-after: avoid;
	}

	.toc-wrapper {
	    page-break-after: auto;
	}

	.entry-text h2,
	.entry-text h3,
	.entry-text h4 {
	    page-break-after: avoid;
	    page-break-inside: avoid;
	}

	/* Verhindere Seitenumbruch direkt nach Überschrift */
	.entry-text h2 + .paragraph,
	.entry-text h3 + .paragraph,
	.entry-text h4 + .paragraph {
	    page-break-before: avoid;
	}

	/* Fußnoten auf neuer Seite, wenn lang */
	.entry-footnotes {
	    page-break-before: auto;
	}

	.entry-footnotes ol {
	    page-break-inside: auto;
	}

	.entry-footnotes li {
	    page-break-inside: avoid;
	}

	/* Druck-Metadaten am Ende */
	.print-metadata {
	    margin-top: 2cm;
	    padding-top: 0.5cm;
	    border-top: 1pt solid #666;
	    font-size: 9pt;
	    color: #666 !important;
	    page-break-inside: avoid;
	}

	/* Randnummern deutlicher */
	.margin-number {
	    font-weight: bold;
	    color: #000 !important;
	}

	/* Listen besser formatieren */
	ul, ol {
	    page-break-before: avoid;
	}

	li {
	    page-break-inside: avoid;
	}

	/* Tabellen (falls vorhanden) */
	table {
	    page-break-inside: avoid;
	    border-collapse: collapse;
	    width: 100%;
	}

	th, td {
	    border: 1pt solid black;
	    padding: 0.2cm;
	}

	/* Seitenzähler in Kopfzeile */
	@page {
	    @top-right {
	        content: "Seite " counter(page) " von " counter(pages);
	        font-size: 9pt;
	    }
	}

    .breadcrumbs {
        border-bottom: 1pt solid #ccc;
        margin-bottom: 0.5cm;
    }
    
    .breadcrumb-item a {
        color: black !important;
        text-decoration: none;
    }

    .copy-citation-btn {
        display: none;
    }
	
    .citation-suggestion {
        border: 1px solid #d1d5db;
        page-break-inside: avoid;
    }

    .related-entries {
        background: white !important;
        border-left: 2pt solid #666;
    }

	.print-date {
	    font-size: 9pt;
	    color: #666 !important;
	    text-align: right;
	    margin-top: 0.5cm;
	}
	
	/* Minister */
	.minister-photo img {
	    max-width: 500px;
	}

	.minister-note {
	    page-break-inside: avoid;
	    background: white !important;
	}
	
}