/* ============================================
   9-PRINT.CSS
   
   Consolidated Print Stylesheet
   All @media print rules centralized for maintainability
   
   Guidelines:
   - Use !important for layout resets (print-specific)
   - Prefer CSS variables for colors (converted to black/white)
   - Avoid hardcoded colors - use design tokens
   ============================================ */

@media print {
  /* ---------------------------------------------------------
     1. BASE RESET - Layout & Typography
     --------------------------------------------------------- */
  
  * {
    background: transparent !important;
    color: var(--color-text, #000) !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  
  body {
    font-size: 11pt;
    line-height: 1.5;
    color: var(--color-text, #000);
    background: white;
  }
  
  /* ---------------------------------------------------------
     2. HIDE NON-ESSENTIAL ELEMENTS
     --------------------------------------------------------- */
  
  .block-left,
  .mobile-nav,
  .nav-bar,
  .header, 
  .footer, 
  .post-nav, 
  .related-posts, 
  .sidebar,
  .mobile-drawer,
  .skip-link,
  .resume__actions {
    display: none !important;
  }
  
  /* ---------------------------------------------------------
     3. LAYOUT RESET - Full width for paper
     --------------------------------------------------------- */
  
  .block-right,
  body, 
  .container, 
  .content,
  .resume {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: white !important;
    color: var(--color-text, #000) !important;
  }
  
  /* ---------------------------------------------------------
     4. TYPOGRAPHY - Readable print sizes
     --------------------------------------------------------- */
  
  h1 { font-size: 18pt; }
  h2 { font-size: 14pt; }
  h3 { font-size: 12pt; }
  
  .page-content h1,
  .post-content h1 { font-size: 18pt; }
  
  .page-content h2,
  .post-content h2 { font-size: 14pt; }
  
  .page-content h3,
  .post-content h3 { font-size: 12pt; }
  
  .page-content,
  .post-content {
    font-size: 11pt;
    line-height: 1.5;
  }
  
  /* Text readability */
  p, h1, h2, h3 {
    page-break-inside: avoid;
    orphans: 3;
    widows: 3;
  }
  
  h1, h2, h3, h4 {
    page-break-after: avoid;
  }
  
  pre, blockquote, img, figure {
    page-break-inside: avoid;
  }
  
  /* ---------------------------------------------------------
     5. LINKS - Expand URLs for print
     --------------------------------------------------------- */
  
  a {
    color: var(--color-text, #000) !important;
    text-decoration: underline;
  }
  
  a[href]::after {
    content: ' (' attr(href) ')';
    font-size: 0.8em;
    color: var(--color-text-secondary, #555);
  }
  
  /* Hide URL expansion for internal anchors */
  a[href^="#"]::after,
  a[href^="javascript:"]::after {
    content: '';
  }
  
  /* Resume-specific link handling */
  .resume__entry-title a,
  .resume__info-title a,
  .resume__publication-title a {
    text-decoration: none;
    border-bottom: none;
  }
  
  /* ---------------------------------------------------------
     6. POST-SPECIFIC STYLES
     --------------------------------------------------------- */
  
  .post-hero {
    margin: 0;
    break-inside: avoid;
  }
  
  .post-hero-image {
    aspect-ratio: auto;
    max-height: 300px;
  }
  
  .post-meta-bar,
  .post-links,
  .post-taxonomies,
  .toc,
  .post-nav {
    border-color: var(--color-border, #ddd);
  }
  
  .role-tag,
  .post-link {
    border: 1px solid var(--color-border, #ddd);
    background: none !important;
  }
  
  /* ---------------------------------------------------------
     7. RESUME-SPECIFIC STYLES
     --------------------------------------------------------- */
  
  .resume__header {
    padding-bottom: var(--space-md);
    margin-bottom: var(--space-md);
    border-bottom-color: var(--color-text, #000);
  }
  
  .resume__section {
    page-break-inside: avoid;
    margin-bottom: var(--space-md);
  }
  
  .resume__entry {
    page-break-inside: avoid;
    margin-bottom: var(--space-3);
    padding-bottom: var(--space-3);
  }
  
  .resume__avatar {
    border-color: var(--color-text, #000);
  }
  
  /* ---------------------------------------------------------
     8. KRAMDOWN IAL COMPATIBILITY
     --------------------------------------------------------- */
  
  /* Lead paragraph - Kramdown {:.lead} */
  .lead {
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-lg);
  }
  
  /* Figcaption - Kramdown {:.figcaption} */
  .figcaption {
    text-align: center;
    font-size: var(--text-sm);
    color: var(--color-text-secondary);
    margin-top: var(--space-2);
    margin-bottom: var(--space-lg);
    font-style: italic;
  }
  
  .figcaption + .figcaption {
    margin-top: calc(-1 * var(--space-md));
  }
  
  /* Note callouts - Kramdown {:.note} */
  .note {
    background: var(--color-info-bg);
    border-left: 4px solid var(--color-info);
    padding: var(--space-md);
    margin: var(--space-lg) 0;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
  }
  
  .note-title {
    font-weight: 600;
    display: block;
    margin-bottom: var(--space-2);
    color: var(--color-info);
  }
  
  /* Table of Contents - Kramdown {:toc} */
  .toc {
    background: var(--color-bg-secondary);
    padding: var(--space-md);
    border-radius: var(--radius-md);
    margin: var(--space-lg) 0;
    border: 1px solid var(--color-border-subtle);
  }
  
  .toc::before {
    content: 'Contents';
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: var(--text-lg);
    display: block;
    margin-bottom: var(--space-3);
    padding-bottom: var(--space-2);
    border-bottom: 1px solid var(--color-border-subtle);
  }
  
  .toc ul {
    list-style: none;
    padding-left: var(--space-4);
    margin-bottom: 0;
  }
  
  .toc > ul {
    padding-left: 0;
  }
  
  /* ---------------------------------------------------------
     9. COMPONENT OVERRIDES
     --------------------------------------------------------- */
  
  hr.divider--ornament::after,
  hr.divider--dots::after {
    background: white;
  }
  
  /* Ensure alerts/callouts print clearly */
  .alert,
  .callout {
    border: 1px solid var(--color-border);
    background: var(--color-bg-secondary) !important;
  }
  
  /* Cards should have visible borders in print */
  .card {
    border: 1px solid var(--color-border);
    box-shadow: none !important;
  }
}
