/* Catalog: jedes Quadrat = eine Seite 210 × 210 mm. Im Browser öffnen → Drucken → PDF. */
@page { size: 210mm 210mm; margin: 0; }
html { scroll-snap-type: none; }
body.catalog { --sq: 210mm; --pad: 14mm; background: #fff; color: #111; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
body.catalog .sq { width: 210mm; height: 210mm; margin: 0 auto; border: 0; break-after: page; page-break-after: always; overflow: hidden; }

/* Deckblatt: schwarz, nur das Logo */
body.catalog .sq-cover { background: #000; color: #fff; align-items: center; justify-content: center; }
body.catalog .logo-cover { height: 11mm; margin: 0; }

/* Kein Scroll-Theater im Druck: Bilder sofort sichtbar, keine Masken, kein Zoom */
body.catalog .sq figure img, body.catalog .proj-img img, body.catalog .article img { clip-path: none !important; transform: none !important; opacity: 1 !important; transition: none !important; }
body.catalog .sq figure .cap { opacity: 1 !important; transform: none !important; }
body.catalog .sq-home .toc-group { opacity: 1; transform: none; animation: none; }
body.catalog .is-draft::before { display: none; }
body.catalog .sq-link, body.catalog .catalog-btn, body.catalog .download, body.catalog .proj-video { display: none; }

/* Textseiten, Projekte und Artikel dürfen über mehrere Seiten laufen */
/* Lange Seiten: als Block, damit der Browser sie über mehrere Seiten umbrechen kann (Flex/Grid-Container brechen nicht) */
body.catalog .sq-project, body.catalog .sq-article, body.catalog .sq-page, body.catalog .layout-grid { display: block; height: auto; min-height: 210mm; overflow: visible; break-inside: auto; page-break-inside: auto; }
body.catalog .sq-project .proj-bottom { display: block; }
body.catalog .sq-project .proj-row { margin-bottom: 12px; }
body.catalog .layout-grid figure { display: block; height: auto; }
body.catalog .layout-grid img { display: block; margin-bottom: 10px; max-height: 180mm; break-inside: avoid; page-break-inside: avoid; }
body.catalog .article p, body.catalog .proj-text p { orphans: 3; widows: 3; }
body.catalog .proj-img, body.catalog .md-img, body.catalog .proj-row { break-inside: avoid; page-break-inside: avoid; }
body.catalog .sq-title { height: 210mm; padding-top: 14mm; }
body.catalog .sq-home { height: 210mm; padding-top: 14mm; }
body.catalog .toc { font-size: 15pt; }
body.catalog .cap { font-size: 8.5pt; }
body.catalog .article { font-size: 11pt; }

@media screen {
  body.catalog { background: #ddd; padding: 20px 0; }
  body.catalog .sq { background: #fff; margin-bottom: 20px; box-shadow: 0 2px 12px rgba(0,0,0,.15); }
  body.catalog .sq-cover { background: #000; }
}
