/* ============================================================
   v129 — PREMIUM PRINT STYLESHEET
   ============================================================ */

@media print {
  /* === Page setup === */
  @page {
    size: A4;
    margin: 18mm 16mm 22mm 16mm;
    /* Bottom-center page number */
    @bottom-center {
      content: counter(page) " / " counter(pages);
      font-family: "Inter", sans-serif;
      font-size: 9pt;
      color: #78716c;
    }
    /* Top-right brand mark on every page */
    @top-right {
      content: "packzup.com";
      font-family: "Inter", sans-serif;
      font-size: 8pt;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #78716c;
    }
  }

  /* First page — no header (cleaner cover-like) */
  @page :first {
    @top-right { content: ""; }
    margin-top: 24mm;
  }

  /* === Color + typography reset for ink economy === */
  html, body {
    background: #fff !important;
    color: #1c1917 !important;
    font-size: 11pt !important;
    line-height: 1.55 !important;
    font-family: "Fraunces", "Georgia", "Times New Roman", serif !important;
    -webkit-print-color-adjust: economy;
    print-color-adjust: economy;
  }

  /* === Hide all chrome === */
  header, footer, nav, aside,
  #masthead, #colophon, .site-header, .site-footer,
  .pz-mob-bar, .pz-overlay-nav, .pz-search-overlay,
  .pz-mob-menu, .pz-mob-heart, .pz-mob-search,
  .pz-shortlist__head, .pz-shortlist__clear,
  .pz-explore__filters, .pz-explore__panel,
  .pz-fyt__nav, .pz-fyt__cta,
  .pz-compare__dropdown, .pz-smart-rec,
  .pz-pill, .pz-kicker, .pz-hero__badge,
  .pz-heart, .pz-heart-btn,
  .pz-btn--primary, .pz-btn--ghost,
  .pz-shortlist__cta,
  .ast-builder-menu, .ast-search-icon, .ast-mobile-menu-buttons,
  .ast-breadcrumbs-wrapper,
  .pz-ticker, .pz-moods,
  .pz-newsletter, .pz-exit-intent,
  .pz-affiliate-mid, .pz-gyg,
  .pz-author-bio, .pz-related,
  .pz-faq summary::-webkit-details-marker,
  .skip-link,
  iframe, video, audio,
  .pz-issue-badge,
  .ast-comment-respond {
    display: none !important;
  }

  /* === H1 / titles — display-size on paper too === */
  h1, .entry-title, .pz-page-h1, .pz-hero__h1,
  .pz-injected-h1 {
    font-family: "Fraunces", "Georgia", serif !important;
    font-size: 24pt !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 12pt !important;
    page-break-after: avoid;
    text-wrap: balance;
  }

  /* === Section H2s — never orphan from following paragraph === */
  h2, .entry-content h2 {
    font-family: "Fraunces", "Georgia", serif !important;
    font-size: 16pt !important;
    line-height: 1.2 !important;
    letter-spacing: -0.012em !important;
    margin: 18pt 0 8pt !important;
    page-break-after: avoid;
    page-break-before: auto;
  }

  /* === Subheadings === */
  h3, .entry-content h3 {
    font-family: "Fraunces", "Georgia", serif !important;
    font-size: 13pt !important;
    line-height: 1.25 !important;
    margin: 12pt 0 6pt !important;
    page-break-after: avoid;
  }

  /* === Body prose === */
  p, .entry-content p {
    margin: 0 0 8pt !important;
    orphans: 3;
    widows: 3;
    hyphens: auto;
  }

  /* === Premium URL display next to in-content links === */
  body.pz-clean-post .entry-content a[href]:not([href^="#"]):not([href*="packzup.com"]):after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    color: #78716c;
    font-style: italic;
    word-break: break-all;
  }
  /* But don't show URLs for internal links — keeps the doc clean */

  /* === Figure + image treatment === */
  figure, .wp-block-image, .pz-figure {
    page-break-inside: avoid;
    margin: 12pt 0 !important;
    text-align: center;
  }
  figure img, .wp-block-image img, .pz-figure img {
    max-width: 100% !important;
    max-height: 80vh !important;
    height: auto !important;
    object-fit: contain !important;
  }
  figcaption, .wp-element-caption {
    font-size: 9pt !important;
    color: #78716c !important;
    font-style: italic !important;
    margin-top: 4pt !important;
    text-align: center !important;
  }

  /* === Blockquote — magazine pull-quote treatment === */
  blockquote, .pz-pullquote {
    font-family: "Fraunces", "Georgia", serif !important;
    font-style: italic !important;
    font-size: 13pt !important;
    line-height: 1.4 !important;
    border-left: 2pt solid #c2410c !important;
    padding-left: 10pt !important;
    margin: 12pt 0 12pt 12pt !important;
    page-break-inside: avoid;
  }

  /* === Lists === */
  ul, ol {
    margin: 0 0 8pt 18pt !important;
  }
  li {
    margin: 0 0 3pt !important;
    page-break-inside: avoid;
  }

  /* === Tables === */
  table {
    border-collapse: collapse;
    width: 100% !important;
    margin: 8pt 0 !important;
    page-break-inside: avoid;
  }
  th, td {
    border-top: 0.5pt solid #d6d3d1 !important;
    border-bottom: 0.5pt solid #d6d3d1 !important;
    padding: 4pt 6pt !important;
    font-size: 10pt !important;
    text-align: left;
  }
  th {
    font-family: "Inter", sans-serif !important;
    font-weight: 600;
    background: transparent !important;
    border-bottom: 1pt solid #1c1917 !important;
  }

  /* === Code blocks === */
  pre, code {
    font-family: "Menlo", "Consolas", monospace !important;
    font-size: 9pt !important;
    background: #f5f5f4 !important;
    border: 0.5pt solid #d6d3d1 !important;
    padding: 6pt 8pt !important;
    page-break-inside: avoid;
  }

  /* === Article structure: avoid breaking certain elements === */
  .pz-faq__item, .pz-callout {
    page-break-inside: avoid;
    margin: 8pt 0 !important;
    padding: 6pt 10pt !important;
    border-left: 1pt solid #d6d3d1 !important;
  }

  /* === Container reset — full-width content on paper === */
  .ast-container, #primary, #main, .entry-content,
  body.pz-clean-post .entry-content > p,
  body.pz-clean-post .entry-content > h2,
  body.pz-clean-post .entry-content > h3 {
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* === Print-only attribution footer at end of article === */
  body.pz-clean-post .entry-content::after {
    content: "First-hand travel writing from packzup.com — independent, unsponsored.";
    display: block;
    margin-top: 18pt;
    padding-top: 8pt;
    border-top: 0.5pt solid #d6d3d1;
    font-family: "Inter", sans-serif;
    font-size: 8pt;
    color: #78716c;
    font-style: italic;
    text-align: center;
    letter-spacing: 0.08em;
  }

  /* === Force page break before each major H2 on long-form (optional —
     creates magazine-chapter feel if reader prints) === */
  body.pz-clean-post .entry-content h2 {
    page-break-before: auto;
    break-before: auto;
  }
}