/* ==========================================================================
   Funeral Home Theme - Print Stylesheet
   Optimized for obituary printing
   ========================================================================== */

@media print {
    /* --------------------------------------------------------------------------
       General Print Resets
       -------------------------------------------------------------------------- */
    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    html {
        font-size: 12pt;
    }

    body {
        font-family: Georgia, 'Times New Roman', serif;
        line-height: 1.5;
        margin: 0;
        padding: 0;
    }

    /* --------------------------------------------------------------------------
       Hide Non-Essential Elements
       -------------------------------------------------------------------------- */
    .no-print,
    .site-header,
    .site-footer,
    .skip-to-content,
    .back-link,
    .obituary-detail__actions,
    .obituary-detail__sidebar,
    .obituary-detail__gallery,
    .obituary-detail__livestream,
    .obituary-detail__condolences,
    .btn,
    button,
    form,
    nav,
    .mobile-menu-toggle,
    .mobile-nav,
    .hero,
    .cta-banner,
    .immediate-need-banner,
    [data-print],
    .lightbox {
        display: none !important;
    }

    /* --------------------------------------------------------------------------
       Page Setup
       -------------------------------------------------------------------------- */
    @page {
        margin: 0.75in;
        size: letter;
    }

    /* --------------------------------------------------------------------------
       Typography
       -------------------------------------------------------------------------- */
    h1, h2, h3, h4, h5, h6 {
        font-family: Georgia, 'Times New Roman', serif;
        page-break-after: avoid;
        orphans: 3;
        widows: 3;
    }

    h1 {
        font-size: 24pt;
        margin-bottom: 6pt;
    }

    h2 {
        font-size: 18pt;
        margin-top: 18pt;
        margin-bottom: 6pt;
    }

    h3 {
        font-size: 14pt;
        margin-top: 12pt;
        margin-bottom: 6pt;
    }

    p {
        font-size: 11pt;
        line-height: 1.6;
        margin-bottom: 12pt;
        orphans: 3;
        widows: 3;
    }

    /* --------------------------------------------------------------------------
       Links
       -------------------------------------------------------------------------- */
    a {
        text-decoration: underline;
    }

    /* Don't print link URLs for internal navigation */
    a[href^="#"]::after,
    a[href^="javascript"]::after {
        content: "";
    }

    /* --------------------------------------------------------------------------
       Obituary Detail Print Styles
       -------------------------------------------------------------------------- */
    .obituary-detail {
        max-width: 100%;
    }

    .obituary-detail__header {
        padding: 0 !important;
        margin-bottom: 24pt;
        border-bottom: 2pt solid #000;
        padding-bottom: 18pt !important;
    }

    .obituary-detail__header-content {
        display: flex;
        gap: 24pt;
    }

    .obituary-detail__photo {
        width: 2in !important;
        height: 2.5in !important;
        flex-shrink: 0;
        border: 1pt solid #ccc;
    }

    .obituary-detail__photo img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .obituary-detail__photo-placeholder {
        display: none !important;
    }

    .obituary-detail__info {
        flex: 1;
    }

    .obituary-detail__name {
        font-size: 24pt;
        font-weight: bold;
        margin-bottom: 6pt;
    }

    .obituary-detail__maiden {
        font-style: italic;
        font-size: 12pt;
        margin-bottom: 6pt;
    }

    .obituary-detail__dates {
        font-size: 14pt;
        margin-bottom: 3pt;
    }

    .obituary-detail__age {
        font-size: 11pt;
    }

    .obituary-detail__layout {
        display: block !important;
    }

    .obituary-detail__main {
        width: 100% !important;
    }

    .obituary-detail__text {
        font-size: 11pt;
        line-height: 1.7;
        text-align: justify;
    }

    /* --------------------------------------------------------------------------
       Service Information Print
       -------------------------------------------------------------------------- */
    .sidebar-card {
        display: block !important;
        border: 1pt solid #ccc;
        padding: 12pt;
        margin-top: 24pt;
        page-break-inside: avoid;
    }

    .sidebar-card h3 {
        font-size: 14pt;
        margin-bottom: 12pt;
        border-bottom: 1pt solid #ccc;
        padding-bottom: 6pt;
    }

    .sidebar-card--flowers {
        display: none !important;
    }

    .service-item {
        margin-bottom: 12pt;
        padding-bottom: 12pt;
        border-bottom: 1pt dotted #ccc;
    }

    .service-item:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .service-item__type {
        font-size: 12pt;
        font-weight: bold;
        text-transform: uppercase;
    }

    .service-item__date {
        font-weight: bold;
    }

    .service-item__location {
        font-size: 10pt;
    }

    .service-item__calendar {
        display: none !important;
    }

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

    /* --------------------------------------------------------------------------
       Containers
       -------------------------------------------------------------------------- */
    .container {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .section {
        padding: 0 !important;
    }

    /* --------------------------------------------------------------------------
       Page Breaks
       -------------------------------------------------------------------------- */
    .page-break {
        page-break-after: always;
    }

    h2, h3 {
        page-break-after: avoid;
    }

    p, li {
        page-break-inside: avoid;
    }

    /* --------------------------------------------------------------------------
       Footer for Print
       -------------------------------------------------------------------------- */
    .obituary-detail::after {
        content: "";
        display: block;
        margin-top: 24pt;
        padding-top: 12pt;
        border-top: 1pt solid #ccc;
        font-size: 9pt;
        text-align: center;
        color: #666 !important;
    }
}

/* ==========================================================================
   Print-specific classes that can be used in markup
   ========================================================================== */

/* Force element to print even if normally hidden */
.print-only {
    display: none !important;
}

@media print {
    .print-only {
        display: block !important;
    }
}

/* Force page break before element */
.print-page-break-before {
    page-break-before: always;
}

/* Force page break after element */
.print-page-break-after {
    page-break-after: always;
}

/* Prevent page break inside element */
.print-no-break {
    page-break-inside: avoid;
}
