/* ═══════════════════════════════════════════════════════
   eAIP Print Stylesheet
   Optimized for official aeronautical hardcopy output
   ═══════════════════════════════════════════════════════ */

@media print {

    /* ── Reset for print ───────────────────────────────── */
    *,
    *::before,
    *::after {
        box-shadow: none !important;
        text-shadow: none !important;
        transition: none !important;
        animation: none !important;
    }

    body {
        font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
        font-size: 11pt;
        line-height: 1.5;
        color: #000 !important;
        background: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* ── Hide non-essential UI elements ─────────────────── */
    .top-bar,
    .notam-bar,
    .main-header,
    .main-nav,
    .nav-toggle,
    .btn-admin,
    .main-footer,
    .no-print,
    .search-form-header,
    form[action*="search"],
    [class*="scroll"],
    .notam-scroll {
        display: none !important;
    }

    /* ── Container: full width for print ───────────────── */
    .container {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* ── Print header (shows agency info) ──────────────── */
    .print-header {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        padding: 10pt 0;
        border-bottom: 2pt solid #1a365d;
        margin-bottom: 12pt;
    }

    .print-header .print-title {
        font-size: 14pt;
        font-weight: 700;
        color: #1a365d;
    }

    .print-header .print-subtitle {
        font-size: 9pt;
        color: #555;
    }

    .print-header .print-date {
        font-size: 9pt;
        color: #555;
        text-align: right;
    }

    /* ── Hero section: compact for print ───────────────── */
    .hero {
        padding: 10pt 0 !important;
        background: transparent !important;
        color: #000 !important;
        border-bottom: 1pt solid #ccc;
        margin-bottom: 10pt;
    }

    .hero h2 {
        font-size: 16pt !important;
        color: #1a365d !important;
        margin: 0;
    }

    .hero p {
        font-size: 10pt !important;
        color: #333 !important;
        margin: 4pt 0 0;
    }

    /* ── Section blocks: no shadow, clean borders ────── */
    .section-block,
    .card {
        background: #fff !important;
        border: 1pt solid #ddd !important;
        border-radius: 0 !important;
        padding: 8pt 10pt !important;
        margin-bottom: 10pt !important;
        page-break-inside: avoid;
    }

    /* ── Tables: full-width, clean borders ─────────────── */
    table {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 10pt !important;
    }

    th {
        background: #f0f0f0 !important;
        color: #000 !important;
        font-weight: 700;
        font-size: 9pt;
        text-transform: uppercase;
        border-bottom: 1.5pt solid #333 !important;
        padding: 5pt 8pt !important;
    }

    td {
        padding: 4pt 8pt !important;
        border-bottom: 0.5pt solid #ddd !important;
        color: #000 !important;
    }

    /* ── Badges: ensure legibility in print ─────────────── */
    .badge,
    [class*="badge"] {
        border: 1pt solid #999 !important;
        background: transparent !important;
        color: #000 !important;
        font-weight: 700;
        padding: 1pt 5pt !important;
        font-size: 8pt !important;
    }

    /* ── Links: show URL in print ──────────────────────── */
    a[href] {
        color: #000 !important;
        text-decoration: none !important;
    }

    /* ── Map: hide interactive maps (not printable) ────── */
    #aerodrome-map,
    .leaflet-container,
    [id*="map"] {
        display: none !important;
    }

    /* ── Info cards: grid layout for print ──────────────── */
    .info-grid,
    [style*="grid-template-columns"] {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8pt !important;
    }

    .info-card {
        flex: 0 0 45% !important;
        border: 0.5pt solid #ccc !important;
        padding: 6pt !important;
    }

    /* ── Page breaks ──────────────────────────────────── */
    h1,
    h2,
    h3,
    h4 {
        page-break-after: avoid;
        color: #1a365d !important;
    }

    tr {
        page-break-inside: avoid;
    }

    /* ── Frequency table: ensure monospace in print ─────── */
    [style*="font-family: 'Courier New'"],
    [style*="monospace"] {
        font-family: 'Courier New', monospace !important;
        color: #000 !important;
    }

    /* ── Footer: print date instead of full footer ─────── */
    .print-footer {
        display: block !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 8pt;
        color: #999;
        border-top: 0.5pt solid #ccc;
        padding-top: 4pt;
    }

    /* ── Page setup ───────────────────────────────────── */
    @page {
        margin: 15mm 12mm;
        size: A4 portrait;
    }

    @page :first {
        margin-top: 10mm;
    }

    /* ── Pagination labels ──────────────────────────────── */
    .pagination,
    [class*="paginate"],
    nav[aria-label*="pagination"] {
        display: none !important;
    }
}