/* Kleine Helfer. Was mehrfach gebraucht wird, gehört in components.css,
   was einmal gebraucht wird, in sections.css. */

.mt-0 { margin-top: 0; }
.mb-0 { margin-bottom: 0; }
.mb-3 { margin-bottom: var(--space-3); }
.mb-4 { margin-bottom: var(--space-4); }
.mt-4 { margin-top: var(--space-4); }
.mt-5 { margin-top: var(--space-5); }
.mt-6 { margin-top: var(--space-6); }

.text-center { text-align: center; }
.text-center p { margin-inline: auto; }
.muted { color: var(--color-text-muted); }
.lead { font-size: var(--type-lead-size); line-height: var(--type-lead-line); }
.klein { font-size: var(--type-klein-size); line-height: var(--type-klein-line); color: var(--color-text-muted); }

/* Breite Inhalte scrollen in ihrem eigenen Kasten, die Seite selbst nie. */
.scroll-x { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Schwarzer Platzhalter in der Zielauflösung, wo ein Bild fehlt. Jeder gehört
   in docs/material-anforderungen.md. */
.platzhalter {
    position: relative;
    display: grid;
    place-items: center;
    background: #111;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-align: center;
    padding: var(--space-3);
}
.platzhalter::after { content: attr(data-mass); font-variant-numeric: tabular-nums; }

/* Nur im Druck sichtbar: Logo und Firmenangaben des AGB-PDFs. */
.print-logo, .print-fuss { display: none; }

/* Druck und PDF-Export (AGB als PDF): nur der Inhalt, ohne Kopfzeile, Fußbereich und Schaltflächen. */
@media print {
    .site-header, .site-footer, .call-fab, .skip-link, .brotkrumen, .no-print { display: none !important; }
    html, body { background: #fff !important; color: #000; font-size: 10.5pt; }
    .seitenkopf-schlicht { padding: 0 0 12pt; background: none; border: 0; }
    .prose { max-width: none; padding-block: 0; }
    .prose h2 { break-after: avoid; margin-top: 16pt; }
    .prose p, .prose li { break-inside: avoid; }
    .reveal { opacity: 1 !important; transform: none !important; }
    a { color: inherit; text-decoration: underline; }
    .print-logo { display: block; width: 52mm; height: auto; margin: 0 0 8mm; }
    .print-fuss { display: block; margin-top: 14pt; padding-top: 8pt; border-top: 1px solid #999; font-size: 8.5pt; color: #444; }
}
