/*
 * Print Stylesheet
 *
 * Optimized print styles for better accessibility
 *
 * @package ComplySpec_Accessible
 * @since 1.1.0
 */

@media print {
    /* Reset colors for better print */
    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    /* Remove unnecessary elements */
    nav,
    .skip-link,
    .menu-toggle,
    .navigation,
    .sidebar,
    .widget-area,
    .site-footer,
    .comments-area,
    .edit-link,
    .post-navigation,
    .posts-navigation,
    button,
    .complyspec-a11y-panel-toggle,
    .complyspec-a11y-panel,
    .complyspec-toolbar,
    .complyspec-badge,
    iframe,
    video,
    audio {
        display: none !important;
    }

    /* Page setup */
    @page {
        margin: 2cm;
    }

    body {
        font-family: Georgia, serif;
        font-size: 12pt;
        line-height: 1.6;
    }

    /* Headings */
    h1 {
        font-size: 24pt;
        margin-top: 0;
    }

    h2 {
        font-size: 18pt;
        page-break-after: avoid;
    }

    h3 {
        font-size: 14pt;
        page-break-after: avoid;
    }

    h4, h5, h6 {
        font-size: 12pt;
        page-break-after: avoid;
    }

    /* Links */
    a {
        text-decoration: underline;
    }

    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        color: #666;
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    /* Images */
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }

    img[alt]:after {
        content: " (Image: " attr(alt) ")";
        display: block;
        font-size: 10pt;
        font-style: italic;
        margin-top: 0.5em;
    }

    /* Tables */
    table {
        border-collapse: collapse;
        width: 100%;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr {
        page-break-inside: avoid;
    }

    th,
    td {
        border: 1pt solid #000;
        padding: 8pt;
    }

    th {
        font-weight: bold;
        background: #f0f0f0 !important;
    }

    /* Lists */
    ul, ol {
        margin-left: 1.5em;
    }

    /* Blockquotes */
    blockquote {
        border-left: 3pt solid #000;
        padding-left: 1em;
        margin: 1em 0;
        font-style: italic;
    }

    /* Code blocks */
    pre,
    code {
        font-family: "Courier New", monospace;
        font-size: 10pt;
        border: 1pt solid #000;
        padding: 0.5em;
        page-break-inside: avoid;
    }

    /* Prevent orphans and widows */
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    /* Article metadata */
    .entry-meta {
        font-size: 10pt;
        margin-bottom: 1em;
    }

    .entry-title {
        page-break-after: avoid;
    }

    /* Site branding */
    .site-title {
        font-size: 18pt;
        margin-bottom: 0.5em;
    }

    .site-description {
        font-size: 10pt;
        font-style: italic;
    }

    /* Add URL after site title */
    .site-title a[href]:after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        font-weight: normal;
    }

    /* Main content */
    .site-main {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .entry-content {
        font-size: 11pt;
    }

    /* Abbreviations */
    abbr[title]:after {
        content: " (" attr(title) ")";
        font-size: 10pt;
    }

    /* Form elements (if needed) */
    input,
    select,
    textarea {
        border: 1pt solid #000;
        padding: 2pt;
    }

    /* Print utilities */
    .print-only {
        display: block !important;
    }

    .no-print {
        display: none !important;
    }

    /* QR code or contact info block */
    .print-contact-info {
        border: 2pt solid #000;
        padding: 1em;
        margin: 2em 0;
        page-break-inside: avoid;
    }

    .print-contact-info h3 {
        margin-top: 0;
    }

    /* Table of contents */
    .print-toc {
        border: 1pt solid #000;
        padding: 1em;
        margin: 1em 0;
        page-break-inside: avoid;
    }

    .print-toc h2 {
        margin-top: 0;
    }

    /* Page breaks */
    .page-break-before {
        page-break-before: always;
    }

    .page-break-after {
        page-break-after: always;
    }

    .page-break-avoid {
        page-break-inside: avoid;
    }
}
