/*
 Theme Name:   Boschvandermeulen
 Description:  Boschvandermeulen
 Author:       HR Entwicklung & Design
 Author URI:   https://www.hr-entwicklung-design.de
 Template:     hello-elementor
 Version:      3.5.1
 Text Domain:  Smart Energy Services
*/

/* ==============================
   Ropa Sans
   ============================== */

@font-face {
    font-family: 'Ropa Sans';
    src: url('/fonts/ropa-sans-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ==============================
   Archivo
   ============================== */

@font-face {
    font-family: 'Archivo';
    src: url('/fonts/archivo-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Archivo';
    src: url('/fonts/archivo-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Archivo';
    src: url('/fonts/archivo-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ==============================
   Typografie
   ============================== */

body {
  font-family: 'Archivo', sans-serif;
  font-weight: 400 !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
  color: #101214 !important;
}

h1 {
  font-family: 'Archivo', sans-serif;
  font-weight: 700 !important;
  font-size: 66px !important;
  line-height: 1.03 !important;
  letter-spacing: -0.035em !important;
}

h2 {
  font-family: 'Archivo', sans-serif;
  font-weight: 700 !important;
  font-size: 42px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.028em !important;
}

h3 {
  font-family: 'Archivo', sans-serif;
  font-weight: 700 !important;
  font-size: 28px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
}

h4 {
  font-family: 'Archivo', sans-serif;
  font-weight: 700 !important;
  font-size: 20px !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
}

/* Lead (Einleitungstext) – 18px / 1.6 / Regular 400 */
/* Small (Kleintext)      – 14px / 1.55 / Regular 400 */

/* Eyebrow (Abschnittsmarke, z. B. "04 — LEISTUNGEN")
   IBM Plex Mono · 12px · Regular 400 · letter-spacing 0.14em · uppercase · #1C7A9C */

/* Tag (z. B. "GESUNDHEITSWESEN")
   IBM Plex Mono · 11px · Regular 400 · letter-spacing 0.08em · uppercase */

/* Kennzahl (z. B. "20+")
   IBM Plex Mono · 30px · Medium 500 · line-height 1 · #BE9229 */

/* Schriftschnitte Archivo: Regular 400 · Medium 500 · Semibold 600 · Bold 700 */


/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  h1 { font-size: 52px; }
  h2 { font-size: 36px; }
  h3 { font-size: 24px; }
}


/* ---------- Mobil ---------- */

@media (max-width: 767px) {
  body {
    font-size: 15px;
  }

  h1 {
    font-size: 38px;
    line-height: 1.08;
    letter-spacing: -0.03em;
  }

  h2 {
    font-size: 28px;
    line-height: 1.15;
    letter-spacing: -0.022em;
  }

  h3 {
    font-size: 22px;
    line-height: 1.25;
  }

  h4 {
    font-size: 18px;
  }

  /* Lead mobil:     16px */
  /* Small mobil:    13px */
  /* Eyebrow mobil:  11px · letter-spacing 0.12em */
  /* Tag mobil:      10px */
  /* Kennzahl mobil: 24px */
}


/* Hervorhebungen / Zwischentitel */
.text-semibold {
    font-family: 'Archivo', sans-serif;
    font-weight: 500;
}

/* Kennzahlen, starke Akzente */
.text-extrabold {
    font-family: 'Archivo', sans-serif;
    font-weight: 700;
}

/* Buttons */
.elementor-button,
button,
input[type="submit"] {
    font-family: 'Archivo', sans-serif;
}

html {
  scroll-padding-top: 100px;
}

@media (max-width: 767px) {
  html {
    scroll-padding-top: 80px;
  }
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

body > footer,
.elementor-location-footer,
#site-footer {
  margin-top: auto;
}

/* Sprachumschalter: EN | NL eng beisammen */
.elementor-nav-menu--main .elementor-nav-menu li.lang-item > a.elementor-item {
    padding-left: 4px !important;
    padding-right: 4px !important;
    margin: 0 !important;
}

/* Trennstrich vor dem zweiten (und jedem weiteren) Sprach-Eintrag */
.elementor-nav-menu--main .elementor-nav-menu li.lang-item + li.lang-item::before {
    content: "|";
    align-self: center;
    opacity: 0.5;
}

/* Mehr Abstand zwischen Menü und Sprachumschalter */
.elementor-nav-menu--main .elementor-nav-menu li.lang-item:first-of-type,
.elementor-nav-menu--main .elementor-nav-menu li:not(.lang-item) + li.lang-item {
    margin-left: 24px !important;
}

/* Standard: nur deutscher Button sichtbar */
.btn-lang-en,
.btn-lang-nl {
    display: none !important;
}

/* Englisch */
html:lang(en) .btn-lang-de,
html:lang(nl) .btn-lang-de {
    display: none !important;
}
html:lang(en) .btn-lang-en {
    display: block !important;
}

/* Niederländisch */
html:lang(nl) .btn-lang-nl {
    display: block !important;
}