/* Basis für alle Bausteine — wird einmal pro Seite eingebunden. */
.bb { font-family: var(--t-schrift); color: var(--t-text); background: var(--t-bg); line-height: 1.65; }
.bb * { box-sizing: border-box; margin: 0; }
.bb-wrap { max-width: var(--t-breite); margin: 0 auto; padding: var(--t-raum-5) var(--t-raum-3); }
.bb h1, .bb h2, .bb h3 { font-family: var(--t-schrift-kopf); line-height: 1.2; letter-spacing: -0.01em; }
.bb h2 { font-size: clamp(26px, 4vw, 38px); margin-bottom: var(--t-raum-2); }
.bb-eyebrow { font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--t-akzent); font-weight: 600; margin-bottom: var(--t-raum-1); }
.bb-lead { color: var(--t-muted); font-size: 17px; max-width: 640px; }
.bb-btn { display: inline-block; padding: 13px 26px; border-radius: var(--t-radius); background: var(--t-akzent); color: var(--t-akzent-text); text-decoration: none; font-weight: 600; border: 1px solid var(--t-akzent); cursor: pointer; font-size: 15px; }
.bb-btn-leise { background: transparent; color: var(--t-text); border-color: var(--t-linie); }
.bb-karte { background: var(--t-flaeche); border: 1px solid var(--t-linie); border-radius: var(--t-radius); padding: var(--t-raum-3); }
.bb-badge { display: inline-block; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--t-linie); color: var(--t-muted); }
@media (max-width: 720px) { .bb-wrap { padding: var(--t-raum-4) var(--t-raum-2); } }
