/* BahnDeutsch — self-hosted locale fonts (no CDN, no system fallbacks)
 * fa: Estedad (display) + Vazirmatn (body)
 * de: Montserrat (display) + Inter (body)
 * ar: Cairo (display) + Tajawal (body)
 * en: Manrope (display) + Outfit (body)
 */

@font-face {
    font-family: "Vazirmatn";
    src: url("../typefaces/Vazirmatn-Regular.ttf?v=2") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../typefaces/Vazirmatn-Medium.ttf?v=2") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../typefaces/Vazirmatn-SemiBold.ttf?v=2") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Vazirmatn";
    src: url("../typefaces/Vazirmatn-Bold.ttf?v=2") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Estedad";
    src: url("../typefaces/Estedad-400.woff2?v=2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Estedad";
    src: url("../typefaces/Estedad-500.woff2?v=2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Estedad";
    src: url("../typefaces/Estedad-600.woff2?v=2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Estedad";
    src: url("../typefaces/Estedad-700.woff2?v=2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../typefaces/Montserrat-400.woff2?v=2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../typefaces/Montserrat-500.woff2?v=2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../typefaces/Montserrat-600.woff2?v=2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url("../typefaces/Montserrat-700.woff2?v=2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../typefaces/Inter-400.woff2?v=2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../typefaces/Inter-500.woff2?v=2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../typefaces/Inter-600.woff2?v=2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Inter";
    src: url("../typefaces/Inter-700.woff2?v=2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cairo";
    src: url("../typefaces/Cairo-400.woff2?v=2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cairo";
    src: url("../typefaces/Cairo-500.woff2?v=2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cairo";
    src: url("../typefaces/Cairo-600.woff2?v=2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Cairo";
    src: url("../typefaces/Cairo-700.woff2?v=2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Tajawal";
    src: url("../typefaces/Tajawal-400.woff2?v=2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Tajawal";
    src: url("../typefaces/Tajawal-500.woff2?v=2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Tajawal";
    src: url("../typefaces/Tajawal-700.woff2?v=2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Tajawal";
    src: url("../typefaces/Tajawal-700.woff2?v=2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("../typefaces/Manrope-400.woff2?v=2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("../typefaces/Manrope-500.woff2?v=2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("../typefaces/Manrope-600.woff2?v=2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Manrope";
    src: url("../typefaces/Manrope-700.woff2?v=2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Outfit";
    src: url("../typefaces/Outfit-400.woff2?v=2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Outfit";
    src: url("../typefaces/Outfit-500.woff2?v=2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Outfit";
    src: url("../typefaces/Outfit-600.woff2?v=2") format("woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Outfit";
    src: url("../typefaces/Outfit-700.woff2?v=2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --bd-font-display: "Manrope", "Outfit";
    --bd-font-body: "Outfit", "Manrope";
}

html.bd-locale-fa,
html[lang="fa-IR"],
html[lang^="fa"] {
    --bd-font-display: "Estedad", "Vazirmatn";
    --bd-font-body: "Vazirmatn", "Estedad";
}

html.bd-locale-de,
html[lang="de"],
html[lang^="de-"] {
    --bd-font-display: "Montserrat", "Inter";
    --bd-font-body: "Inter", "Montserrat";
}

html.bd-locale-ar,
html[lang="ar"],
html[lang^="ar-"] {
    --bd-font-display: "Cairo", "Tajawal";
    --bd-font-body: "Tajawal", "Cairo";
}

html.bd-locale-en,
html[lang="en"],
html[lang^="en-"] {
    --bd-font-display: "Manrope", "Outfit";
    --bd-font-body: "Outfit", "Manrope";
}

html,
body {
    font-family: var(--bd-font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.bd-font-display,
.bd-ui-title,
.bd-h-title {
    font-family: var(--bd-font-display);
}

.bd-a1-plan-app,
.bd-a2-plan-app,
.bd-b1-plan-app,
.bd-b2-plan-app,
.bd-home,
.bd-auth-wrapper,
.bd-profile-wrapper,
.bd-chatbot-page,
.bd-chatbot-gate,
.bd-chatroom,
.bahndeutsch-admin {
    font-family: var(--bd-font-body);
}

.bd-a1-plan-app h1,
.bd-a1-plan-app h2,
.bd-a1-plan-app h3,
.bd-a2-plan-app h1,
.bd-a2-plan-app h2,
.bd-a2-plan-app h3,
.bd-b1-plan-app h1,
.bd-b1-plan-app h2,
.bd-b1-plan-app h3,
.bd-b2-plan-app h1,
.bd-b2-plan-app h2,
.bd-b2-plan-app h3,
.bd-home h1,
.bd-home h2,
.bd-home h3,
.bd-home h4,
.bd-home h5,
.bd-home h6 {
    font-family: var(--bd-font-display);
}

/* Strict font policy — only approved locale stacks (icon fonts excluded). */
html.bd-font-lock,
body.bd-font-lock,
html.bd-font-lock body,
body.bd-font-lock {
    font-family: var(--bd-font-body) !important;
}

html.bd-font-lock :where(
    h1, h2, h3, h4, h5, h6,
    .bd-font-display,
    .bd-ui-title,
    .bd-h-title
),
body.bd-font-lock :where(
    h1, h2, h3, h4, h5, h6,
    .bd-font-display,
    .bd-ui-title,
    .bd-h-title
) {
    font-family: var(--bd-font-display) !important;
}

html.bd-font-lock :where(
    :not(i):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.dashicons):not([class*="fa-"])
),
body.bd-font-lock :where(
    :not(i):not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not(.fad):not(.dashicons):not([class*="fa-"])
) {
    font-family: inherit !important;
}

html.bd-font-lock button,
html.bd-font-lock input,
html.bd-font-lock select,
html.bd-font-lock textarea,
html.bd-font-lock optgroup,
body.bd-font-lock button,
body.bd-font-lock input,
body.bd-font-lock select,
body.bd-font-lock textarea,
body.bd-font-lock optgroup {
    font-family: inherit !important;
}
