/* ============================================================
   NevadaCannabis.com — Print Stylesheet
   ============================================================
   Applied via media="print" on the <link> tag.
   Optimizes pages for printing, especially legal reference
   pages and dispensary listings.
   ============================================================ */

@media print {

    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    body {
        font-size: 11pt;
        line-height: 1.5;
        font-family: 'Source Sans 3', 'Source Sans Pro', Georgia, serif;
        margin: 0;
        padding: 0;
    }

    /* ─── Hide Non-Essential ──────────────────────────────── */
    .site-header,
    .top-bar,
    .navbar,
    .breadcrumb-wrapper,
    .age-gate,
    .cookie-consent,
    .back-to-top,
    .reading-progress,
    .no-print,
    .btn-print,
    .handout-actions,
    .related-pages,
    .companion-link-box,
    .site-footer,
    .footer-disclaimer,
    .skip-link {
        display: none !important;
    }

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

    /* ─── Typography ──────────────────────────────────────── */
    h1 { font-size: 20pt; margin-bottom: 6pt; page-break-after: avoid; }
    h2 { font-size: 16pt; margin-top: 18pt; margin-bottom: 6pt; page-break-after: avoid; border-bottom: 0.5pt solid #ccc; padding-bottom: 4pt; }
    h3 { font-size: 13pt; margin-top: 14pt; margin-bottom: 4pt; page-break-after: avoid; }
    h4 { font-size: 11pt; font-weight: bold; margin-top: 10pt; margin-bottom: 3pt; page-break-after: avoid; }

    p { orphans: 3; widows: 3; max-width: none; }

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

    .content-body a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666 !important;
        word-break: break-all;
    }

    .content-body a[href^="/"]::after,
    .content-body a[href^="#"]::after {
        content: "";
    }

    /* ─── Layout ──────────────────────────────────────────── */
    .container { max-width: 100% !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
    .content-page { padding: 0 !important; }
    .content-body { max-width: 100%; }
    .col-lg-8, .col-lg-4 { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }

    .page-hero { padding: 0 !important; margin-bottom: 12pt; border-bottom: 1pt solid #000; }
    .page-hero .lead { font-size: 11pt; margin-bottom: 6pt; }

    /* ─── Tables ──────────────────────────────────────────── */
    table { border-collapse: collapse; width: 100%; page-break-inside: avoid; }
    th, td { border: 0.5pt solid #999; padding: 4pt 6pt; font-size: 10pt; }
    thead th { font-weight: bold; border-bottom: 1pt solid #000; }
    .table-responsive { border: none; }

    /* ─── Components ──────────────────────────────────────── */
    .disclaimer-box, .alert { border: 1pt solid #999 !important; padding: 8pt !important; margin: 8pt 0 !important; page-break-inside: avoid; }
    .research-citation { border-left: 2pt solid #000 !important; padding: 6pt 10pt !important; margin: 8pt 0 !important; page-break-inside: avoid; }
    .card, .dispensary-card { border: 0.5pt solid #ccc !important; padding: 6pt !important; margin-bottom: 6pt; page-break-inside: avoid; }
    .badge { border: 0.5pt solid #999 !important; padding: 1pt 4pt !important; font-size: 8pt; }
    .legal-update-badge { border: 0.5pt solid #999 !important; }

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

    /* ─── Handout Print ───────────────────────────────────── */
    .handout-print-footer { margin-top: 18pt; padding-top: 8pt; border-top: 0.5pt solid #ccc; font-size: 9pt; }

    body.print-handout-only main > *:not(.handout),
    body.print-handout-only .handout:not(.printing) { display: none !important; }
    body.print-handout-only .handout.printing { display: block !important; }

    .handout-meta { display: flex; gap: 12pt; margin-bottom: 12pt; }
    .handout-field { flex: 1; }
    .handout-field label { font-size: 9pt; font-weight: bold; }
    .field-line { display: block; border-bottom: 0.5pt solid #000; min-height: 16pt; }
    .handout-checkbox .check-box { display: inline-block; width: 10pt; height: 10pt; border: 0.5pt solid #000; margin-right: 4pt; vertical-align: middle; }
    .handout-textarea { border: 0.5pt solid #ccc; min-height: 36pt; margin-top: 4pt; }
}
