/**
 * Print Styles for MONLIS Schule
 * 
 * Optimized for printing course pages and blog posts
 */

@media print {
    /* Reset and base */
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    body {
        font-family: Georgia, 'Times New Roman', serif;
        font-size: 12pt;
        line-height: 1.5;
        margin: 0;
        padding: 20px;
    }
    
    /* Hide non-essential elements */
    .site-header,
    .site-footer,
    .breadcrumbs,
    .scroll-to-top,
    .whatsapp-button,
    .mobile-menu,
    .reading-progress,
    .single-post-share,
    .single-post-back,
    .related-posts,
    .course-booking-section,
    .course-cta,
    .btn,
    button,
    nav,
    aside,
    .no-print,
    #wpadminbar,
    .cookie-banner,
    iframe,
    video,
    audio,
    form {
        display: none !important;
    }
    
    /* Show print-only elements */
    .print-only {
        display: block !important;
    }
    
    /* Links */
    a {
        text-decoration: underline;
    }
    
    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        font-weight: normal;
    }
    
    a[href^="#"]:after,
    a[href^="javascript"]:after {
        content: "";
    }
    
    /* Images */
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }
    
    /* Headings */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        page-break-inside: avoid;
        font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    }
    
    h1 {
        font-size: 24pt;
        margin-bottom: 10pt;
    }
    
    h2 {
        font-size: 18pt;
        margin-top: 20pt;
        margin-bottom: 10pt;
    }
    
    h3 {
        font-size: 14pt;
        margin-top: 15pt;
        margin-bottom: 8pt;
    }
    
    /* Paragraphs */
    p {
        orphans: 3;
        widows: 3;
    }
    
    /* Lists */
    ul, ol {
        margin-left: 20pt;
    }
    
    li {
        margin-bottom: 5pt;
    }
    
    /* Tables */
    table {
        border-collapse: collapse;
        width: 100%;
    }
    
    th, td {
        border: 1px solid #000;
        padding: 8pt;
        text-align: left;
    }
    
    th {
        font-weight: bold;
        background-color: #f0f0f0 !important;
    }
    
    /* Page breaks */
    .page-break {
        page-break-before: always;
    }
    
    .no-break {
        page-break-inside: avoid;
    }
    
    /* ========================================
       Course Page Specific Styles
       ======================================== */
    
    .course-hero {
        padding: 0 !important;
        margin-bottom: 20pt;
    }
    
    .course-hero__title {
        font-size: 28pt !important;
        margin-bottom: 10pt;
    }
    
    .course-hero__subtitle {
        font-size: 14pt !important;
    }
    
    /* Course info grid */
    .course-info {
        display: block !important;
        margin-bottom: 20pt;
        padding: 15pt;
        border: 1px solid #ccc;
    }
    
    .course-info__item {
        display: inline-block;
        margin-right: 20pt;
        margin-bottom: 10pt;
    }
    
    .course-info__label {
        font-weight: bold;
        font-size: 10pt;
    }
    
    .course-info__value {
        font-size: 12pt;
    }
    
    /* Course details */
    .course-details {
        margin-bottom: 20pt;
    }
    
    .course-details__title {
        font-size: 16pt;
        border-bottom: 2px solid #000;
        padding-bottom: 5pt;
        margin-bottom: 10pt;
    }
    
    /* Curriculum */
    .course-curriculum {
        page-break-inside: avoid;
    }
    
    .curriculum-day {
        margin-bottom: 15pt;
        padding: 10pt;
        border: 1px solid #ddd;
    }
    
    .curriculum-day__title {
        font-size: 14pt;
        font-weight: bold;
        margin-bottom: 8pt;
    }
    
    .curriculum-item {
        margin-bottom: 8pt;
        padding-left: 10pt;
        border-left: 2px solid #ccc;
    }
    
    .curriculum-item__time {
        font-weight: bold;
        font-size: 10pt;
    }
    
    /* Benefits */
    .course-benefits {
        margin-bottom: 20pt;
    }
    
    .benefit-item {
        margin-bottom: 10pt;
        padding-left: 15pt;
        position: relative;
    }
    
    .benefit-item:before {
        content: "✓";
        position: absolute;
        left: 0;
    }
    
    /* Instructor */
    .course-instructor {
        page-break-inside: avoid;
        padding: 15pt;
        border: 1px solid #ccc;
        margin-bottom: 20pt;
    }
    
    .instructor__name {
        font-size: 14pt;
        font-weight: bold;
    }
    
    .instructor__role {
        font-size: 11pt;
        font-style: italic;
    }
    
    /* FAQ */
    .course-faq {
        page-break-before: always;
    }
    
    .faq-item {
        margin-bottom: 15pt;
        page-break-inside: avoid;
    }
    
    .faq-item__question {
        font-weight: bold;
        font-size: 12pt;
        margin-bottom: 5pt;
    }
    
    .faq-item__answer {
        max-height: none !important;
        display: block !important;
        font-size: 11pt;
        padding-left: 15pt;
    }
    
    /* ========================================
       Blog Post Specific Styles
       ======================================== */
    
    .single-post-hero {
        height: auto !important;
        min-height: 0 !important;
        padding: 0 !important;
    }
    
    .single-post-hero__image {
        display: none;
    }
    
    .single-post-hero__overlay {
        display: none;
    }
    
    .single-post-hero__content {
        position: static !important;
        color: #000 !important;
        text-align: left !important;
        padding: 0 !important;
    }
    
    .single-post-hero__category {
        background: none !important;
        padding: 0 !important;
        font-size: 10pt;
        text-transform: uppercase;
        letter-spacing: 1pt;
    }
    
    .single-post-hero__title {
        font-size: 24pt !important;
        color: #000 !important;
    }
    
    .single-post-hero__meta {
        justify-content: flex-start !important;
        gap: 15pt !important;
        margin-top: 10pt;
    }
    
    .single-post-hero__meta-item {
        color: #666 !important;
        font-size: 10pt;
    }
    
    .single-post-hero__meta-item svg {
        display: none;
    }
    
    .single-post-article {
        margin-top: 20pt !important;
    }
    
    .single-post-wrapper {
        padding: 0 !important;
        box-shadow: none !important;
        max-width: 100% !important;
    }
    
    .single-post-content {
        font-size: 11pt !important;
    }
    
    .single-post-content blockquote {
        border-left: 3pt solid #000;
        padding-left: 15pt;
        margin: 15pt 0;
        font-style: italic;
    }
    
    .single-post-tags {
        margin-top: 20pt;
        padding-top: 10pt;
        border-top: 1pt solid #ccc;
    }
    
    .single-post-tag {
        background: none !important;
        padding: 0 !important;
    }
    
    .single-post-tag:after {
        content: ", ";
    }
    
    .single-post-tag:last-child:after {
        content: "";
    }
    
    /* ========================================
       Print Header/Footer
       ======================================== */
    
    @page {
        margin: 2cm;
        size: A4;
    }
    
    @page :first {
        margin-top: 3cm;
    }
    
    /* Print header */
    .print-header {
        display: block !important;
        text-align: center;
        margin-bottom: 20pt;
        padding-bottom: 10pt;
        border-bottom: 1pt solid #ccc;
    }
    
    .print-header__logo {
        font-size: 18pt;
        font-weight: bold;
        letter-spacing: 2pt;
    }
    
    .print-header__url {
        font-size: 10pt;
        color: #666;
    }
    
    /* Print footer */
    .print-footer {
        display: block !important;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 9pt;
        color: #666;
        padding-top: 10pt;
        border-top: 1pt solid #ccc;
    }
}
