/* =============================================================
   Print stylesheet — Euromed 2026 Programme
   Activated by printAgendaBrowser() → window.print().
   Produces a clean, readable PDF via the browser's Print dialog.
   ============================================================= */

@page {
    margin: 1.5cm 1.2cm;
}

body {
    background: #ffffff !important;
    color: #000 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    font-family: "Outfit", Arial, sans-serif;
    font-size: 10pt;
    line-height: 1.45;
}
html, body { height: auto; }

* {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}

/* Page-break hygiene */
table { page-break-inside: auto; }
tr    { page-break-inside: avoid; page-break-after: auto; }
td    { page-break-inside: avoid; }
thead { display: table-header-group; }
tfoot { display: table-footer-group; }
h1, h2, h3, h4, .session-date-header, .session-title {
    page-break-after: avoid;
    page-break-inside: avoid;
}

/* Hide interactive chrome */
.topbar,
.sidebar-toggle,
.btn-backprogram,
.btn-backschedule,
#backtoprogram,
#leftnavTable,
.sidebar,
.sidebar-actions,
#printer,
#downloadPdf,
.printer-wrap,
.searchFields,
#Searchfield,
.btn-search,
.btn-clearsearch,
.btn-info,
.show-all-details,
#show-all-details,
.session-buttons,
.btn-sessionoverview,
.btn-sessiondetails,
#tpn-loading,
.modal,
#speakerdetails,
.hero-wave,
.filters .row > div:empty,
.speaker-modal-close { display: none !important; }

/* Collapse grid to single column for print */
.container-grid {
    display: block !important;
    padding: 0 !important;
    gap: 0 !important;
}
.container-wrap { padding: 0 !important; max-width: none !important; margin: 0 !important; }
#container.container { max-width: none !important; }
main, .content { display: block !important; }

/* Hero: banner + 5-line text stack at the top of page 1 */
.hero {
    background: #fff !important;
    padding: 0 0 0.4cm !important;
    text-align: center;
    border-bottom: 1.5pt solid #000;
    margin-bottom: 0.5cm;
    page-break-after: avoid;
}
.hero-banner {
    max-width: 100% !important;
    margin: 0 0 0.3cm !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    border: 0.5pt solid #ccc !important;
}
.hero-banner-img { width: 100%; height: auto; }
.hero-text { padding: 0.2cm 0 0 !important; max-width: 100% !important; }
.hero-title {
    color: #000 !important;
    font-size: 20pt !important;
    margin: 0 0 0.15cm !important;
    font-weight: 700;
}
.hero-subtitle {
    color: #000 !important;
    font-size: 20pt !important;
    margin: 0 0 0.2cm !important;
    font-weight: 700;
}
.hero-date,
.hero-location {
    color: #000 !important;
    font-size: 11pt !important;
    margin: 0 !important;
    font-weight: 600;
}
.hero-location { margin-bottom: 0.35cm !important; }
.hero-kicker {
    color: #c62828 !important;
    font-size: 15pt !important;
    margin: 0 !important;
    letter-spacing: 0.05em;
    font-weight: 700;
}

/* Day headers */
.session-date-header {
    font-size: 14pt !important;
    color: #0a4d6c !important;
    padding: 0.4cm 0 0.2cm !important;
    border-bottom: 1pt solid #999;
    page-break-before: auto;
    page-break-after: avoid;
}

/* Session cards — flat for print, visible color bar */
#sessions table[id] {
    border: 0.5pt solid #999 !important;
    box-shadow: none !important;
    margin: 0.2cm 0 !important;
    break-inside: avoid;
    page-break-inside: avoid;
    background: #fff !important;
}
.session-tab {
    width: 4pt !important;
    min-width: 4pt !important;
    padding: 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
}
.session-data { padding: 6pt 8pt !important; font-size: 10pt; }
.session-title { font-size: 11pt !important; color: #000 !important; font-weight: 600; padding: 2pt 0 !important; }
.session-data-body { padding: 0 !important; }

/* Force expand all overview/details content for print */
.overview {
    display: block !important;
    padding: 0.2cm 0.3cm !important;
    background: #fafafa !important;
    border-top: 0.5pt solid #bbb !important;
    margin: 0.2cm 0 0 !important;
    font-size: 9.5pt;
}
.session-details-overview { display: block !important; }
.session-details {
    padding: 0.1cm 0 0.2cm 0.4cm !important;
    border-left: 1pt solid #ccc !important;
    margin-left: 0.2cm !important;
}
.subsession-title {
    color: #0a4d6c !important;
    font-size: 10pt !important;
    font-weight: 600;
}
.speaker-name { color: #0a4d6c !important; font-weight: 600; }

/* Yellow label overrides from web stay terracotta in print */
font[style*="FFC000"],
font[style*="#FFC000"] {
    color: #c4623d !important;
    font-weight: 600;
    font-size: 8.5pt;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Strip link underlines and URL appendix */
a[href]:after { content: none !important; }
a { color: #000 !important; text-decoration: none !important; }

/* Hide day filter pills, leaves prose header only */
.dayFilter { display: none !important; }
.filters { display: none !important; }
#searchAll { display: none !important; }

/* Belt-and-suspenders for empty rows */
.session-data-row:empty { display: none !important; }
.session-data tr:empty { display: none !important; }