/* DM Sans – self-hosted */
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('/typo3conf/ext/bs_site/Resources/Public/Fonts/dm-sans-v17-latin-regular.woff2') format('woff2');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/typo3conf/ext/bs_site/Resources/Public/Fonts/dm-sans-v17-latin-regular.woff2') format('woff2');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/typo3conf/ext/bs_site/Resources/Public/Fonts/dm-sans-v17-latin-500.woff2') format('woff2');
}
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/typo3conf/ext/bs_site/Resources/Public/Fonts/dm-sans-v17-latin-700.woff2') format('woff2');
}

html body.theme-forest-mist {
    --color-primary-75:  #8FA8CE;
    --color-primary-100: #1B365D;
    --color-neutral-0:  #FFFFFF;
    --color-neutral-10: #EEF2F8;
    --color-neutral-20: #E2EAF4;
    --color-neutral-30: #C8D5E8;
    --color-neutral-40: #A8BCDA;
    --color-neutral-50: #8FA8CE;
    --color-neutral-60: #5E7FA8;
    --color-neutral-70: #2D4E7E;
    --color-neutral-80: #1B365D;
    --color-neutral-90: #0D1F38;
    --headline-family: 'DM Sans', sans-serif;
    --subline-family: 'DM Sans', sans-serif;
    --body-family: 'DM Sans', sans-serif;
    --title-family: 'DM Sans', sans-serif;
    --label-family: 'DM Sans', sans-serif;
}

/* Schrift direkt überschreiben */
h1, h2, h3, h4, h5, h6 {
    font-family: 'DM Sans', sans-serif !important;
}
body, p, a, li, td, input, textarea, button {
    font-family: 'DM Sans', sans-serif !important;
}

/* Sprache verstecken */
.language-menu,
.site-language-menu,
[class*="language"] {
    display: none !important;
}

/* Header Logo */
.header__logo svg,
.header__logo img {
    display: none !important;
}
.header__logo {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
}
.header__logo::before {
    content: "beckschreibt";
    font-size: 2.1rem;
    font-weight: 500;
    color: #ffffff;
    letter-spacing: -0.3px;
    line-height: 1.2;
}
.header__logo::after {
    content: "Presse | Text | Online";
    font-size: 1.0rem;
    font-weight: 300;
    color: rgba(255,255,255,0.75);
    letter-spacing: 0.5px;
    line-height: 1;
}

/* Footer Logo */
.footer__logo svg,
.footer__logo img {
    display: none !important;
}

.footer__logo {
    display: flex !important;
    flex-direction: row !important;
    align-items: baseline !important;
}
	.footer__logo::before {
    content: "beck";
    font-size: 1.4rem;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -0.3px;
}
.footer__logo::after {
    content: "schreibt";
    font-size: 1.4rem;
    font-weight: 300;
    color: #ffffff;
    letter-spacing: -0.3px;
}
	
	
	/* Footer Link-Pfeile entfernen */
.footer .link-list__arrow,
.footer .linklist__arrow,
.footer [class*="arrow"] {
    display: none !important;
}
	
	/* Nach-oben-Button */
.back-to-top {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    width: 44px;
    height: 44px;
    background: #1B365D;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    opacity: 0;
    transition: opacity 0.3s;
    z-index: 999;
    text-decoration: none;
}
.back-to-top.visible {
    opacity: 1;
}
.back-to-top:hover {
    background: #2D4E7E;
}
	
	/* Abstände zwischen Inhaltselementen verkleinern */
.content-element {
    --component-margin-vertical: 24px !important;
}
	
	/* Textbreite auf volle Breite */
.ce-bodytext p {
    max-width: 100% !important;
}
	
	.textpic__text,
.textpic__text p {
    max-width: 100% !important;
}
	
	[id] {
    scroll-margin-top: 120px;
}
	
	/* Formular Definitionen
	
	/* =========================
   CONTACT FORM FIXES
   ========================= */

.frame-type-form_formframework input,
.frame-type-form_formframework textarea {
  width: 100%;
  box-sizing: border-box;
}

.frame-type-form_formframework textarea {
  min-height: 220px;
}

.frame-type-form_formframework input[type="text"] {
  height: 48px;
}

.frame-type-form_formframework legend {
  display: none;
}
	
	body .frame-type-form_formframework form * {
  box-sizing: border-box !important;
}

body .frame-type-form_formframework input,
body .frame-type-form_formframework textarea,
body .frame-type-form_formframework select {
  width: 100% !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

body .frame-type-form_formframework input {
  height: 48px !important;
  padding: 10px 14px !important;
}

body .frame-type-form_formframework textarea {
  min-height: 240px !important;
  padding: 14px !important;
}

body .frame-type-form_formframework label {
  display: block !important;
  margin-bottom: 6px !important;
}

body .frame-type-form_formframework legend {
  display: none !important;
}
	
	/* Abstand vor Formular */
.frame-type-form_formframework {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.frame + .frame-type-form_formframework {
    margin-top: -2rem !important;
}
	
	/* Formular-Überschrift sichtbar machen */
.frame-type-form_formframework .frame-header {
    display: block !important;
}