.print-heading, .print-summary {
    display: none;
}
.print-tools {
    padding-block: .75rem 1rem;
}
.print-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-block: .5rem;
}
.print-actions .button {
    white-space: normal;
    overflow-wrap: anywhere;
}
.print-tools p {
    margin: .5rem 0 0;
}
@page {
    size: A4 portrait;
    margin: 15mm 14mm;
}
@media print {
    html {
        font-size: 11pt !important;
    }
    html body {
        color: #000 !important;
        background: #fff !important;
        font: 11pt / 1.4 Arial, sans-serif !important;
        letter-spacing: normal !important;
        word-spacing: normal !important;
    }
    body * {
        color: #000 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
        animation: none !important;
        transition: none !important;
        border-color: #777 !important;
    }
    .site-header, .site-footer, .preview-bar, .display-tools, .print-tools,
    .breadcrumbs, .toc, .article-aside, .map-consent, .skip-link,
    .compare-choice, .compare-footer, .comparison-controls, .compare-form,
    .menu-toggle, .print-checklist-button, button, form, .hero-note,
    .correction-note, .related-links {
        display: none !important;
    }
    main .print-heading {
        display: block !important;
        padding-bottom: 3mm;
        margin-bottom: 4mm;
        border-bottom: 1pt solid #000;
    }
    body.print-checklist-only main > .print-heading {
        display: block !important;
    }
    details::details-content {
        content-visibility: visible;
    }
    .print-heading p {
        font-size: 9pt !important;
        margin: 0 0 1.5mm !important;
    }
    .print-heading .print-title {
        font-size: 20pt !important;
        margin: 2mm 0 !important;
    }
    .wrap, .section, .prose, .article-layout, .hero {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }
    main h1 {
        display: none;
    }
    h2 {
        font-size: 15pt !important;
        margin: 4mm 0 2mm !important;
    }
    h3 {
        font-size: 12pt !important;
        margin: 3mm 0 1.5mm !important;
    }
    h2, h3, dt, caption {
        break-after: avoid-page;
    }
    p, li, dd {
        font-size: 11pt !important;
        line-height: 1.4 !important;
        max-width: none !important;
        orphans: 3;
        widows: 3;
    }
    p {
        margin: 0 0 2.5mm !important;
    }
    ul, ol {
        padding-left: 6mm;
    }
    li {
        padding-block: .5mm !important;
    }
    .airport-grid, .guide-grid, .provider-grid, .feature-grid, .journey-columns,
    .hotel-cost-columns {
        display: block !important;
    }
    .airport-card, .guide-card, .provider-summary, .aside-card, .notice,
    .price-panel, .visitor-guide, .beginner-help, .journey-columns > div {
        display: block;
        border: 0;
        border-radius: 0;
        padding: 0 !important;
        margin: 0 0 3mm !important;
        min-height: 0;
    }
    .table-wrap {
        overflow: visible !important;
        border-radius: 0;
    }
    .table-wrap table, .comparison-table table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed;
        font-size: 9pt;
    }
    .comparison-table th, .comparison-table td,
    .comparison-table th:first-child {
        width: auto !important;
    }
    th, td {
        padding: 2mm !important;
        font-size: 9pt !important;
        border: .5pt solid #666;
        overflow-wrap: anywhere;
    }
    thead {
        display: table-header-group;
    }
    tr, .print-facts > div, .print-notes > div, .travel-notes > div {
        break-inside: avoid-page;
    }
    a {
        text-decoration: underline;
    }
    #quellen a::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        overflow-wrap: anywhere;
    }
    .provider-facts > div, .print-facts > div {
        display: block;
        padding: 1.5mm 0;
        border-bottom: .5pt solid #aaa;
    }
    .print-facts dt, .print-notes dt {
        font-weight: bold;
    }
    .print-facts dd, .print-notes dd {
        margin: 1mm 0 0;
    }
    .print-notes > div {
        margin-bottom: 3mm;
    }
    .print-notes-block {
        break-inside: avoid-page;
    }
    .print-notes dd {
        font-size: 0 !important;
        height: 6mm;
        border-bottom: .5pt dotted #000;
    }
    main h2:has(+ .related-links), .comparison-result > .small {
        display: none !important;
    }
    .print-sources, .print-sources li {
        font-size: 8.5pt !important;
        overflow-wrap: anywhere;
    }
    body[data-print-mode="summary"] main > :not(.print-heading):not(.print-summary) {
        display: none !important;
    }
    body[data-print-mode="summary"] .print-summary {
        display: block;
    }
    body[data-print-mode="comparison"] main > :not(.print-heading):not(:has(#vergleich)) {
        display: none !important;
    }
    body[data-print-mode="comparison"] main > :has(#vergleich) > :not(#vergleich) {
        display: none !important;
    }
    #vergleich {
        margin: 0 !important;
    }
    #vergleich > a, #vergleich > p:last-child {
        display: none;
    }
    .calculator {
        display: none !important;
    }
    body .display-tools, body .print-tools, body .article-aside,
    body .site-header, body .site-footer, body [hidden] {
        display: none !important;
    }
    ::marker {
        color: #000 !important;
    }
}
