/* Feuille autonome: papier clair, liens explicites, aucune interface fixe. */
@page { size: A4; margin: 18mm; }
@media print {
  :root { color-scheme: light; --cookie-space: 0px; --cookie-h: 0px; }
  *, *::before, *::after { box-shadow: none !important; text-shadow: none !important; animation: none !important; transition: none !important; }
  html, body { height: auto !important; margin: 0; overflow: visible !important; background: white !important; color: #221B18 !important; scroll-behavior: auto; }
  body { font-size: clamp(10pt, 1rem, 12pt); line-height: 1.5; }
  .site-shell { height: auto !important; overflow: visible !important; }
  .site-header, .menu-toggle, .cookie-bar, .cookie-bar[hidden], .whatsapp-fab, .skip-link, .testi-controls, .book-close, .shelf-row, .book-panel, .contact-form, #privacy-settings, #cena-3d { display: none !important; }
  .section, .site-footer, .legal-main { padding: 8mm 0; min-height: 0; background: white !important; color: #221B18; overflow: visible; }
  .section::before, .section::after, .footer-credit::before { display: none; }
  .container { width: 100%; max-width: none; }
  h1, h2, h3, p, a, em, span, small, blockquote, address, summary, figcaption, .brand, .caption, .credentials, .section-num, .doctor-quote { color: #221B18 !important; }
  h1, .hero h2 { font-size: clamp(22pt, 2rem, 28pt); }
  h2 { font-size: clamp(18pt, 1.75rem, 22pt); margin: 0 0 5mm; }
  h3 { font-size: clamp(13pt, 1.25rem, 16pt); }
  h1, h2, h3, summary { break-after: avoid; }
  p, li, blockquote { orphans: 3; widows: 3; }
  .hero h2 em { background: none; -webkit-text-fill-color: #221B18; }
  .hero-copy { opacity: 1; transform: none; max-width: none; }
  .hero-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 8mm; }
  .hero-portrait { width: 100%; max-width: 55mm; }
  .hero-portrait img { mask-image: none; border-radius: 0; object-fit: contain; }
  .split-grid, .footer-grid { display: block; }
  .steps, .treatment-grid, .aftercare-list, .book-texts { display: grid !important; grid-template-columns: 1fr 1fr; gap: 5mm; }
  .steps li, .treatment-grid li, .aftercare-list li, .address-card, .testi-slide, .book-texts article { break-inside: avoid; background: white !important; border-color: #7E5F47; padding: 4mm; }
  .shelf-stage, #estante[data-mode="detail"] .shelf-stage { display: none; }
  .book-texts[hidden] { display: grid !important; }
  .testi-track { display: block; overflow: visible; padding: 0; }
  .testi-slide { display: block; margin-bottom: 4mm; }
  .testi-slide blockquote { font-size: clamp(11pt, 1rem, 12pt); }
  .rating-badge, .button { display: inline-block; color: #221B18; background: white !important; border: 1px solid #7E5F47; backdrop-filter: none; padding: 2mm; }
  .hero .button::after { position: static; display: inline; content: " (" attr(href) ")"; height: auto; background: none; transform: none; font-size: clamp(8pt, .75rem, 10pt); overflow-wrap: anywhere; }
  a[href]::after { content: " (" attr(href) ")"; font-family: var(--sans, sans-serif); font-size: clamp(8pt, .75rem, 10pt); font-weight: 400; overflow-wrap: anywhere; }
  a[href^="#"]::after, a[href^="javascript:"]::after { content: none; }
  a { text-decoration: underline; }
  .about-photos { grid-template-columns: 1fr 1fr; gap: 5mm; margin-block: 5mm; }
  img { max-height: 65mm; object-fit: contain; break-inside: avoid; }
  details { break-inside: avoid; }
  details::details-content { content-visibility: visible; height: auto; }
  details > :not(summary) { display: block !important; }
  details p { padding: 0; }
  summary { list-style: none; padding-block: 3mm; }
  .site-footer nav { display: block; }
  .site-footer nav a { display: block; min-height: 0; margin-bottom: 3mm; }
}
