/* Print Stylesheet for Kaplan's Motor site */

@media print {
    /* Print-specific CSS variables */
    :root {
        --print-text-primary: #000;
        --print-text-secondary: #666;
        --print-background-primary: #fff;
        --print-background-secondary: #f8f8f8;
        --print-border-primary: #404040;
        --print-border-light: #ccc;
        --print-font-size-base: 10pt;
        --print-font-size-small: 9pt;
        --print-font-size-medium: 12pt;
        --print-font-size-heading: 14pt;
        --print-font-size-large: 16pt;
        --print-font-size-xl: 18pt;
        --print-spacing-small: 4pt;
        --print-spacing-base: 8pt;
        --print-spacing-large: 12pt;
        --print-spacing-xl: 24pt;
        --print-line-height: 1.4;
    }
    
    /* Reset and basic page setup */
    * {
        -webkit-print-color-adjust: exact !important;
        color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    
    @page {
        size: letter;
        margin: 0.75in;
    }
    
    /* Print header with website and date info */
    .print-header {
        display: block !important;
        font-size: var(--print-font-size-medium) !important;
        color: var(--print-text-secondary) !important;
        text-align: center !important;
        padding: var(--print-spacing-base) 0 !important;
        border-bottom: 1pt solid var(--print-border-light) !important;
        margin-bottom: var(--print-spacing-large) !important;
        background: var(--print-background-primary) !important;
        page-break-after: avoid !important;
    }
    
    .print-header a {
        color: var(--print-text-secondary) !important;
        text-decoration: underline !important;
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        display: inline !important;
        font-size: inherit !important;
    }
    
    /* Style inline URLs that browsers add automatically in PDF */
    /* Show URLs for all links, but make them smaller and blue */
    a[href]::after { 
        content: " (" attr(href) ")"; 
        color: #0066cc !important;
        font-size: 8pt !important;
        font-weight: normal !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        line-height: 1.2 !important;
    }
    
    /* Button links get wrapped URLs */
    .btn[href]::after,
    .inline-copy-btn[href]::after,
    .email-print-link[href]::after,
    button a[href]::after {
        content: "\A(" attr(href) ")" !important;
        white-space: pre !important;
        color: #0066cc !important;
        font-size: 8pt !important;
        font-weight: normal !important;
        word-break: keep-all !important;
        line-height: 1.2 !important;
        display: block !important;
        margin-left: 1em !important;
    }
    
    /* Anchor links stay inline with regular URLs */
    .anchor-link[data-print-url]::after {
        content: " (" attr(data-print-url) ")" !important;
        color: #0066cc !important;
        font-size: 8pt !important;
        font-weight: normal !important;
        white-space: nowrap !important;
        word-break: keep-all !important;
        line-height: 1.2 !important;
        display: inline !important;
    }
    
    /* Ensure anchor links remain visible */
    .anchor-link {
        color: var(--print-text-secondary) !important;
        display: inline !important;
    }
    
    /* Hide copy indicator in print to avoid interference with ::after */
    .anchor-link .copy-indicator {
        display: none !important;
    }
    
    
    /* Hide elements that shouldn't print */
    .hamburger-menu,
    .footer,
    .email-button,
    .mark-unseen-button,
    .hover-expand-btn,
    .announcement-show-again-btn,
    .close-btn,
    .announcement-close-btn,
    .inline-copy-btn,
    .copy-action,
    .announcement-dots,
    .email-actions,
    .nav-menu {
        display: none !important;
    }
    
    /* Show contact links specifically in print fallback */
    .contact-info-print-fallback .contact-link {
        display: inline !important;
    }
    
    /* Show calendar buttons but hide interactive parts */
    .calendar-buttons-container {
        display: block !important;
        text-align: center !important;
        margin: 6pt 0 !important;
    }
    
    .calendar-buttons {
        display: inline-block !important;
    }
    
    .calendar-btn {
        display: inline-block !important;
        margin: 0 2pt !important;
        border: none !important;
        background: none !important;
        cursor: default !important;
        vertical-align: top !important;
    }
    
    .calendar-btn svg {
        width: 20pt !important;
        height: 20pt !important;
        display: block !important;
    }
    
    /* Show primary calendar button (Apple Calendar) */
    .calendar-btn.primary-calendar {
        display: inline-block !important;
    }
    
    /* Hide non-primary calendar buttons in print */
    .calendar-btn.hidden-calendar {
        display: none !important;
    }
    
    /* Ensure Apple calendar icon shows */
    .calendar-btn.apple-cal {
        display: inline-block !important;
    }
    
    /* Remove interactive elements styling */
    button {
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        color: #000 !important;
    }
    
    a {
        text-decoration: underline !important;
        color: #000 !important;
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        display: inline !important;
    }
    
    /* Basic typography - reduced font sizes */
    html, body {
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: var(--print-font-size-base) !important;
        line-height: var(--print-line-height) !important;
        color: var(--print-text-primary) !important;
        background: var(--print-background-primary) !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Headings - reduced sizes */
    h1 {
        font-size: var(--print-font-size-large) !important;
        margin: 0 0 var(--print-spacing-large) !important;
        color: var(--print-text-primary) !important;
        text-shadow: none !important;
        font-weight: bold !important;
    }
    
    .section-title {
        font-size: var(--print-font-size-heading) !important;
        color: var(--print-text-primary) !important;
        margin-bottom: var(--print-spacing-base) !important;
        font-weight: bold !important;
    }
    
    .section-subtitle {
        font-size: 12pt !important;
        color: var(--print-text-primary) !important;
        margin-bottom: 10pt !important;
    }
    
    .protest-title {
        font-size: var(--print-font-size-xl) !important;
        font-weight: bold !important;
        color: var(--print-text-primary) !important;
        text-transform: uppercase !important;
        margin-bottom: var(--print-spacing-large) !important;
        text-shadow: none !important;
    }
    
    /* Body text - reduced sizes */
    .content,
    .letter-content {
        font-size: var(--print-font-size-base) !important;
        line-height: var(--print-line-height) !important;
        color: var(--print-text-primary) !important;
        margin-bottom: var(--print-spacing-base) !important;
    }
    
    .alternatives-content {
        font-size: var(--print-font-size-base) !important;
        line-height: 1.3 !important;
        color: var(--print-text-primary) !important;
    }
    
    /* Sections and containers with consistent styling */
    .section {
        margin: var(--print-spacing-large) 0 !important;
        padding: var(--print-spacing-base) !important;
        background: var(--print-background-primary) !important;
        border: 1pt solid var(--print-border-light) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        page-break-inside: avoid;
    }
    
    .container {
        margin-top: 0 !important;
        max-width: none !important;
        width: 100% !important;
    }
    
    /* Email templates and related elements */
    .email-template,
    .breakdown-content,
    .total-cost,
    .announcement-history-item {
        background: var(--print-background-secondary) !important;
        border: 1pt solid var(--print-border-primary) !important;
        border-radius: 0 !important;
        padding: var(--print-spacing-base) !important;
        margin: var(--print-spacing-base) 0 !important;
        box-shadow: none !important;
        page-break-inside: avoid;
    }
    
    .email-preview,
    .email-subject,
    .email-text,
    .email-to {
        font-size: var(--print-font-size-small) !important;
        line-height: 1.3 !important;
        color: var(--print-text-primary) !important;
        display: block !important;
        margin-bottom: 6pt !important;
    }
    
    .subject-text,
    .message-content,
    .to-text {
        color: var(--print-text-primary) !important;
        background: none !important;
    }
    
    /* Lists */
    ul, ol {
        margin: var(--print-spacing-base) 0 !important;
        padding-left: 18pt !important;
    }
    
    li {
        margin-bottom: var(--print-spacing-small) !important;
        font-size: var(--print-font-size-base) !important;
        line-height: 1.3 !important;
    }
    
    /* Images and media - reduced to half size */
    img,
    .pond-video {
        max-width: 50% !important;
        height: auto !important;
        page-break-inside: avoid;
        border: 1pt solid var(--print-border-primary) !important;
        display: block !important;
        margin: 0 auto var(--print-spacing-base) auto !important;
    }
    
    .image-section {
        text-align: center !important;
        margin-bottom: var(--print-spacing-large) !important;
    }
    
    .image-section img,
    .image-section a img {
        max-width: 50% !important;
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
    }
    
    .image-caption {
        font-size: var(--print-font-size-small) !important;
        font-style: italic !important;
        color: var(--print-text-primary) !important;
        margin-top: var(--print-spacing-xl) !important;
        text-align: center !important;
        page-break-before: avoid !important;
        display: block !important;
        width: 50% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    
    /* Quotes and testimonials with left borders */
    .testimonial,
    .pull-quote,
    .village-quote {
        background: var(--print-background-secondary) !important;
        border-left: 2pt solid var(--print-border-primary) !important;
        margin: var(--print-spacing-base) 0 !important;
        padding: var(--print-spacing-base) var(--print-spacing-large) !important;
        font-style: italic !important;
        font-size: var(--print-font-size-base) !important;
        color: var(--print-text-primary) !important;
        line-height: var(--print-line-height) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        page-break-inside: avoid;
    }
    
    .pull-quote {
        border-left-width: 3pt !important;
        font-size: 11pt !important;
    }
    
    .testimonial::before,
    .testimonial::after {
        display: none !important;
    }
    
    .testimonial-attribution,
    .pull-quote cite {
        font-style: normal !important;
        font-size: var(--print-font-size-small) !important;
        color: var(--print-text-primary) !important;
        text-align: right !important;
        margin-top: 6pt !important;
    }
    
    .pull-quote cite {
        margin-top: var(--print-spacing-base) !important;
    }
    
    /* Contact info and form elements */
    .contact-info,
    .contact-item {
        font-size: var(--print-font-size-base) !important;
    }
    
    .contact-item {
        margin-bottom: 6pt !important;
        page-break-inside: avoid;
    }
    
    .contact-label {
        font-weight: bold !important;
        color: var(--print-text-primary) !important;
        margin-bottom: 2pt !important;
    }
    
    /* Page breaks */
    .section.letter,
    .section.alternatives {
        page-break-before: auto;
        page-break-after: auto;
    }
    
    h1, h2, h3 {
        page-break-after: avoid;
        orphans: 3;
        widows: 3;
    }
    
    /* Announcement banner - only show text on first page */
    .announcement-bar {
        position: static !important;
        background: #f0f0f0 !important;
        color: var(--print-text-primary) !important;
        padding: var(--print-spacing-base) !important;
        margin: 0 0 var(--print-spacing-large) 0 !important;
        border: 1pt solid var(--print-text-primary) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        transform: none !important;
        display: block !important;
        font-size: 11pt !important;
        text-align: center !important;
        page-break-after: avoid;
        page-break-inside: avoid;
    }
    
    /* Hide announcement bar when empty or when display is set to none */
    .announcement-bar:empty,
    .announcement-bar[style*="display: none"] {
        display: none !important;
    }
    
    /* Hide announcement bar on subsequent pages */
    .announcement-bar {
        page-break-before: avoid;
    }
    
    /* Use CSS to show announcement only on first page */
    @page :first {
        margin-top: 0.75in;
    }
    
    @page :not(:first) .announcement-bar {
        display: none !important;
    }
    
    /* Alternative approach using page counter */
    body {
        counter-reset: page-counter;
    }
    
    .announcement-content,
    .announcement-main,
    .announcement-text {
        position: static !important;
        background: none !important;
        color: #000 !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: center !important;
        font-weight: bold !important;
    }
    
    /* Ensure announcement text is readable */
    .announcement-text {
        font-size: 11pt !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-transform: none !important;
    }
    
    /* Clean up any remaining interactive elements */
    .calendar-btn,
    .hover-expand-btn,
    .copy-indicator {
        display: none !important;
    }
    
    /* Video containers */
    .video-container {
        page-break-inside: avoid;
    }
    
    .pond-video {
        border: 1pt solid #404040 !important;
        max-width: 50% !important;
        height: auto !important;
        display: block !important;
        margin: 0 auto !important;
    }
    
    /* Budget and miscellaneous text elements */
    .budget-subtitle,
    .email-signup-section,
    .email-signup-divider {
        color: var(--print-text-primary) !important;
        font-size: var(--print-font-size-base) !important;
    }
    
    .budget-subtitle {
        font-size: 11pt !important;
        margin: 0 0 var(--print-spacing-small) 0 !important;
    }
    
    .email-signup-section {
        margin-top: var(--print-spacing-large) !important;
        text-align: center !important;
        page-break-inside: avoid;
    }
    
    .budget-list {
        margin: 6pt 0 !important;
        padding-left: 18pt !important;
    }
    
    .budget-list li {
        margin-bottom: var(--print-spacing-small) !important;
        font-size: var(--print-font-size-base) !important;
    }
    
    /* Announcement history elements */
    .announcement-history-text {
        font-size: var(--print-font-size-base) !important;
        color: var(--print-text-primary) !important;
        font-style: italic !important;
        line-height: 1.3 !important;
        margin-bottom: 6pt !important;
    }
    
    .announcement-history-dates {
        font-size: var(--print-font-size-small) !important;
        color: var(--print-text-primary) !important;
    }
    
    /* Links in print with URLs */
    a[href^="http"]:after,
    a[href^="mailto"]:after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: var(--print-border-primary);
    }
    
    a[href^="#"]:after,
    a[href^="/"]:after {
        content: "";
    }
    
    /* Status indicators and badges */
    .status-badge,
    .seen-badge {
        background: #e0e0e0 !important;
        color: var(--print-text-primary) !important;
        border: 1pt solid var(--print-border-primary) !important;
        padding: 2pt var(--print-spacing-small) !important;
        font-size: 8pt !important;
        border-radius: 0 !important;
        margin: 2pt !important;
    }
    
    /* Fix Alpine.js elements for print */
    [x-data] {
        display: block !important;
    }
    
    /* Show contact info section content for print */
    .contact-info {
        display: block !important;
    }
    
    /* Hide Alpine.js template elements that don't render in print */
    template {
        display: none !important;
    }
    
    /* Ensure contact section shows in print */
    .contact-info {
        display: block !important;
    }
    
    /* Show print fallback content */
    .contact-info-print-fallback {
        display: block !important;
    }
    
    .contact-info-print-fallback .contact-item {
        display: block !important;
        margin-bottom: 8pt !important;
        font-size: 10pt !important;
        page-break-inside: avoid;
    }
    
    /* Contact info print fallback specific styles */
    .contact-info-print-fallback .contact-label {
        display: block !important;
        font-weight: bold !important;
        color: var(--print-text-primary) !important;
        margin-bottom: 2pt !important;
        font-size: var(--print-font-size-base) !important;
    }
    
    .contact-info-print-fallback .contact-value-row {
        display: block !important;
    }
    
    .contact-info-print-fallback .contact-link {
        font-size: var(--print-font-size-base) !important;
    }
    
    /* Cost breakdown table specific styles */
    .cost-breakdown-table td,
    .cost-description,
    .cost-amount,
    .cost-frequency {
        color: var(--print-text-primary) !important;
    }
    
    .cost-breakdown-table td {
        font-size: var(--print-font-size-base) !important;
        padding: var(--print-spacing-small) 0 !important;
    }
    
    .cost-amount {
        font-weight: bold !important;
    }
    
    .cost-frequency {
        font-style: italic !important;
    }
    
    .cost-disclaimer {
        color: var(--print-text-primary) !important;
        font-size: var(--print-font-size-small) !important;
    }
    
    /* Show collapsed email templates in print - but only for actual email, not interactive templates */
    .actual-email-template.collapsed .email-controls,
    .actual-email-template.collapsed .letter-content {
        display: block !important;
        max-height: none !important;
        overflow: visible !important;
        opacity: 1 !important;
    }
    
    .actual-email-template.collapsed .email-preview {
        display: block !important;
        margin-bottom: var(--print-spacing-base) !important;
        font-weight: bold !important;
        color: var(--print-text-primary) !important;
    }
    
    .actual-email-template.collapsed .hover-expand-btn {
        display: none !important;
    }
    
    /* Letter content formatting for print */
    .letter-content h3 {
        font-size: var(--print-font-size-heading) !important;
        color: var(--print-text-primary) !important;
        margin: var(--print-spacing-large) 0 var(--print-spacing-base) 0 !important;
        font-weight: bold !important;
    }
    
    .letter-content p {
        font-size: var(--print-font-size-base) !important;
        line-height: var(--print-line-height) !important;
        color: var(--print-text-primary) !important;
        margin-bottom: var(--print-spacing-base) !important;
    }
    
    .letter-content ul {
        margin: var(--print-spacing-base) 0 !important;
        padding-left: 18pt !important;
    }
    
    .letter-content li {
        font-size: var(--print-font-size-base) !important;
        line-height: var(--print-line-height) !important;
        color: var(--print-text-primary) !important;
        margin-bottom: var(--print-spacing-small) !important;
    }
    
    /* Hide interactive button in print, show clickable link instead */
    .email-trigger.button-style {
        display: none !important;
    }
    
    /* Show print-specific link with gray border */
    .email-print-link {
        display: inline-block !important;
        background: var(--print-background-primary) !important;
        color: var(--print-text-primary) !important;
        border: 2pt solid var(--print-border-primary) !important;
        padding: var(--print-spacing-base) var(--print-spacing-large) !important;
        border-radius: 0 !important;
        font-weight: bold !important;
        font-size: var(--print-font-size-base) !important;
        text-decoration: underline !important;
        box-shadow: none !important;
        transform: none !important;
        page-break-inside: avoid !important;
    }
    
    /* Ensure print links are visible by overriding inline styles */
    .email-print-link[style*="display: none"] {
        display: inline-block !important;
    }
    
    /* Hide email modal completely in print */
    .email-modal-overlay {
        display: none !important;
    }
    
    
    /* Hide copy indicators in print */
    .copy-indicator {
        display: none !important;
    }
}

/* Hide print-specific elements on screen */
@media screen {
    .print-header {
        display: none !important;
    }
    
    .email-print-link {
        display: none !important;
    }
}