/*
 * betterbedesign – Lokale Fonts (DSGVO-konform, kein Google-Server-Kontakt)
 * Plus Jakarta Sans: Überschriften (400, 500, 600, 700)
 * Inter: Fließtext (400, 500)
 */

/* Plus Jakarta Sans – latin-ext (Umlaute ä ö ü etc.) */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-latin-ext-400.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-latin-ext-500.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-latin-ext-600.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-latin-ext-700.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Plus Jakarta Sans – latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-latin-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-latin-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-latin-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/plus-jakarta-sans-latin-700.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter – latin-ext (Umlaute) */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-latin-ext-400.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-latin-ext-500.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Inter – latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/inter-latin-400.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/inter-latin-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ============================================================
   BASE RESET
   ============================================================ */
* { box-sizing: border-box; }
body { margin: 0; padding: 0; }

/* ============================================================
   TYPOGRAFIE-SYSTEM – nur Frontend (nicht Elementor-Editor)
   ============================================================ */
:root {
  --bbd-font-heading: 'Plus Jakarta Sans', system-ui, sans-serif;
  --bbd-font-body:    'Inter', system-ui, sans-serif;
}

/* Scoped: greift nur auf der echten Seite, nicht im Elementor-Panel */
.elementor-page body,
body:not(.elementor-editor-active) {
  font-family: var(--bbd-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: var(--bbd-text-primary);
}

.elementor-page h1, .elementor-page h2, .elementor-page h3,
.elementor-page h4, .elementor-page h5, .elementor-page h6,
body:not(.elementor-editor-active) h1,
body:not(.elementor-editor-active) h2,
body:not(.elementor-editor-active) h3,
body:not(.elementor-editor-active) h4,
body:not(.elementor-editor-active) h5,
body:not(.elementor-editor-active) h6 {
  font-family: var(--bbd-font-heading);
  color: var(--bbd-text-primary);
  margin-top: 0;
}

body:not(.elementor-editor-active) h1 { font-size: 52px; font-weight: 700; line-height: 1.1; }
body:not(.elementor-editor-active) h2 { font-size: 40px; font-weight: 700; line-height: 1.15; }
body:not(.elementor-editor-active) h3 { font-size: 32px; font-weight: 600; line-height: 1.2; }
body:not(.elementor-editor-active) h4 { font-size: 24px; font-weight: 600; line-height: 1.3; }
body:not(.elementor-editor-active) h5 { font-size: 20px; font-weight: 600; line-height: 1.35; }
body:not(.elementor-editor-active) h6 { font-size: 17px; font-weight: 600; line-height: 1.4; }

.bbd-lead {
  font-family: var(--bbd-font-body);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
}

small, .bbd-caption {
  font-family: var(--bbd-font-body);
  font-size: 14px;
  color: var(--bbd-text-muted);
  line-height: 1.6;
}

/* Nur eigene BBD-Button-Klasse, keine globalen button/nav-Overrides */
.bbd-btn {
  font-family: var(--bbd-font-heading);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
