/* print.css — separated stylesheet for Dra. Jaqueline Martins (job 03). */
@media print {
  /* Interactive-only chrome leaves the sheet: sticky header, nav, docked widgets. */
  .site-header,
  .main-nav,
  .menu-toggle,
  .header-whatsapp,
  .skip-link,
  .whatsapp-fab,
  .cookie-card,
  .cookie-bar,
  .cookie-reopen,
  .map-consent,
  .testi-controls,
  .page-fan,
  .hero-glow,
  .portrait-fade,
  .book-shadow,
  .bp-close { display: none !important; }

  /* Map: show the address instead of an unprintable iframe. */
  .map-frame iframe { display: none !important; }

  /* Layout goes single-column; fixed dock spacing is irrelevant on paper. */
  html,
  body { overflow: visible !important; height: auto !important; }
  .page-scroll { height: auto !important; overflow: visible !important; }
  :root { --dock-space: 0px !important; --cookie-h: 0px !important; --header-h: 0px !important; }
  .page-scroll { scroll-behavior: auto !important; }

  /* Neutrals read better on paper than the dark site theme. */
  html { background: #fff !important; }
  body {
    margin: 0 !important;
    background: #fff !important;
    color: #1a1616 !important;
    font-size: clamp(11.5pt, 11.5pt, 11.5pt) !important;
    line-height: 1.5 !important;
  }
  h1, h2, h3 { color: #000 !important; page-break-after: avoid; break-after: avoid; }
  p, li, dd, figcaption, address, blockquote { color: #1a1616 !important; }
  strong { color: #000 !important; }

  /* Anything the page turns into a column below 900px collapses to one column. */
  .hero-grid,
  .method-grid,
  .location-grid,
  .about-grid,
  .footer-grid,
  .service-points,
  .first-time-grid,
  .quote-strip,
  .testi-track,
  .testi-viewport,
  .shelf,
  .shelf-row { display: block !important; }

  /* Shelf: in detail mode the panel already sits below the book; plain flow. */
  .shelf-stage { display: block !important; overflow: visible !important; }
  .book-card { width: 52mm !important; break-inside: avoid; page-break-inside: avoid; }
  .book-card:not(.is-selected) { display: none !important; }
  .book-panel { display: none !important; border: 0 !important; padding: 0 !important; background: none !important; }
  #estante[data-mode="detail"] .book-panel { display: block !important; }
  .front-cover { transform: none !important; }
  .testi-slide { break-inside: avoid; page-break-inside: avoid; }

  /* No raw dark gradients; all large surfaces print light. */
  .section,
  .section-soft,
  .section-dark,
  .section-cta,
  .hero,
  .site-footer,
  .footer-section,
  .cookie-card,
  .cookie-bar,
  .book-panel,
  .map-wrap,
  .map-consent,
  .testi-slide,
  .faq-item,
  .rating-badge,
  .book-card,
  .front-cover,
  .book-back,
  .page-block,
  .legal-content {
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
  }
  .section { padding: 10mm 0 !important; }
  .hero { padding-top: 4mm !important; min-height: 0 !important; }
  .container { width: 100% !important; }
  .hero-portrait, .about-photo-main, .about-photo-secondary, .about-copy { grid-area: auto !important; }
  .section-photo { max-width: 60mm !important; margin: 4mm 0 !important; }
  .section-photo img { max-height: 85mm !important; width: auto !important; object-fit: contain !important; }
  .testi-viewport { overflow: visible !important; }
  .testi-slide { min-height: 0 !important; margin-bottom: 5mm !important; padding: 4mm !important; }
  .section-cta, .legal-content { min-height: 0 !important; }
  .btn { padding: 2mm 0 !important; color: #1a1616 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
  .section::after, .hero::before, .shelf-row::after { display: none !important; }
  .testi-name, .testi-source, .eyebrow, .section-num, em, cite { color: #333 !important; }
  details::details-content { content-visibility: visible !important; display: block !important; }
  @page { margin: 16mm; }

  /* Show target URLs after external links (job requirement). */
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: clamp(8.5pt, 8.5pt, 8.5pt);
    color: #444 !important;
    overflow-wrap: anywhere;
  }
  a { color: #000 !important; text-decoration: underline; }
  /* Internal anchors are noise on paper. */
  a[href^="#"]::after { content: none; }

  /* Avoid orphaned captions and broken cards across pages. */
  figure,
  .section-photo,
  .book-card,
  .testi-slide,
  .inline-quote,
  .faq-item { break-inside: avoid; page-break-inside: avoid; }

  /* Reveal animations must not leave content invisible on paper. */
  .reveal { opacity: 1 !important; transform: none !important; }
  .js .reveal:not(.is-visible) { opacity: 1 !important; transform: none !important; }

  /* Details content must print expanded (summary markers off). */
  .faq-item > div { display: block !important; }
  details[open] summary ~ * { display: block !important; }
}
