@page { size: A4; margin: 16mm; }
@media print {
  :root { --rail: 0px; --header-height: 0px; }
  html { scroll-behavior: auto; }
  body, body:has(.cookie-bar:not([hidden])) { display: block; margin: 0; background: white; color: black; font: 10pt/1.5 Georgia, serif; }
  .site-header, .skip-link, .whatsapp-fab, .cookie-bar, .cookie-bar:not([hidden]), .menu-toggle, .testi-controls, .bp-close, .contact-form, .map-container, .section-num, noscript { display: none; }
  main, .site-footer, .cookie-bar { margin: 0; }
  .container, .header-inner { width: 100%; max-width: none; margin: 0; }
  .section, .bg-hero, .bg-dark, .bg-soft, .bg-institutional, .bg-cta, .site-footer, .quote-card, .info-card, .topic-notes, .book-panel, .testi-slide { background: white; color: black; box-shadow: none; border: 0; }
  .section, .hero, body:has(.cookie-bar:not([hidden])) .hero, .legal-page main, .error-page main { min-height: 0; padding: 7mm 0; display: block; }
  .section::after, .footer-bottom::before { display: none; }
  .section-head { max-width: none; margin-bottom: 5mm; }
  h1, h2, .display, .hero-title { font-size: 23pt; letter-spacing: 0; }
  h3, #bp-title { font-size: 16pt; }
  .bg-dark .section-head .display, .bg-institutional .section-head .display { background: none; color: black; -webkit-text-fill-color: black; }
  .hero .lead, .hero-location, .credentials, .bg-soft .credentials, .rating-badge strong, .step-num, #bp-kicker, #bp-note, .footer-bottom { color: black; }
  .lead { font-size: 12pt; }
  h1, h2, h3, summary { break-after: avoid; }
  p, li { orphans: 3; widows: 3; }
  .hero-grid, .acolhimento-grid, .topic-grid, .split-grid, .research-grid, .cards-grid, .process-steps, .agendar, .footer-grid { display: block; }
  .prose { max-width: none; }
  .quote-card, .info-card, .topic-notes, .process-steps li { padding: 4mm 0; margin-bottom: 4mm; break-inside: avoid; }
  .photo-frame, .hero-figure, .consultorio-figure, .institutional-figure { width: 55mm; max-width: 55mm; margin: 5mm auto; break-inside: avoid; }
  .photo-frame img { border: 0; border-radius: 0; height: auto; object-fit: cover; }
  .photo-frame figcaption { font-size: 8pt; }
  .agendar { padding: 6mm 0; margin-top: 8mm; border-radius: 0; }
  .btn, .btn-primary, .btn-secondary { display: inline; padding: 0; border: 0; border-radius: 0; background: none; color: black; box-shadow: none; font-weight: normal; }
  a { color: black; text-decoration: underline; overflow-wrap: anywhere; }
  a[href^="http"]::after, a[href^="tel:"]::after { content: " (" attr(href) ")"; font-size: 8pt; font-weight: normal; overflow-wrap: anywhere; }
  a[href$=".html"]::after { content: " (" attr(href) ")"; font-size: 8pt; }
  .hero-actions, .rating-badge { display: block; }
  .hero-actions a { display: block; margin-bottom: 3mm; }
  /* All six volumes remain a simple list, even if a detail was open. */
  #shelf, .shelf-stage, #shelf[data-mode="detail"] .shelf-stage, .shelf-row, #shelf[data-mode="detail"] .shelf-row { display: block; padding: 0; margin: 0; border: 0; box-shadow: none; perspective: none; overflow: visible; }
  #shelf .book-card, #shelf[data-mode="detail"] .book-card:not(.is-selected), #shelf[data-mode="detail"] .book-card.is-selected { display: block; width: 100%; max-width: none; padding: 4mm 0; break-inside: avoid; perspective: none; }
  #shelf .book, #shelf .front-cover { display: block; position: static; min-height: 0; height: auto; padding: 0; border: 0; border-radius: 0; background: none; color: black; transform: none; transform-style: flat; }
  #shelf[data-mode="shelf"] .book-card:nth-child(n) .front-cover, #shelf[data-mode="detail"] .front-cover { transform: none; min-height: 0; }
  #shelf .book-shadow, #shelf .book-back, #shelf .page-block, #shelf .page-fan, #shelf .cover-badge { display: none; }
  .cover-kicker, .cover-title, .cover-sub, .cover-foot { display: block; padding: 0; margin: 0 0 2mm; color: black; }
  #shelf .cover-title, #shelf[data-mode="detail"] .cover-title { font-size: 16pt; }
  .cover-title br { display: none; }
  .cover-kicker, .cover-foot { font-size: 8pt; }
  .cover-sub { font-size: 10pt; }
  #shelf .book-panel { position: static; padding: 4mm 0; margin-bottom: 4mm; }
  .testi, .testi-viewport, .testi-track { display: block; overflow: visible; scroll-snap-type: none; height: auto; max-height: none; border-radius: 0; padding: 0; }
  .testi-slide { display: block; width: 100%; padding: 4mm 0; margin-bottom: 4mm; border-bottom: 1px solid #999; border-radius: 0; break-inside: avoid; }
  .testi-slide blockquote { font-size: 11pt; margin-bottom: 3mm; }
  .testi-slide figcaption { font-size: 9pt; }
  .faq-item { break-inside: avoid; }
  .faq-item summary { padding: 3mm 0; font-size: 12pt; }
  .faq-item::details-content { content-visibility: visible; display: block; }
  .faq-answer { display: block; padding: 0; }
  .footer-grid > div, .footer-grid nav { margin-bottom: 4mm; }
  .footer-bottom { padding: 4mm 0; margin: 0; }
}
