/* =====================================================================
   BB BASE – globale Typografie, Container, Fokus, Skip-Link
   Gilt site-weit (Relaunch-Design-System). Quelle: Mockup Navy v2.
   ===================================================================== */

body {
  font-family: var(--bb-sans);
  font-weight: 400;
  background: var(--bb-paper);
  color: var(--bb-ink);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4,
.wp-block-heading {
  font-family: var(--bb-serif);
  color: var(--bb-navy);
  font-weight: 500;
  line-height: 1.15;
}

a { color: var(--bb-navy); }

/* Kadence-Inhalts-Hintergrund exakt auf Mockup-Paper ziehen
   (überschreibt .content-bg / .site = --global-palette9), damit transparente
   Sektionen wie Hero/Format/Zielgruppe/CTA auf #f8f6f1 sitzen. */
body.content-style-unboxed .content-bg,
body.content-style-unboxed .site,
.content-bg {
  background: var(--bb-paper);
}

/* Innen-Container (1240px) – für eigene Sektionen */
.bb-container {
  max-width: var(--bb-container);
  margin: 0 auto;
  padding: 0 40px;
}

/* Generischer Seitenkopf für Unterseiten (Navy, Mockup-Sektionslogik) */
.bb-page-head { padding: 110px 0 20px; }
.bb-page-head .bb-section-label { display: block; }
.bb-page-head h1 {
  font-family: var(--bb-serif); font-size: clamp(40px, 5vw, 60px); font-weight: 500;
  line-height: 1.1; color: var(--bb-navy); margin: 12px 0 22px;
}
.bb-page-head h1 em { font-style: italic; color: var(--bb-brass-deep); }
.bb-page-head .bb-lead { font-size: 18px; color: var(--bb-ink-soft); max-width: 620px; line-height: 1.7; }

/* Generischer Inhalts-/Prosabereich für Unterseiten */
.bb-page-body { padding: 20px 0 110px; }
.bb-page-body .bb-prose { max-width: 760px; font-size: 18px; line-height: 1.8; color: var(--bb-ink-soft); }
.bb-page-body .bb-prose p + p { margin-top: 22px; }

/* Platzhalter-Box für noch fehlende Team-Inhalte (klar markiert, nichts erfunden) */
.bb-page-placeholder {
  max-width: 760px; border: 1px dashed var(--bb-line); background: var(--bb-cream);
  padding: 28px 32px; color: var(--bb-muted); font-size: 16px; line-height: 1.7;
}
.bb-page-placeholder strong { color: var(--bb-label); }

/* Sichtbarer Fokus für Tastatur-Navigation (WCAG 2.4.7) */
a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--bb-navy);
  outline-offset: 3px;
  border-radius: 1px;
}
/* Auf dunklem Grund Brass-Outline */
.bb-quote a:focus-visible,
.bb-hero-card a:focus-visible,
.bb-footer a:focus-visible,
.bb-final-cta a:focus-visible {
  outline-color: var(--bb-brass-light);
}

/* Skip-Link */
.bb-skip-link {
  position: absolute;
  left: 16px;
  top: -60px;
  background: var(--bb-navy);
  color: var(--bb-cream);
  padding: 12px 20px;
  z-index: 200;
  text-decoration: none;
  font-size: 14px;
  transition: top 0.2s;
}
.bb-skip-link:focus { top: 16px; }

@media (max-width: 600px) {
  .bb-container { padding: 0 24px; }
}

/* ===== Über uns – Intro + Team (Paper/Navy-v2, hell) ===== */
.bb-ueber-intro { max-width: 760px; margin: 0 auto; text-align: center; }
.bb-ueber-intro .bb-lead {
  font-family: var(--bb-serif); font-size: clamp(24px, 3vw, 30px); font-style: italic;
  line-height: 1.4; color: var(--bb-navy); margin-bottom: 24px;
}
.bb-ueber-intro p { font-size: 18px; line-height: 1.8; color: var(--bb-ink-soft); }
.bb-ueber-intro p + p { margin-top: 22px; }

.bb-team { padding: 30px 0 90px; }
.bb-team-header { text-align: center; margin-bottom: 60px; }
.bb-team-header .bb-section-label { display: block; }
.bb-team-header .bb-section-title {
  font-family: var(--bb-serif); font-size: clamp(30px, 3.2vw, 38px);
  font-weight: 500; color: var(--bb-navy); line-height: 1.15; margin-top: 8px;
}
.bb-team-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 56px 40px; max-width: 1180px; margin: 0 auto; align-items: start;
}
.bb-team-member { text-align: center; }
.bb-team-photo {
  width: 180px; height: 180px; border-radius: 50%; object-fit: cover;
  display: block; margin: 0 auto 22px;
  border: 1px solid var(--bb-brass);
  box-shadow: 0 18px 40px -18px rgba(15, 39, 68, 0.35);
}
.bb-team-photo-placeholder {
  width: 180px; height: 180px; border-radius: 50%; margin: 0 auto 22px;
  display: flex; align-items: center; justify-content: center;
  border: 1px dashed var(--bb-brass); background: var(--bb-cream);
  color: var(--bb-label);
  font-family: var(--bb-serif); font-style: italic; font-size: 16px;
}
.bb-team-name {
  font-family: var(--bb-serif); font-size: 25px; font-weight: 600;
  color: var(--bb-navy); margin-bottom: 4px; line-height: 1.2;
}
.bb-team-role {
  font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--bb-label); font-weight: 600; margin-bottom: 14px;
}
.bb-team-bio {
  font-size: 15px; line-height: 1.7; color: var(--bb-ink-soft);
  max-width: 280px; margin: 0 auto; text-align: justify;
  -webkit-hyphens: auto; hyphens: auto;
}
.bb-team-bio--placeholder { font-style: italic; color: var(--bb-label); text-align: center; }
@media (max-width: 560px) {
  .bb-team-grid { grid-template-columns: 1fr; gap: 44px; }
  .bb-team-bio { max-width: 360px; }
}

/* ===== Archiv – vergangene Treffen (Karten-Raster, hell) ===== */
.bb-archiv-intro { max-width: 720px; margin: 0 auto 56px; text-align: center; }
.bb-archiv-intro .bb-lead {
  font-family: var(--bb-serif); font-size: clamp(22px, 2.6vw, 28px); font-style: italic;
  line-height: 1.45; color: var(--bb-navy); margin-bottom: 18px;
}
.bb-archiv-intro p { font-size: 17px; line-height: 1.75; color: var(--bb-ink-soft); }

.bb-archiv-year {
  font-family: var(--bb-serif); font-size: 30px; font-weight: 600; color: var(--bb-navy);
  margin: 56px 0 26px; padding-bottom: 10px; border-bottom: 1px solid var(--bb-line);
}
.bb-archiv-year:first-of-type { margin-top: 0; }
.bb-archiv-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 28px;
}
.bb-archiv-card {
  background: var(--bb-cream); border: 1px solid var(--bb-line);
  border-top: 3px solid var(--bb-brass); padding: 28px 28px 30px;
  display: flex; flex-direction: column;
}
.bb-archiv-date {
  font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--bb-label); font-weight: 600; margin-bottom: 14px;
}
.bb-archiv-topic {
  font-family: var(--bb-serif); font-size: 22px; font-weight: 600; line-height: 1.25;
  color: var(--bb-navy); margin-bottom: 16px;
}
.bb-archiv-topic--placeholder { font-style: italic; font-weight: 500; color: var(--bb-label); }
.bb-archiv-speaker {
  margin-top: auto; padding-top: 14px; border-top: 1px solid var(--bb-line);
}
.bb-archiv-speaker strong {
  display: block; font-family: var(--bb-serif); font-size: 19px; font-weight: 600;
  color: var(--bb-navy); font-style: italic; line-height: 1.2;
}
.bb-archiv-speaker span { font-size: 14px; color: var(--bb-ink-soft); line-height: 1.4; }
@media (max-width: 600px) {
  .bb-archiv-grid { grid-template-columns: 1fr; }
}

/* ===== Rechtstexte – Struktur-Gerüst (Entwurf, Team/Anwalt füllt) ===== */
.bb-legal { max-width: 760px; }
.bb-legal-note {
  border: 1px dashed var(--bb-brass); background: var(--bb-cream);
  padding: 16px 20px; margin-bottom: 40px; font-size: 15px; line-height: 1.6;
  color: var(--bb-label);
}
.bb-legal-note strong { color: var(--bb-brass-deep); }
.bb-legal h2 {
  font-family: var(--bb-serif); font-size: 24px; font-weight: 600; color: var(--bb-navy);
  margin: 36px 0 6px; line-height: 1.2;
}
.bb-legal h2:first-of-type { margin-top: 0; }
.bb-legal .bb-legal-hint {
  font-size: 14px; color: var(--bb-muted); line-height: 1.6; margin: 0 0 8px;
}
.bb-legal .bb-legal-fill {
  font-style: italic; color: var(--bb-label); font-size: 15px;
  border-left: 2px solid var(--bb-line); padding-left: 14px; margin: 0;
}
