/* Shared paper layout. Screen styles remain in the existing stylesheets. */
.print-only, .print-inline { display: none; }

@media print {
    @page { size: Letter; margin: 0.55in; }
    html, body { width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: #fff !important; color: #111 !important; font: 10.5pt/1.38 Arial, sans-serif !important; }
    * { box-shadow: none !important; text-shadow: none !important; }
    body.happenstance-print-staff::before, body.happenstance-print-public::before { content: 'Happenstance Ranch'; display: block; border-bottom: 1px solid #777; margin-bottom: 9pt; padding-bottom: 4pt; font-weight: 700; font-size: 11pt; }
    a, a:visited { color: #111 !important; text-decoration: none !important; }
    a[href]::after, a[href^='#']::after, abbr[title]::after { content: none !important; }
    nav, #main-menu, #header, .site-header, .site-footer, .announcement-bar, .skip-link,
    .btn, button, .button, .pagination, .screen-only, .beef-cut-action, .print-hide,
    input, select, textarea, .happenstance-print-staff form,
    .happenstance-print-public .contact-details { display: none !important; }
    .print-only { display: block !important; }
    .print-inline { display: inline !important; }
    .container, .site-shell, main, .section, .page-hero, .hero, .hero-inner,
    .table-responsive, .row, .well, .beef-request-card { width: 100% !important; max-width: none !important; min-width: 0 !important; height: auto !important; min-height: 0 !important; overflow: visible !important; margin-left: 0 !important; margin-right: 0 !important; }
    .container, .site-shell, main, .section, .page-hero, .hero, .hero-inner, .table-responsive { padding: 0 !important; }
    .row { display: block !important; }
    [class*='col-md-'], [class*='col-sm-'], [class*='col-lg-'] { float: none !important; width: 100% !important; max-width: none !important; padding: 0 !important; }
    h1, h2, h3, h4 { color: #111 !important; break-after: avoid; line-height: 1.2 !important; }
    h1 { font-size: 18pt !important; margin: 0 0 8pt !important; }
    h2 { font-size: 13pt !important; margin: 12pt 0 5pt !important; }
    h3, h4 { font-size: 11pt !important; margin: 9pt 0 4pt !important; }
    p, li { orphans: 2; widows: 2; }
    p { margin: 0 0 7pt !important; }
    table { width: 100% !important; max-width: 100% !important; table-layout: auto !important; border-collapse: collapse !important; font-size: 9.5pt !important; }
    th, td { padding: 4pt 3pt !important; color: #111 !important; overflow-wrap: anywhere; word-break: normal; vertical-align: top !important; border-bottom: 1px solid #bbb !important; }
    thead { display: table-header-group !important; }
    tfoot { display: table-footer-group !important; }
    tr, .package-choice, .product-card, .feature-card { break-inside: avoid; }
    img { max-width: 100% !important; height: auto !important; }
    pre { white-space: pre-wrap !important; overflow-wrap: anywhere !important; }
    details, details:not([open]) > :not(summary) { display: block !important; overflow: visible !important; }
    details > summary { break-after: avoid; }
    /* Bootstrap collapse stays untouched in the DOM, including cancelled print dialogs. */
    .happenstance-print-staff .collapse, .happenstance-print-staff .collapsing { display: block !important; height: auto !important; visibility: visible !important; overflow: visible !important; }
    .happenstance-print-staff .legacy-print-list { margin: 0 0 9pt !important; padding: 0 0 0 15pt !important; }
    .happenstance-print-staff .legacy-print-list li { margin: 0 0 3pt !important; break-inside: avoid; }
    .happenstance-print-staff .panel { break-inside: avoid; }
    .happenstance-print-staff .panel-heading { break-after: avoid; }
    .happenstance-print-staff details > form, .happenstance-print-staff .beef-request-actions,
    .happenstance-print-staff .beef-request-individual { display: none !important; }
    .happenstance-print-staff .beef-cut-section { border: 0 !important; padding: 0 !important; break-inside: auto !important; }
    .happenstance-print-staff .beef-cut-section > summary { background: #fff !important; color: #111 !important; padding: 8pt 0 3pt !important; font-size: 12pt !important; }
    .happenstance-print-staff .beef-cut-section > .table-responsive { display: block !important; }
    .beef-inventory-table th:nth-child(-n+2), .beef-inventory-table td:nth-child(-n+2) { display: none !important; }
    .beef-inventory-table td:last-child { min-width: 95pt; }
    .beef-request-card { border: 1px solid #aaa !important; padding: 9pt !important; margin: 9pt 0 !important; font-size: 10pt !important; break-inside: auto !important; }
    .beef-request-card h2 { font-size: 12pt !important; }
    .beef-request-package-row { padding: 3pt 0 !important; }
    .happenstance-print-public .hero, .happenstance-print-public .page-hero { background: #fff !important; color: #111 !important; }
    .happenstance-print-public .hero::after, .happenstance-print-public .hero-photo,
    .happenstance-print-public .photo-band { display: none !important; }
    .happenstance-print-public .hero-copy { padding: 0 !important; }
    .happenstance-print-public .hero p, .happenstance-print-public .page-hero p { color: #111 !important; font-size: 10.5pt !important; }
    .happenstance-print-public .story-photo { max-height: 2.6in !important; width: auto !important; max-width: 100% !important; display: block !important; margin: 0 0 9pt !important; border-radius: 0 !important; }
    .happenstance-print-public .ranch-gallery { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8pt !important; }
    .happenstance-print-public .ranch-gallery a, .happenstance-print-public .ranch-gallery figure { display: block !important; min-width: 0 !important; margin: 0 !important; break-inside: avoid !important; }
    .happenstance-print-public .ranch-gallery img { max-height: 2.6in !important; max-width: 100% !important; width: auto !important; object-fit: contain !important; }
    .happenstance-print-public .ranch-gallery figcaption { color: #111 !important; font-size: 9pt !important; margin: 3pt 0 0 !important; }
    .happenstance-print-public .cta-panel { background: #fff !important; color: #111 !important; padding: 0 !important; }
    .happenstance-print-public .feature-grid, .happenstance-print-public .product-grid,
    .happenstance-print-public .steps, .happenstance-print-public .story-grid,
    .happenstance-print-public .contact-grid, .happenstance-print-public .package-list { display: block !important; }
    .happenstance-print-public .feature-card, .happenstance-print-public .product-card,
    .happenstance-print-public .package-group { background: #fff !important; border: 1px solid #bbb !important; border-radius: 0 !important; padding: 7pt !important; margin: 0 0 8pt !important; }
    .happenstance-print-public .package-group:not([open]) > fieldset { display: block !important; }
    .happenstance-print-public .package-choice { padding: 3pt 0 !important; }
    .happenstance-print-public .cut-help, .happenstance-print-public .cut-indicator,
    .happenstance-print-public .ground-quantity { display: none !important; }
    .happenstance-print-receipt main { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
    .happenstance-print-receipt header { break-after: avoid; }
}
