@page {
    size: auto;
    margin: 15mm 18mm 15mm 18mm;
}

@media print {
    *,
    *::before,
    *::after {
        box-sizing: border-box !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    html,
    body {
        background: #ffffff !important;
        color: #111827 !important;
        font-size: 11pt;
        line-height: 1.6;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* Elements hidden in print */
    .hc-header,
    .hc-footer,
    .hc-topbar,
    .hc-navbar,
    .hc-awareness-ticker,
    .hc-sidebar-sticky,
    .hc-share-buttons,
    .hc-newsletter-section,
    .hc-newsletter,
    .hc-cookie-banner,
    .hc-reflection-nav,
    .hc-article-toc,
    .hc-ad-placement,
    .hc-ad-wrapper,
    .hc-sticky-mobile-ad,
    .adsbygoogle,
    ins.adsbygoogle,
    #reading-progress,
    #hc-back-to-top,
    .visually-hidden-focusable,
    .hc-maintenance-bar,
    .hc-mobile-menu,
    .hc-author-box .hc-author-link,
    .hc-lang-selector,
    iframe,
    video,
    .btn {
        display: none !important;
    }

    /* Print Header & Footer Branding */
    .hc-print-branding {
        display: block !important;
        margin-bottom: 20pt;
        padding-bottom: 8pt;
        border-bottom: 1.5pt solid #2f8f9d;
    }

    .hc-print-brand-row {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-end !important;
        gap: 16pt;
    }

    .hc-print-brand-name {
        font-size: 15pt;
        font-weight: 800;
        letter-spacing: 1.5px;
        color: #2f8f9d !important;
        text-transform: uppercase;
        margin-bottom: 2pt;
    }

    .hc-print-brand-desc {
        font-size: 8.5pt;
        color: #64748b !important;
        letter-spacing: 0.5px;
    }

    .hc-print-brand-right {
        text-align: right !important;
        font-size: 8.5pt;
        color: #334155 !important;
        white-space: nowrap;
    }

    .hc-print-author,
    .hc-print-date {
        margin-bottom: 2pt;
    }

    .hc-print-footer {
        display: block !important;
        margin-top: 24pt;
        padding-top: 8pt;
        border-top: 1pt solid #cbd5e1;
        font-size: 8pt;
        color: #64748b !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Author Byline in Print */
    .hc-meta-author-wrap,
    .hc-article-author,
    .hc-reflection-byline {
        display: inline-block !important;
        font-size: 10pt !important;
        color: #334155 !important;
    }

    .hc-author-link {
        display: inline !important;
        color: #0f172a !important;
        text-decoration: none !important;
        font-weight: 700 !important;
    }

    .hc-author-designation {
        display: inline !important;
        color: #64748b !important;
    }

    /* Prevent Bootstrap row gutters from causing horizontal overflow/cropping */
    .row {
        display: block !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    .col-lg-8,
    .col-lg-4,
    .col-md-6,
    .col-12,
    [class*="col-"] {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        flex: none !important;
    }

    main,
    section,
    .container,
    .container-fluid,
    .hc-article,
    .hc-page {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    a {
        color: #111827 !important;
        text-decoration: underline;
    }

    /* Appending URLs: Only for regular body content links, NOT poetry, breadcrumbs, or tags */
    a[href^="http"]:not([href*="localhost"])::after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: #4b5563;
        word-break: break-all;
    }

    .category-unstraight-lines a::after,
    .hc-reflection-article a::after,
    .hc-poetry a::after,
    .hc-poetry-content a::after,
    .hc-breadcrumbs a::after,
    .hc-article-category a::after,
    .hc-author-box a::after,
    .hc-meta-author-wrap a::after {
        content: none !important;
    }

    .hc-article-title,
    h1 {
        font-size: 22pt !important;
        line-height: 1.25 !important;
        margin-bottom: 12pt !important;
        color: #000000 !important;
    }

    h2 {
        font-size: 16pt !important;
        margin-top: 18pt !important;
        margin-bottom: 8pt !important;
        break-after: avoid;
        page-break-after: avoid;
    }

    h3 {
        font-size: 13pt !important;
        margin-top: 14pt !important;
        margin-bottom: 6pt !important;
        break-after: avoid;
        page-break-after: avoid;
    }

    p, ul, ol {
        orphans: 3;
        widows: 3;
    }

    blockquote {
        border-left: 3pt solid #94a3b8 !important;
        padding-left: 12pt !important;
        margin: 12pt 0 !important;
        font-style: italic;
    }

    .hc-badge-reviewed {
        border: 1px solid #059669 !important;
        background: #f0fdf4 !important;
        color: #065f46 !important;
        padding: 2px 8px !important;
        font-size: 8pt !important;
        font-weight: bold !important;
        display: inline-block !important;
    }

    .hc-article-disclaimer {
        border: 1pt solid #cbd5e1 !important;
        background: #f8fafc !important;
        padding: 12pt !important;
        margin-top: 20pt !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .hc-author-box {
        border: 1pt solid #e2e8f0 !important;
        background: #f8fafc !important;
        padding: 12pt !important;
        margin-top: 20pt !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    img {
        max-width: 100% !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* ========================================================
       UNSTRAIGHT LINES / POETRY PRINT OPTIMIZATIONS
       ======================================================== */
    .category-unstraight-lines header,
    .hc-reflection-article header {
        text-align: center !important;
        margin-bottom: 24pt !important;
    }

    .category-unstraight-lines .hc-article-title,
    .hc-reflection-article .hc-article-title {
        font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
        font-size: 24pt !important;
        font-style: italic !important;
        font-weight: 700 !important;
        text-align: center !important;
        color: #0f172a !important;
        margin-bottom: 8pt !important;
    }

    .category-unstraight-lines .hc-article-subtitle,
    .hc-reflection-article .hc-article-subtitle {
        font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
        font-size: 12pt !important;
        font-style: italic !important;
        color: #4b5563 !important;
        text-align: center !important;
        margin-bottom: 16pt !important;
    }

    .hc-poetry,
    pre.hc-poetry {
        font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
        font-size: 12.5pt !important;
        line-height: 1.65 !important;
        white-space: pre-wrap !important;
        word-break: break-word !important;
        max-width: 580px !important;
        margin: 16pt auto !important;
        padding: 4pt 0 4pt 16pt !important;
        color: #1a1a1a !important;
        background: transparent !important;
        border: none !important;
        border-left: 2.5pt solid #2f8f9d !important;
        border-radius: 0 !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .hc-poetry-content {
        font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
        font-size: 12pt !important;
        line-height: 1.65 !important;
    }

    .hc-poetry-content p {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
        margin-bottom: 12pt !important;
    }
}

