/* Print CSS for Healthcare Provider Directory */
/* Optimized for ink efficiency and readability when printed */

@media print {
    /* Reset all margins and paddings for print */
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    /* Page setup */
    @page {
        margin: 0.5in;
        size: letter;
    }

    /* Body and general layout */
    body {
        font-family: Arial, sans-serif !important;
        font-size: 10pt !important;
        line-height: 1.3 !important;
        color: #000 !important;
        background: white !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Hide elements that shouldn't print */
    .nav-buttons,
    .filter-section,
    .location-section,
    .search-section,
    .map-container,
    .toggle-btn,
    button,
    .btn-secondary,
    nav,
    header,
    .header,
    form,
    input,
    select,
    .filter-row,
    .filter-group,
    #map,
    .details-toggle,
    script,
    .site-hours,
    .hours-specialties-layout,
    .accepting-badge,
    .site-accepting-badge {
        display: none !important;
    }

    /* Header styling */
    .header img {
        max-height: 40px !important;
        max-width: 200px !important;
    }

    .page-heading {
        margin-bottom: 15pt !important;
        page-break-after: avoid;
    }

    .page-heading h1 {
        font-size: 16pt !important;
        color: #000 !important;
        margin-bottom: 5pt !important;
        font-weight: bold !important;
    }

    .page-heading p {
        font-size: 10pt !important;
        color: #000 !important;
        margin-bottom: 10pt !important;
    }

    /* Main content area */
    .container {
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Results summary */
    h2 {
        font-size: 12pt !important;
        color: #000 !important;
        margin: 10pt 0 5pt 0 !important;
        page-break-after: avoid;
    }

    /* Practitioner cards */
    .practitioners-grid {
        display: block !important;
        margin: 0 !important;
    }

    .practitioner-card {
        border: 1pt solid #ccc !important;
        margin-bottom: 15pt !important;
        padding: 8pt !important;
        background: white !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Practitioner header */
    .practitioner-header {
        margin-bottom: 8pt !important;
    }

    .practitioner-name {
        font-size: 12pt !important;
        font-weight: bold !important;
        color: #000 !important;
        margin-bottom: 3pt !important;
    }

    .practitioner-degree,
    .practitioner-gender {
        font-size: 9pt !important;
        color: #000 !important;
    }

    .practitioner-type {
        font-size: 8pt !important;
        color: #000 !important;
        float: right;
        background: none !important;
        border: 1pt solid #999 !important;
        padding: 2pt 4pt !important;
    }

    /* Two-column layout for practitioner details */
    .practitioner-details {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10pt !important;
        margin-top: 5pt !important;
    }

    .detail-section {
        break-inside: avoid;
    }

    .detail-section h4 {
        font-size: 10pt !important;
        font-weight: bold !important;
        color: #000 !important;
        margin: 0 0 5pt 0 !important;
        border-bottom: 0.5pt solid #ccc !important;
        padding-bottom: 2pt !important;
    }

    .detail-section p {
        font-size: 9pt !important;
        color: #000 !important;
        margin: 0 0 3pt 0 !important;
        line-height: 1.2 !important;
    }

    .detail-section strong {
        font-weight: bold !important;
        color: #000 !important;
    }

    /* Remove emojis for print - they may not print well */
    .detail-section h4::before,
    .detail-section p strong::before {
        content: "" !important;
    }

    /* Clean up emojis in text */
    .detail-section h4,
    .detail-section p strong {
        font-family: Arial, sans-serif !important;
    }

    /* Practice site cards */
    .practice-site-card {
        border: 0.5pt solid #ddd !important;
        margin-bottom: 8pt !important;
        padding: 6pt !important;
        background: #f9f9f9 !important;
        break-inside: avoid;
    }

    .site-header h5 {
        font-size: 10pt !important;
        font-weight: bold !important;
        color: #000 !important;
        margin: 0 0 4pt 0 !important;
    }

    /* Basic contact info layout */
    .site-basic-info {
        display: grid !important;
        grid-template-columns: 2fr 1fr 1fr !important;
        gap: 8pt !important;
        font-size: 8pt !important;
        margin-bottom: 5pt !important;
    }

    .site-basic-info a {
        color: #000 !important;
        text-decoration: none !important;
    }

    .site-basic-info a::after {
        content: "";
    }

    /* Show all details by default for print */
    .site-details {
        display: block !important;
    }

    /* Services details */
    .site-services {
        margin-bottom: 5pt !important;
    }

    .site-services strong {
        font-size: 8pt !important;
        font-weight: bold !important;
        color: #000 !important;
        margin-bottom: 2pt !important;
        display: block !important;
    }

    .site-services div {
        font-size: 7pt !important;
        color: #000 !important;
        margin-bottom: 1pt !important;
    }

    /* Hours and specialties layout */
    .hours-specialties-layout {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8pt !important;
        margin-top: 5pt !important;
        border-top: 0.5pt solid #ddd !important;
        padding-top: 5pt !important;
    }

    /* Hours styling */
    .site-hours strong {
        font-size: 8pt !important;
        font-weight: bold !important;
        color: #000 !important;
        margin-bottom: 3pt !important;
        display: block !important;
    }

    .hours-grid div {
        font-size: 7pt !important;
        color: #000 !important;
        margin-bottom: 1pt !important;
        background: white !important;
        border: 0.5pt solid #eee !important;
        padding: 1pt 2pt !important;
    }

    /* Specialties styling */
    .site-specialties strong {
        font-size: 8pt !important;
        font-weight: bold !important;
        color: #000 !important;
        margin-bottom: 3pt !important;
        display: block !important;
    }

    .site-specialties div {
        font-size: 7pt !important;
        color: #000 !important;
        background: white !important;
        border: 0.5pt solid #ddd !important;
        padding: 2pt 4pt !important;
        margin-bottom: 2pt !important;
    }

    /* Badges - simplify for print */
    .accepting-badge {
        font-size: 7pt !important;
        color: #000 !important;
        background: none !important;
        border: 0.5pt solid #999 !important;
        padding: 1pt 3pt !important;
        display: inline-block !important;
        margin: 2pt 0 !important;
    }

    .accepting-yes {
        border-color: #000 !important;
    }

    .accepting-no {
        border-color: #666 !important;
    }

    /* Language tags */
    .language-tag {
        font-size: 7pt !important;
        color: #000 !important;
        background: none !important;
        border: 0.5pt solid #ccc !important;
        padding: 1pt 2pt !important;
        margin-right: 2pt !important;
        display: inline-block !important;
    }

    /* No results styling */
    .no-results {
        text-align: center !important;
        margin: 20pt 0 !important;
        font-size: 10pt !important;
        color: #000 !important;
    }

    /* Page breaks */
    .practitioner-card {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    .practice-site-card {
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Summary box */
    div[style*="background: #f8f9fa"] {
        background: white !important;
        border: 1pt solid #ccc !important;
        padding: 8pt !important;
        margin-bottom: 10pt !important;
        font-size: 9pt !important;
        color: #000 !important;
    }

    /* Links - show URL in print */
    a[href^="tel:"]::after {
        content: "";
    }

    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 7pt;
        color: #666;
    }

    /* Print-specific utilities */
    .print-only {
        display: block !important;
    }

    .no-print {
        display: none !important;
    }

    /* Footer for each page */
    @page {
        @bottom-right {
            content: "Page " counter(page);
            font-size: 8pt;
            color: #666;
        }
        @bottom-left {
            content: "NHP Healthcare Provider Directory";
            font-size: 8pt;
            color: #666;
        }
    }

    /* Ensure black text throughout */
    * {
        color: #000 !important;
    }

    /* Remove any background colors to save ink */
    * {
        background-color: white !important;
        background-image: none !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
}