/* 
 * myFinancialTracker — Print Stylesheet
 * Optimizes pages for printing: hides interactive elements, 
 * ensures readability, and removes backgrounds/shadows.
 */

@media print {
    /* Hide interactive and decorative elements */
    header,
    footer,
    .burger,
    .mobile-menu-toggle,
    .hero-bg,
    .hero-grid,
    .hero-orb,
    .page-hero-bg,
    .page-hero-orb,
    .page-hero-grid,
    .bento-glow,
    .coach-glow,
    .about-glow,
    .phone-glow,
    .float-card,
    .btn,
    .faq-card input,
    .legal-accordion-item input,
    .mft-auth-dialog,
    .mft-auth-dialog::backdrop,
    .mft-nav-session,
    .mft-nav-auth-slot,
    .login-container,
    .support-form-card .btn,
    .mft-user-cancel-btn,
    .mft-user-invite-form,
    .mft-user-danger-zone .btn,
    .social-icons,
    .footer-social,
    .footer-links .column-divider {
        display: none !important;
    }

    /* Ensure content is visible */
    body {
        background: white !important;
        color: black !important;
        font-size: 12pt;
        line-height: 1.5;
        margin: 0;
        padding: 0;
    }

    main {
        margin-top: 0 !important;
        padding-bottom: 0 !important;
        background: white !important;
    }

    .page-content {
        padding-bottom: 0 !important;
        background: white !important;
    }

    /* Remove backgrounds, shadows, and transforms */
    * {
        background: transparent !important;
        background-color: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
    }

    /* Ensure text is readable */
    h1, h2, h3, h4, h5, h6 {
        color: black !important;
        page-break-after: avoid;
        page-break-inside: avoid;
    }

    p, li, blockquote {
        color: black !important;
        orphans: 3;
        widows: 3;
    }

    a {
        color: black !important;
        text-decoration: underline;
    }

    /* Show link URLs after links */
    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        font-weight: normal;
    }

    /* Keep cards and sections readable */
    .card,
    .bento-card,
    .pricing-card,
    .pricing-card--standalone,
    .testimonial-card,
    .faq-card,
    .legal-accordion-item,
    .support-form-card,
    .support-info-card,
    .mft-user-card,
    .mft-account-section,
    .mft-account-profile-bar,
    .coach-card-glass,
    .about-glass-card,
    .family-card {
        border: 1px solid #ccc !important;
        border-radius: 4px !important;
        padding: 1rem !important;
        margin-bottom: 1rem !important;
        page-break-inside: avoid;
    }

    /* Ensure tables print properly */
    .mft-data-table {
        border-collapse: collapse !important;
        border: 1px solid #ccc !important;
    }

    .mft-data-table th,
    .mft-data-table td {
        border: 1px solid #ccc !important;
        padding: 0.5rem !important;
    }

    /* Hero section adjustments */
    .hero-section,
    .page-hero {
        padding: 1rem 0 !important;
        min-height: auto !important;
    }

    .hero-container {
        grid-template-columns: 1fr !important;
    }

    .hero-visual {
        display: none !important;
    }

    /* Ensure images don't break across pages */
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }

    /* FAQ accordion — show all answers */
    .faq-card-answer {
        max-height: none !important;
        overflow: visible !important;
    }

    .faq-card-answer-inner {
        padding: 0.5rem 0 !important;
    }

    /* Legal accordion — show all answers */
    .legal-accordion-answer {
        max-height: none !important;
        overflow: visible !important;
    }

    .legal-accordion-answer-inner {
        padding: 0.5rem 0 !important;
    }

    /* Page breaks */
    .page-section {
        page-break-inside: avoid;
    }

    .page-hero {
        page-break-after: avoid;
    }

    /* Ensure proper spacing */
    .section-container {
        padding: 0 !important;
        max-width: 100% !important;
    }

    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
}
