/* ========================================
   Print Styles — All Pages
   ======================================== */
@media print {
    /* Hide non-essential elements */
    .main-nav,
    .nav-container,
    .back-to-top,
    .theme-toggle,
    .splash-screen,
    .hero-particles,
    .hero-scroll,
    .hero-cta,
    .nav-progress,
    .nav-toggle,
    .sidebar-units,
    .unit-actions .unit-detail-link,
    .fc-progress-dots,
    .flashcard-controls,
    .fc-stats,
    .quiz-footer,
    .quiz-progress-strip,
    .quiz-timer,
    .case-tabs,
    .mm-controls,
    .glossary-alpha,
    .glossary-search,
    .btn,
    button,
    .tool-filter,
    .bg-circle,
    footer,
    .main-footer {
        display: none !important;
    }

    /* Reset backgrounds */
    body,
    .tool-page,
    .unit-page,
    .section,
    .content-block,
    .unit-hero,
    .hero-section {
        background: white !important;
        color: #1a1a1a !important;
    }

    /* Ensure text is readable */
    * {
        color: #1a1a1a !important;
        text-shadow: none !important;
        box-shadow: none !important;
    }

    h1, h2, h3, h4, h5 {
        color: #0f172a !important;
        page-break-after: avoid;
    }

    /* Gradient text fix */
    .gradient-text {
        -webkit-text-fill-color: #6366f1 !important;
        background: none !important;
    }

    /* Print-friendly cards */
    .philosophy-card,
    .audience-card,
    .unit-card,
    .tool-card,
    .cert-card,
    .quiz-container,
    .info-box,
    .content-block,
    .rich-lesson,
    .glossary-item,
    .case-card,
    .flashcard-face,
    .rich-stat-card,
    .rich-keypoint,
    .rich-role-card,
    .rich-metric-card,
    .concept-card {
        background: #f8f8f8 !important;
        border: 1px solid #ddd !important;
        break-inside: avoid;
        page-break-inside: avoid;
    }

    /* Unit cards: show details */
    .unit-detail {
        display: block !important;
        max-height: none !important;
        opacity: 1 !important;
    }

    /* Rich lessons: expand all */
    .rich-lesson-body {
        display: block !important;
        max-height: none !important;
        overflow: visible !important;
        padding: 16px !important;
    }

    .rich-lesson-arrow {
        display: none !important;
    }

    /* Layout fixes */
    .container {
        max-width: 100% !important;
        padding: 0 !important;
    }

    .unit-layout {
        display: block !important;
    }

    .unit-sidebar {
        display: none !important;
    }

    .unit-main-content {
        width: 100% !important;
        max-width: 100% !important;
    }

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

    /* Links: show URL */
    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        color: #666 !important;
    }

    /* Certificate: special print */
    .cert-preview {
        border: 2px solid #6366f1 !important;
        break-inside: avoid;
    }

    /* Charts: ensure they print */
    canvas {
        max-width: 100% !important;
    }

    /* Page margins */
    @page {
        margin: 1.5cm;
    }
}

/* ========================================
   Accessibility Enhancements
   ======================================== */

/* Skip Navigation */
.skip-nav {
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    background: #6366f1;
    color: white;
    padding: 12px 24px;
    border-radius: 0 0 8px 8px;
    font-family: 'Tajawal', sans-serif;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    z-index: 10001;
    transition: top 0.3s ease;
}

.skip-nav:focus {
    top: 0;
    outline: 3px solid #06b6d4;
    outline-offset: 2px;
}

/* Focus Visible — Global */
*:focus-visible {
    outline: 3px solid rgba(99, 102, 241, 0.6);
    outline-offset: 3px;
    border-radius: 4px;
}

/* Focus styles for specific elements */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid rgba(99, 102, 241, 0.6);
    outline-offset: 3px;
}

/* Remove default outline only when not keyboard navigating */
*:focus:not(:focus-visible) {
    outline: none;
}

/* High contrast mode support */
@media (forced-colors: active) {
    .btn-primary,
    .btn-outline {
        border: 2px solid currentColor;
    }
    
    .progress-fill,
    .quiz-progress-fill {
        forced-color-adjust: none;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .splash-screen {
        display: none !important;
    }

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

/* Screen reader only */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Improve interactive element sizes for touch */
@media (pointer: coarse) {
    .nav-links a,
    .tool-filter,
    .case-tab,
    .fc-filter-btn,
    .glossary-alpha button {
        min-height: 44px;
        min-width: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}
