/*
 * TEN IT Divi Child – Basis-Layout.
 * Struktur (Grid/Flex/Positionierung) nachgebaut aus dem
 * TEN-IT-Master-Theme, Farben/Feinschliff aus dessen tenit.css (Abschnitt
 * "TEN IT Skin" weiter unten, unverändert übernommen).
 */

:root {
    --ik-container: 1680px;
    --ik-header-height: 88px;
    --ik-radius-sm: 8px;
    --ik-transition: .2s ease;
    --ik-white: #fff;
    --ik-dark: #111315;
    --ik-line: #e4e1dc;
    --ik-shadow-soft: 0 20px 50px rgba(20, 20, 20, .12);
    --ik-font: 'Poppins', -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--ik-font); }
.ik-button, .ik-header-nav-label,
.ik-mega-menu__headline, .ik-mega-menu__title, .tenit-brand-logo {
    font-family: var(--ik-font);
    font-weight: 700;
}
.ik-primary-nav__list > li > a { font-family: var(--ik-font); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }

.ik-skip-link {
    position: absolute;
    left: -999px;
    top: auto;
    z-index: 10000;
    padding: 12px 18px;
    background: #111315;
    color: #fff;
    text-decoration: none;
}
.ik-skip-link:focus { left: 16px; top: 16px; }

.ik-container {
    width: min(calc(100% - 48px), var(--ik-container));
    margin-inline: auto;
}

/* Buttons */
.ik-button {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 13px 19px;
    color: #fff;
    background: #111315;
    border: 1px solid #111315;
    border-radius: var(--ik-radius-sm);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: color var(--ik-transition), background var(--ik-transition), border-color var(--ik-transition), transform var(--ik-transition);
}
.ik-button:hover { transform: translateY(-1px); }
.ik-button__arrow { display: inline-block; transition: transform var(--ik-transition); }
.ik-button:hover .ik-button__arrow { transform: translateX(3px); }
.ik-button--secondary { color: #111315; background: transparent; border-color: #bdc5cf; }
.ik-button--header { min-height: 44px; padding: 11px 15px; }

/* Topbar */
.tenit-topbar { background: #000000; color: #fff; font-size: 13px; line-height: 1; }
.tenit-topbar__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.tenit-topbar__contact, .tenit-topbar__actions { display: flex; align-items: center; gap: 20px; }
.tenit-topbar a { color: #fff; text-decoration: none; font-weight: 700; }
.tenit-topbar__remote { display: inline-flex; align-items: center; gap: 8px; }
.tenit-topbar__remote::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #e89a22; box-shadow: 0 0 0 4px rgba(232,154,34,.13); }

/* Header - schwebende, abgerundete Karte vor dunklem Rahmen (wie Original) */
.ik-site-header-frame {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #111315;
    padding: 0;
}
.ik-site-header {
    position: relative;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
    margin-bottom: -30px;
}
.ik-site-header__inner {
    display: grid;
    min-height: var(--ik-header-height);
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 24px;
    padding-block: 8px;
    padding-inline: 12px;
}
.ik-site-branding { min-width: 190px; }
.tenit-brand-logo, .custom-logo-link { display: inline-flex; align-items: center; text-decoration: none; }
.tenit-brand-logo img, .custom-logo { display: block; width: auto; height: 52px; max-width: 220px; }

.ik-primary-nav { justify-self: end; }
.ik-primary-nav__list, .ik-primary-nav__list ul { padding: 0; margin: 0; list-style: none; }
.ik-primary-nav__list { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); }
.ik-primary-nav__list > li { position: relative; }
.ik-primary-nav__list > li > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    min-height: 48px;
    justify-content: center;
    color: #111315;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}
.ik-header-nav-icon svg { width: 19px; height: 19px; }
.ik-primary-nav__list > li > a:hover,
.ik-primary-nav__list > li.current-menu-item > a,
.ik-primary-nav__list > li.current-menu-ancestor > a { color: #c77d0c; }

/* Standard-Dropdown (ohne Mega-Menü) */
.ik-primary-nav__list .sub-menu {
    position: absolute;
    top: calc(100% - 1px);
    left: -20px;
    width: 270px;
    padding: 12px;
    margin: 0;
    visibility: hidden;
    opacity: 0;
    background: #fff;
    border: 1px solid var(--ik-line);
    border-radius: 12px;
    box-shadow: var(--ik-shadow-soft);
    transform: translateY(8px);
    transition: opacity var(--ik-transition), transform var(--ik-transition), visibility var(--ik-transition);
}
.ik-primary-nav__list li:hover > .sub-menu,
.ik-primary-nav__list li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.ik-primary-nav__list .sub-menu a { display: block; padding: 10px 12px; color: #111315; border-radius: 7px; text-decoration: none; }

/* Mega-Menü */
.ik-primary-nav__list > .ik-menu-mega { position: static; }
.ik-primary-nav__list > .ik-menu-mega > .ik-mega-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    width: var(--ik-mega-width, 1280px);
    max-width: min(1500px, calc(100vw - 64px));
    padding: var(--ik-mega-padding, 14px);
    margin: 0;
    visibility: hidden;
    opacity: 0;
    display: grid;
    grid-template-columns: 280px repeat(var(--ik-mega-columns, 3), minmax(0, 1fr));
    grid-template-rows: auto auto;
    gap: var(--ik-mega-gap, 10px);
    background: #fff;
    border: 1px solid #e7e3dc;
    border-radius: 10px;
    box-shadow: 0 24px 65px rgba(0,0,0,.18);
    transform: translate(-50%, 8px);
    transition: opacity var(--ik-transition), transform var(--ik-transition), visibility var(--ik-transition);
}
.ik-primary-nav__list > .ik-menu-mega:hover > .ik-mega-menu,
.ik-primary-nav__list > .ik-menu-mega:focus-within > .ik-mega-menu,
.ik-primary-nav__list > .ik-menu-mega.is-mega-open > .ik-mega-menu {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0);
}
.ik-mega-menu__intro {
    grid-row: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 24px;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(145deg, var(--ik-mega-intro-1, #111315), var(--ik-mega-intro-2, #24272a));
}
.ik-mega-menu__eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #e89a22; }
.ik-mega-menu__headline { font-size: 20px; line-height: 1.25; }
.ik-mega-menu__description { font-size: 13px; opacity: .85; }
.ik-mega-menu__overview { margin-top: auto; color: #fff; font-weight: 700; text-decoration: none; display: inline-flex; gap: 6px; }
.ik-mega-menu__item > a {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    border-radius: 7px;
    border: 1px solid transparent;
    text-decoration: none;
    color: #111315;
}
.ik-mega-menu__item > a:hover { border-color: #efd8b3; background: #fff8ec; }
.ik-mega-menu__icon { display: grid; place-items: center; width: 34px; height: 34px; flex: none; border-radius: 8px; color: #b56e05; background: #fff3df; }
.ik-mega-menu__icon svg { width: 18px; height: 18px; }
.ik-mega-menu__title { display: block; font-weight: 700; font-size: 14px; }
.ik-mega-menu__item-description { display: block; font-size: 12.5px; color: #6b6f73; margin-top: 2px; }
.ik-mega-menu__arrow { margin-left: auto; align-self: center; }
.ik-mega-menu__cta {
    grid-column: 2 / -1;
}
.ik-mega-menu__cta > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 8px;
    text-decoration: none;
    background: linear-gradient(105deg, var(--ik-mega-cta-1, #e89a22), var(--ik-mega-cta-2, #f3ad3f));
    color: #111315;
}
.ik-mega-menu__cta strong { display: block; }
.ik-mega-menu__cta small { display: block; font-weight: 400; opacity: .85; }
.is-mega-hidden { display: none; }

/* Mobile-Toggle */
.ik-nav-toggle {
    display: none;
    min-width: 48px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 10px;
    color: #111315;
    background: transparent;
    border: 1px solid var(--ik-line);
    border-radius: 8px;
}
.ik-nav-toggle__icon { display: grid; width: 21px; gap: 4px; }
.ik-nav-toggle__icon span { display: block; height: 2px; background: currentColor; }
.ik-nav-backdrop { position: fixed; inset: 0; z-index: 900; background: rgba(17,19,21,.45); }
.ik-nav-backdrop[hidden] { display: none; }
/* Wird per JS nur fuer die mobile Akkordeon-Navigation eingefuegt (siehe
   navigation.js addSubmenuToggles). Ohne diese Regel zeigt der Browser
   seine Standard-Button-Optik - das waren die kleinen "Pillen" unter
   Loesungen/Services. */
.ik-submenu-toggle { display: none; }

@media (max-width: 1180px) {
    .tenit-topbar { display: none; }
    .ik-nav-toggle { display: inline-flex; }
    .ik-header-action { display: none; }
    .ik-primary-nav {
        position: fixed;
        inset: 0;
        z-index: 950;
        justify-self: auto;
        background: #111315;
        padding: 90px 24px 24px;
        overflow-y: auto;
        transform: translateX(100%);
        transition: transform var(--ik-transition);
    }
    .ik-primary-nav.is-open { transform: translateX(0); }
    .ik-primary-nav__list { flex-direction: column; align-items: stretch; gap: 4px; }
    .ik-primary-nav__list > li { display: flex; align-items: center; }
    .ik-primary-nav__list > li > a { flex: 1; flex-direction: row; justify-content: flex-start; color: #fff; padding: 12px 4px; }
    .ik-submenu-toggle {
        display: inline-grid;
        flex: none;
        width: 40px;
        height: 40px;
        margin-left: 8px;
        place-items: center;
        color: #fff;
        background: rgba(255,255,255,.1);
        border: 0;
        border-radius: 8px;
        cursor: pointer;
    }
    .ik-submenu-toggle span {
        width: 8px;
        height: 8px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
        transition: transform .18s ease;
    }
    .ik-submenu-toggle[aria-expanded="true"] span { transform: rotate(225deg); }
    .ik-primary-nav__list .sub-menu,
    .ik-primary-nav__list > .ik-menu-mega > .ik-mega-menu {
        position: static;
        visibility: visible;
        opacity: 1;
        transform: none;
        width: auto;
        max-width: none;
        display: none;
        grid-template-columns: 1fr;
        box-shadow: none;
        border: 0;
        background: transparent;
        margin: 0 0 8px 12px;
    }
    .menu-item-has-children.is-submenu-open > .sub-menu,
    .menu-item-has-children.is-submenu-open > .ik-mega-menu { display: grid; }
    .ik-mega-menu__intro { background: transparent; padding: 8px 0; color: #fff; }
    .ik-mega-menu__item > a { color: #fff; }
    .ik-mega-menu__item-description { color: #b8babd; }
}

/* Hero */
.ik-vb-section { padding-block: clamp(64px, 8vw, 108px); }
.ik-vb-inner--standard { position: relative; }
.ik-vb-eyebrow { display: block; margin: 0 0 16px; }
.ik-vb-title { margin: 0 0 20px; overflow-wrap: break-word; word-break: break-word; }
/*
 * Wichtig: ten_it_render_title() schachtelt das eigentliche h1/h2/h3 IN
 * .ik-vb-title bzw. .ik-vb-item-title. Ohne diesen Reset greift die
 * Browser-Vorgabe (z.B. h1 { font-size: 2em }) und verdoppelt effektiv
 * jede gesetzte Schriftgröße - Ursache des überlaufenden Hero-Titels.
 */
.ik-vb-title h1, .ik-vb-title h2, .ik-vb-title h3, .ik-vb-title h4, .ik-vb-title h5, .ik-vb-title h6,
.ik-vb-item-title h1, .ik-vb-item-title h2, .ik-vb-item-title h3, .ik-vb-item-title h4, .ik-vb-item-title h5, .ik-vb-item-title h6 {
    margin: 0;
}
.ik-vb-lead { max-width: 620px; }
.ik-vb-hero-grid { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(380px, 0.85fr); gap: clamp(40px, 6vw, 90px); align-items: center; }
.ik-vb-hero-content { max-width: 780px; }
.ik-vb-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.ik-vb-media { position: relative; min-height: 380px; border-radius: 14px; overflow: hidden; background: #fff; }
.ik-vb-media img { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 900px) {
    .ik-vb-hero-grid { grid-template-columns: 1fr; }
    .ik-vb-media { aspect-ratio: 4/3; }
}


/* Back to top */
.ik-back-to-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 800;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: 0;
    background: #e89a22;
    color: #111315;
    font-size: 18px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity var(--ik-transition), transform var(--ik-transition), visibility var(--ik-transition);
}
.ik-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }

/* ===================================================================
 * TEN IT Skin – unverändert aus assets/css/tenit.css des
 * TEN-IT-Master-Themes (v1.1.5) übernommen. Farben, Feinschliff,
 * Original-Hero-Layout.
 * =================================================================== */
:root{
  --ten-orange:#e89a22;
  --ten-orange-dark:#c77d0c;
  --ten-black:#111315;
  --ten-charcoal:#24272a;
  --ten-soft:#f5f5f2;
  --ten-line:#e4e1dc;
}
body.tenit-site{background:#fff;color:#17191b}
body.tenit-site .ik-primary-nav__list>li>a{position:relative}
body.tenit-site .ik-primary-nav__list>li>a::after{content:"";position:absolute;left:15px;right:15px;bottom:11px;height:2px;background:var(--ten-orange);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
body.tenit-site .ik-primary-nav__list>li>a:hover::after,
body.tenit-site .ik-primary-nav__list>li.current-menu-item>a::after,
body.tenit-site .ik-primary-nav__list>li.current-menu-ancestor>a::after{transform:scaleX(1)}
body.tenit-site .ik-button{font-weight:800;letter-spacing:-.01em;box-shadow:none}
body.tenit-site .ik-button--primary,
body.tenit-site .ik-header-action .ik-button--header{background:var(--ten-orange);border-color:var(--ten-orange);color:var(--ten-black)}
body.tenit-site .ik-button--primary:hover,
body.tenit-site .ik-header-action .ik-button--header:hover{background:var(--ten-black);border-color:var(--ten-black);color:#fff}
body.tenit-site .ik-vb-section.tenit-hero{background:var(--ten-black)!important;color:#fff;position:relative;overflow:hidden}
body.tenit-site .tenit-hero::before{content:"";position:absolute;right:-110px;top:-160px;width:430px;height:430px;border:1px solid rgba(232,154,34,.38);transform:rotate(45deg)}
body.tenit-site .tenit-hero::after{content:"";position:absolute;right:110px;bottom:-180px;width:260px;height:260px;background:var(--ten-orange);opacity:.06;transform:rotate(45deg)}
body.tenit-site .tenit-hero .ik-vb-hero-content{max-width:820px}
body.tenit-site .tenit-hero .ik-vb-title{max-width:640px;overflow-wrap:break-word;word-break:break-word}
body.tenit-site .tenit-hero .ik-vb-lead,
body.tenit-site .tenit-hero .ik-vb-lead p{max-width:710px}
body.tenit-site .tenit-hero .ik-vb-actions{margin-top:34px}
body.tenit-site .tenit-hero .ik-button--secondary{border-color:#4a4e52;color:#fff;background:transparent}
body.tenit-site .tenit-hero .ik-button--secondary:hover{border-color:var(--ten-orange);background:var(--ten-orange);color:var(--ten-black)}
body.tenit-site .ik-primary-nav__list>.ik-menu-mega>.ik-mega-menu{border-radius:10px;box-shadow:0 24px 65px rgba(0,0,0,.18);border:1px solid #e7e3dc;overflow:hidden;width:min(1500px,calc(100vw - 64px))}
body.tenit-site .ik-mega-menu__intro{background:linear-gradient(145deg,var(--ten-black),#24272a)!important}
body.tenit-site .ik-mega-menu__eyebrow{color:var(--ten-orange)!important}
body.tenit-site .ik-mega-menu__overview{color:#fff!important}
body.tenit-site .ik-primary-nav__list .ik-mega-menu__item>a{border-radius:7px;border:1px solid transparent}
body.tenit-site .ik-primary-nav__list .ik-mega-menu__item>a:hover{border-color:#efd8b3;background:#fff8ec!important}
body.tenit-site .ik-mega-menu__icon{color:#b56e05;background:#fff3df}
body.tenit-site .ik-primary-nav__list .ik-mega-menu__cta>a{background:linear-gradient(105deg,#e89a22,#f3ad3f)!important;color:var(--ten-black)!important}
body.tenit-site .ik-primary-nav__list .ik-mega-menu__cta strong,
body.tenit-site .ik-primary-nav__list .ik-mega-menu__cta small{color:var(--ten-black)!important}
body.tenit-site .ik-back-to-top{background:var(--ten-orange);color:var(--ten-black)}
body.tenit-site{--ik-container:1680px}

@media(max-width:1180px){
  body.tenit-site{--ik-container:1240px}
  .tenit-brand-logo img{height:43px}
  body.tenit-site .ik-primary-nav__list>li>a::after{display:none}
}
@media(max-width:760px){
  body.tenit-site .tenit-hero::before{right:-230px;top:-190px}
  body.tenit-site .tenit-hero::before,body.tenit-site .tenit-hero::after{width:220px;height:220px}
}

/* Original-Bilder (Startseiten-Hero etc.) */
body.tenit-site .tenit-original-image{width:100%;height:100%;display:block;object-fit:cover}
body.tenit-site .tenit-original-image--people{object-position:center center}
body.tenit-site .tenit-hero.tenit-home-hero{min-height:650px}

/* v1.1.4-Feinschliff: Startseiten-Hero ab Desktop, robuste Fassung. */
@media (min-width: 1181px) {
  body.tenit-site .ik-primary-nav__list>li>a::after{left:50%!important;right:auto!important;bottom:0!important;width:36px!important;height:2px!important;border-radius:999px;transform:translateX(-50%) scaleX(0)!important;transform-origin:center!important}
  body.tenit-site .ik-primary-nav__list>li>a:hover::after,
  body.tenit-site .ik-primary-nav__list>li.current-menu-item>a::after{transform:translateX(-50%) scaleX(1)!important}
  body.tenit-site .tenit-home-hero{position:relative;overflow:hidden;min-height:660px;padding-block:118px 88px!important}
  body.tenit-site .tenit-home-hero::before,
  body.tenit-site .tenit-home-hero::after{display:none!important}
  /* Grid deaktivieren - das Bild wird stattdessen absolut positioniert und
     laeuft bis zum echten Seitenrand aus (nicht nur bis zum Container). */
  body.tenit-site .tenit-home-hero .ik-vb-hero-grid{display:block!important}
  body.tenit-site .tenit-home-hero .ik-vb-hero-content{max-width:600px;padding-right:24px}
  body.tenit-site .tenit-home-hero .ik-vb-media{
    position:absolute;
    top:0; right:0; bottom:0;
    left:56%;
    width:auto;
    min-height:0;
    margin:0;
    border-radius:0;
    border-top-left-radius:160px;
    overflow:hidden;
  }
  body.tenit-site .tenit-home-hero .ik-vb-media img,
  body.tenit-site .tenit-home-hero .tenit-original-image{width:100%;height:100%;object-fit:cover;object-position:center center}
  body.tenit-site .ik-site-branding .custom-logo,
  body.tenit-site .tenit-brand-logo img{width:auto!important;height:70px!important;max-width:275px!important;max-height:70px!important;object-fit:contain}
  body.tenit-site .ik-header-action{display:flex!important;align-items:center!important}
  body.tenit-site .ik-header-action .ik-button--header{min-height:50px;padding:13px 21px}
}
@media (max-width: 1180px) {
  body.tenit-site .tenit-home-hero .ik-vb-media{border:0!important;box-shadow:none!important}
}

/* ===================================================================
 * v1.13.0 – Desktop-Feinschliff nach TEN-IT-Wunschansicht
 * =================================================================== */
@media (min-width: 1181px) {
  body.tenit-site {
    --ik-header-height: 116px;
  }

  body.tenit-site .ik-site-header-frame {
    background: #fff;
    padding: 0 !important;
  }

  body.tenit-site .ik-site-header {
    width: min(calc(100% - 104px), 1800px);
    margin: 0 auto;
    margin-bottom: 0;
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(26, 35, 45, .13);
  }

  body.tenit-site .ik-site-header__inner {
    min-height: 116px;
    padding-block: 0;
    padding-inline: 12px;
    gap: 24px;
  }

  body.tenit-site .ik-primary-nav__list {
    gap: 0;
  }

  body.tenit-site .ik-primary-nav__list > li > a {
    min-width: clamp(88px, 6.2vw, 114px);
    min-height: 116px;
    padding: 12px 10px 10px;
    gap: 8px;
    color: var(--ten-orange);
    font-size: 14px;
    line-height: 1.15;
  }

  body.tenit-site .ik-primary-nav__list > li > a:hover,
  body.tenit-site .ik-primary-nav__list > li.current-menu-item > a,
  body.tenit-site .ik-primary-nav__list > li.current-menu-ancestor > a {
    color: var(--ten-orange-dark);
    background: #fbfbfb;
  }

  body.tenit-site .ik-header-nav-icon {
    display: inline-grid;
    place-items: center;
  }

  body.tenit-site .ik-header-nav-icon svg {
    width: 30px;
    height: 30px;
    stroke-width: 1.65;
  }

  body.tenit-site .ik-primary-nav__list > li > a::after {
    bottom: 9px !important;
    width: 36px !important;
  }

  body.tenit-site .ik-header-action .ik-button--header {
    min-width: 230px;
    min-height: 50px;
    padding: 13px 20px;
    border-radius: 7px;
  }

  /* Startseiten-Hero: volle Breite wie in Bild 2. */
  body.tenit-site .tenit-home-hero {
    position: relative;
    min-height: 711px !important;
    padding: 0 !important;
    overflow: hidden;
    background: var(--ten-black) !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row {
    width: 100% !important;
    max-width: none !important;
    min-height: 711px;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 48% 52%;
    align-items: stretch;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:first-child {
    width: auto !important;
    margin-right: 0 !important;
    z-index: 4;
    display: flex;
    align-items: center;
    padding-left: clamp(38px, 4.3vw, 72px);
    padding-right: clamp(24px, 2.8vw, 44px);
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    width: auto !important;
    margin-right: 0 !important;
    display: flex;
    align-items: stretch;
    min-width: 0;
  }

  body.tenit-site .tenit-home-hero .ik-vb-hero-content {
    max-width: 760px;
    padding-right: 0;
  }

  body.tenit-site .tenit-home-hero .ik-vb-eyebrow {
    margin-bottom: 30px;
  }

  body.tenit-site .tenit-home-hero .ik-vb-title {
    max-width: 710px;
    margin-bottom: 30px;
  }

  body.tenit-site .tenit-home-hero .ik-vb-lead,
  body.tenit-site .tenit-home-hero .ik-vb-lead p {
    max-width: 760px;
    margin-bottom: 0;
  }

  body.tenit-site .tenit-home-hero .ik-vb-actions {
    margin-top: 30px;
  }

  body.tenit-site .tenit-home-hero .ik-button {
    min-height: 49px;
    padding: 13px 19px;
    font-size: 14px;
    border-radius: 7px;
  }

  body.tenit-site .tenit-home-hero .ik-vb-media {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 711px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden;
    z-index: 1;
    background: #dfe5ec;
  }

  body.tenit-site .tenit-home-hero .ik-vb-media .et_pb_image_wrap {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.tenit-site .tenit-home-hero .ik-vb-media img,
  body.tenit-site .tenit-home-hero .tenit-original-image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

@media (min-width: 1181px) and (max-width: 1450px) {
  body.tenit-site .ik-primary-nav__list > li > a {
    min-width: 88px;
    padding-inline: 7px;
  }
  body.tenit-site .ik-header-action .ik-button--header {
    min-width: 190px;
    padding-inline: 15px;
  }
  body.tenit-site .tenit-home-hero .ik-vb-title {
    max-width: 620px;
  }
}

/* v1.13.1: rechte Hero-Spalte auch ohne vorhandenes Divi-Bildmodul sichtbar. */
@media (min-width:1181px) {
  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    align-self:stretch;
    min-height:711px;
  }
}
@media (max-width:1180px) {
  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    min-height:360px;
  }
}


/* ===================================================================
 * v1.13.4 – mobiler Hero + austauschbares Hero-Bild
 * =================================================================== */

/* Das im Backend gewählte Hero-Bild liegt auf der rechten Spalte.
   Ein eventuell noch vorhandenes Divi-Bildmodul bleibt im Builder erhalten,
   wird im Frontend aber ausgeblendet, damit immer das Backend-Bild gilt. */
body.tenit-site .tenit-home-hero .ik-vb-media {
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 1180px) {
  body.tenit-site .ik-site-header-frame {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
    padding: 9px 12px;
  }

  body.tenit-site .ik-site-header {
    margin: 0;
    border-radius: 14px;
    box-shadow: 0 8px 24px rgba(26,35,45,.12);
  }

  body.tenit-site .ik-site-header__inner {
    width: 100%;
    min-height: 72px;
    padding: 8px 10px;
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
  }

  body.tenit-site .ik-site-branding {
    min-width: 0;
  }

  body.tenit-site .ik-site-branding .custom-logo,
  body.tenit-site .tenit-brand-logo img {
    width: auto !important;
    height: 46px !important;
    max-width: 210px !important;
    max-height: 46px !important;
    object-fit: contain;
  }

  body.tenit-site .ik-nav-toggle {
    display: inline-flex;
    justify-self: end;
    min-width: 48px;
    min-height: 44px;
    margin: 0;
  }

  body.tenit-site .tenit-home-hero {
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column;
    align-items: stretch !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:first-child {
    width: 100% !important;
    margin: 0 !important;
    padding: 54px 28px 48px !important;
    display: flex;
    align-items: center;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    width: 100% !important;
    min-height: 390px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  body.tenit-site .tenit-home-hero .ik-vb-hero-content {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding: 0 !important;
  }

  body.tenit-site .tenit-home-hero .ik-vb-eyebrow {
    margin: 0 0 20px;
  }

  body.tenit-site .tenit-home-hero .ik-vb-title {
    max-width: 680px;
    margin: 0 0 22px;
  }

  body.tenit-site .tenit-home-hero .ik-vb-lead,
  body.tenit-site .tenit-home-hero .ik-vb-lead p {
    max-width: 680px;
    margin: 0;
  }

  body.tenit-site .tenit-home-hero .ik-vb-actions {
    margin-top: 26px;
    gap: 12px;
  }
}

@media (max-width: 640px) {
  body.tenit-site .ik-site-header-frame {
    padding: 7px 8px;
  }

  body.tenit-site .ik-site-header__inner {
    min-height: 64px;
    padding: 7px 8px;
  }

  body.tenit-site .ik-site-branding .custom-logo,
  body.tenit-site .tenit-brand-logo img {
    height: 39px !important;
    max-width: 178px !important;
    max-height: 39px !important;
  }

  body.tenit-site .ik-nav-toggle__label {
    display: none;
  }

  body.tenit-site .ik-nav-toggle {
    width: 44px;
    min-width: 44px;
    height: 42px;
    min-height: 42px;
    padding: 9px;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:first-child {
    padding: 42px 20px 38px !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    min-height: 300px !important;
    background-position: 55% center !important;
  }


  body.tenit-site .tenit-home-hero .ik-vb-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  body.tenit-site .tenit-home-hero .ik-button {
    width: 100%;
    min-height: 48px;
  }
}


/* ===================================================================
 * v1.13.5 - mobiles Header- und Navigationslayout
 * =================================================================== */
@media (max-width: 1180px) {
  html,
  body.tenit-site {
    max-width: 100%;
    overflow-x: hidden;
  }

  body.tenit-site .ik-site-header-frame {
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
    width: 100% !important;
    padding: 0 !important;
    background: #111315 !important;
  }

  body.tenit-site .ik-site-header {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  }

  body.tenit-site .ik-site-header__inner {
    width: 100% !important;
    max-width: none !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
  }

  body.tenit-site .ik-site-branding {
    min-width: 0 !important;
    overflow: hidden;
  }

  body.tenit-site .ik-site-branding .custom-logo-link,
  body.tenit-site .tenit-brand-logo {
    display: inline-flex !important;
    max-width: 100% !important;
  }

  body.tenit-site .ik-site-branding .custom-logo,
  body.tenit-site .tenit-brand-logo img {
    width: auto !important;
    height: 42px !important;
    max-width: min(210px, 68vw) !important;
    max-height: 42px !important;
    object-fit: contain !important;
  }

  body.tenit-site .ik-nav-toggle {
    position: relative !important;
    z-index: 1300 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1px solid #dedede !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #111315 !important;
    box-shadow: none !important;
  }

  body.tenit-site .ik-nav-toggle__label {
    display: none !important;
  }

  body.tenit-site .ik-nav-toggle__icon {
    width: 22px !important;
    gap: 5px !important;
  }

  body.tenit-site .ik-nav-toggle__icon span {
    height: 2px !important;
    border-radius: 999px;
    background: currentColor !important;
  }

  /* Geschlossen bleibt die Navigation vollständig außerhalb des Viewports. */
  body.tenit-site .ik-primary-nav,
  body.tenit-site .ik-primary-nav.is-mobile-portal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1100 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 98px 18px 28px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #111315 !important;
    transform: translate3d(100%,0,0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform .24s ease, opacity .18s ease, visibility .24s ease !important;
  }

  body.tenit-site .ik-primary-nav.is-open,
  body.tenit-site .ik-primary-nav.is-mobile-portal.is-open {
    transform: translate3d(0,0,0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.tenit-site .ik-primary-nav__list {
    width: 100% !important;
    max-width: 720px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 6px !important;
  }

  body.tenit-site .ik-primary-nav__list > li {
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
  }

  body.tenit-site .ik-primary-nav__list > li > a {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 12px 8px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 17px !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }

  body.tenit-site .ik-primary-nav__list > li > a::after {
    display: none !important;
  }

  body.tenit-site .ik-header-nav-icon {
    flex: 0 0 26px !important;
    width: 26px !important;
    display: inline-grid !important;
    place-items: center !important;
    color: var(--ten-orange) !important;
  }

  body.tenit-site .ik-header-nav-icon svg {
    width: 23px !important;
    height: 23px !important;
  }

  body.tenit-site .ik-header-nav-label {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body.tenit-site .ik-submenu-toggle {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.09) !important;
    color: #fff !important;
  }

  /* Desktop-Mega-Menü auf dem Handy in eine schlichte Akkordeonliste umwandeln. */
  body.tenit-site .ik-primary-nav__list .sub-menu,
  body.tenit-site .ik-primary-nav__list > .ik-menu-mega > .ik-mega-menu {
    position: static !important;
    inset: auto !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 10px 38px !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    gap: 5px !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.tenit-site .menu-item-has-children.is-submenu-open > .sub-menu,
  body.tenit-site .menu-item-has-children.is-submenu-open > .ik-mega-menu {
    display: grid !important;
  }

  body.tenit-site .ik-mega-menu__intro,
  body.tenit-site .ik-mega-menu__cta {
    display: none !important;
  }

  body.tenit-site .ik-mega-menu__item,
  body.tenit-site .ik-primary-nav__list .sub-menu > li {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body.tenit-site .ik-mega-menu__item > a,
  body.tenit-site .ik-primary-nav__list .sub-menu > li > a {
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-radius: 9px !important;
    background: rgba(255,255,255,.045) !important;
    color: #fff !important;
    font-size: 14px !important;
    text-decoration: none !important;
  }

  body.tenit-site .ik-mega-menu__icon {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
  }

  body.tenit-site .ik-mega-menu__copy {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  body.tenit-site .ik-mega-menu__title,
  body.tenit-site .ik-mega-menu__item-description {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.tenit-site .ik-mega-menu__item-description {
    margin-top: 2px !important;
    color: #bfc2c5 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  body.tenit-site .ik-nav-backdrop {
    display: none !important;
  }

  /* Sicherheitsnetz gegen horizontales Ausbrechen von Divi-Inhalten. */
  body.tenit-site #ten-it-main,
  body.tenit-site #ten-it-main .et_pb_section,
  body.tenit-site #ten-it-main .et_pb_row,
  body.tenit-site #ten-it-main .et_pb_column,
  body.tenit-site #ten-it-main .et_pb_module,
  body.tenit-site #ten-it-main .ik-container,
  body.tenit-site #ten-it-main .ik-vb-section,
  body.tenit-site #ten-it-main .ik-vb-card-grid,
  body.tenit-site #ten-it-main .ik-vb-row-grid,
  body.tenit-site #ten-it-main .ik-vb-cta-grid {
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 520px) {
  body.tenit-site .ik-site-header-frame {
    padding: 0 !important;
  }

  body.tenit-site .ik-site-header__inner {
    min-height: 60px !important;
    padding: 6px 8px !important;
  }

  body.tenit-site .ik-site-branding .custom-logo,
  body.tenit-site .tenit-brand-logo img {
    height: 36px !important;
    max-height: 36px !important;
    max-width: 190px !important;
  }

  body.tenit-site .ik-nav-toggle {
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
  }

  body.tenit-site .ik-primary-nav,
  body.tenit-site .ik-primary-nav.is-mobile-portal {
    padding: 84px 14px 24px !important;
  }

  body.tenit-site .ik-primary-nav__list > li > a {
    min-height: 50px !important;
    padding: 10px 6px !important;
    font-size: 16px !important;
  }

  body.tenit-site .ik-primary-nav__list .sub-menu,
  body.tenit-site .ik-primary-nav__list > .ik-menu-mega > .ik-mega-menu {
    padding-left: 24px !important;
  }
}


/* ===================================================================
 * v1.13.8 - Hero-Bild mobil mit weichem Übergang
 * =================================================================== */
@media (max-width: 1180px) {
  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:first-child {
    position: relative !important;
    z-index: 3 !important;
    padding-bottom: 24px !important;
    background: var(--ten-black) !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    position: relative !important;
    z-index: 1 !important;
    min-height: clamp(340px, 58vw, 520px) !important;
    margin-top: 0 !important;
    overflow: hidden !important;
    background-color: var(--ten-black) !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
      to bottom,
      #111315 0%,
      rgba(17,19,21,.88) 8%,
      rgba(17,19,21,.58) 22%,
      rgba(17,19,21,.25) 38%,
      rgba(17,19,21,.06) 54%,
      rgba(17,19,21,0) 66%
    );
  }

  body.tenit-site .tenit-home-hero .ik-vb-media {
    display: none !important;
  }
}

@media (max-width: 640px) {
  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:first-child {
    padding: 36px 20px 18px !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    min-height: 330px !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child::before {
    background: linear-gradient(
      to bottom,
      #111315 0%,
      rgba(17,19,21,.90) 9%,
      rgba(17,19,21,.56) 24%,
      rgba(17,19,21,.22) 40%,
      rgba(17,19,21,0) 62%
    );
  }
}

@media (max-width: 420px) {
  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    min-height: 285px !important;
  }
}


/* ===================================================================
 * v1.13.9 – Header komplett weiß, ohne Rundungen
 * =================================================================== */
body.tenit-site .ik-site-header-frame {
  background: #ffffff !important;
  padding: 0 !important;
}

body.tenit-site .ik-site-header {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #ffffff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.tenit-site .ik-site-header__inner,
body.tenit-site .ik-primary-nav,
body.tenit-site .ik-primary-nav__list,
body.tenit-site .ik-primary-nav__list > li > a {
  background: transparent !important;
}

@media (min-width: 1181px) {
  body.tenit-site .ik-site-header-frame {
    background: #ffffff !important;
    padding: 0 !important;
  }

  body.tenit-site .ik-site-header {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

@media (max-width: 1180px) {
  body.tenit-site .ik-site-header-frame {
    background: #ffffff !important;
    padding: 0 !important;
  }

  body.tenit-site .ik-site-header {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background: #ffffff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}


/* ===================================================================
 * v1.14.0 - Hero-Bild mobil sicher oberhalb des Textes
 * =================================================================== */
@media (max-width: 1180px) {
  body.tenit-site .tenit-home-hero {
    display: block !important;
    padding: 0 !important;
    background: var(--ten-black) !important;
    overflow: hidden !important;
  }

  /* Eigenständige mobile Bildfläche. Sie hängt nicht mehr von einer
     leeren Divi-Spalte ab und ist deshalb auf jeder Startseite sichtbar. */
  body.tenit-site .tenit-home-hero::before {
    content: "" !important;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: clamp(300px, 56vw, 520px) !important;
    transform: none !important;
    border: 0 !important;
    opacity: 1 !important;
    background-color: var(--ten-black) !important;
    background-image:
      linear-gradient(to bottom, rgba(17,19,21,0) 68%, rgba(17,19,21,.45) 86%, #111315 100%),
      var(--tenit-hero-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body.tenit-site .tenit-home-hero::after {
    display: none !important;
    content: none !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:first-child {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 34px 28px 48px !important;
    display: block !important;
    background: var(--ten-black) !important;
  }

  /* Die bisherige Bildspalte entfällt mobil. Das Bild liegt oben in
     der eigenständigen Bildfläche. */
  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:last-child {
    display: none !important;
  }
}

@media (max-width: 640px) {
  body.tenit-site .tenit-home-hero::before {
    height: 300px !important;
    background-position: 60% center !important;
  }

  body.tenit-site .tenit-home-hero > .et_pb_row > .et_pb_column:first-child {
    padding: 30px 20px 40px !important;
  }
}

@media (max-width: 420px) {
  body.tenit-site .tenit-home-hero::before {
    height: 255px !important;
    background-position: 62% center !important;
  }
}


/* ===================================================================
 * v1.14.3 – Header-Recovery bei aktivem Divi Theme Builder
 * =================================================================== */
body.tenit-site #top-header,
body.tenit-site #main-header,
body.tenit-site .et-l--header,
body.tenit-site .et_pb_section.et_pb_section_0_tb_header,
body.tenit-site [class*="_tb_header"] {
  display: none !important;
}

body.tenit-site #page-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] {
  display: block !important;
  width: 100% !important;
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-site-header {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: #fff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


/* ===================================================================
 * v1.14.4 – Header-Hard-Recovery
 * TEN-IT-Header wird direkt nach wp_body_open gerendert und bleibt sichtbar.
 * =================================================================== */
body.tenit-site > .tenit-topbar,
body.tenit-site > .ik-site-header-frame[data-ten-it-forced-header],
body.tenit-site .tenit-topbar,
body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] {
  position: sticky !important;
  top: 0 !important;
  z-index: 99999 !important;
  width: 100% !important;
  min-height: 116px !important;
  background: #fff !important;
}

body.admin-bar.tenit-site .ik-site-header-frame[data-ten-it-forced-header] {
  top: 32px !important;
}

body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-site-header,
body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-site-header__inner,
body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-site-branding,
body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-primary-nav,
body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-header-action {
  visibility: visible !important;
  opacity: 1 !important;
}

body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-site-header__inner {
  min-height: 116px !important;
}

body.tenit-site .et-l--header,
body.tenit-site #main-header,
body.tenit-site #top-header,
body.tenit-site header.et-l.et-l--header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tenit-site #page-container,
body.tenit-site #et-main-area,
body.tenit-site .et-l--body {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 1180px) {
  body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] {
    min-height: 66px !important;
  }
  body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-site-header__inner {
    min-height: 66px !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar.tenit-site .ik-site-header-frame[data-ten-it-forced-header] {
    top: 46px !important;
  }
}


/* ===================================================================
 * v1.14.5 – belastbarer Header-Fallback bei Divi Theme Builder
 * =================================================================== */
body.tenit-site [data-ten-it-forced-header],
body.tenit-site [data-ten-it-forced-header] .ik-site-header,
body.tenit-site [data-ten-it-forced-header] .ik-site-header__inner {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.tenit-site [data-ten-it-forced-header] .ik-site-header__inner {
  display: grid !important;
}

body.tenit-site > [data-ten-it-topbar] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.tenit-site .et-l--header,
body.tenit-site header.et-l.et-l--header,
body.tenit-site #main-header,
body.tenit-site #top-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.tenit-site #page-container,
body.tenit-site #et-boc,
body.tenit-site #et-main-area {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* ===================================================================
 * v1.14.8 – Mobile Header-Abstände + CTA im Menü
 * =================================================================== */
.ik-mobile-nav-cta {
  display: none;
}

@media (max-width: 1180px) {
  /* Die Desktop-Topbar erzeugte mobil den leeren schwarzen Streifen. */
  body.tenit-site .tenit-topbar,
  body.tenit-site > [data-ten-it-topbar] {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.tenit-site .ik-site-header-frame[data-ten-it-forced-header],
  body.tenit-site .ik-site-header-frame {
    top: 0 !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.tenit-site .ik-site-header__inner,
  body.tenit-site .ik-site-header-frame[data-ten-it-forced-header] .ik-site-header__inner {
    min-height: 66px !important;
  }

  /* Die Navigation liegt fixed unter dem Header. Genug Abstand für die
     erste Zeile, ohne den großen leeren Block aus der alten Topbar. */
  body.tenit-site .ik-primary-nav,
  body.tenit-site .ik-primary-nav.is-mobile-portal {
    padding-top: 78px !important;
  }

  body.tenit-site .ik-mobile-nav-cta {
    display: block !important;
    width: 100% !important;
    max-width: 720px !important;
    margin: 18px auto 0 !important;
    padding: 0 !important;
  }

  body.tenit-site .ik-mobile-nav-cta .ik-button {
    width: 100% !important;
    min-height: 54px !important;
    justify-content: space-between !important;
    padding: 14px 18px !important;
    border-radius: 8px !important;
    background: var(--ten-orange) !important;
    border-color: var(--ten-orange) !important;
    color: var(--ten-black) !important;
    font-size: 16px !important;
    font-weight: 800 !important;
  }

  body.tenit-site .ik-mobile-nav-cta .ik-button:hover,
  body.tenit-site .ik-mobile-nav-cta .ik-button:focus {
    background: #f3ad3f !important;
    border-color: #f3ad3f !important;
    color: var(--ten-black) !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar.tenit-site .ik-site-header-frame[data-ten-it-forced-header],
  body.admin-bar.tenit-site .ik-site-header-frame {
    top: 0 !important;
  }
}

@media (max-width: 520px) {
  body.tenit-site .ik-primary-nav,
  body.tenit-site .ik-primary-nav.is-mobile-portal {
    padding: 72px 14px 24px !important;
  }

  body.tenit-site .ik-mobile-nav-cta {
    margin-top: 16px !important;
  }
}


/* ===================================================================
 * v1.14.9 – Mobile CTA wirklich unter dem letzten Menüpunkt
 * =================================================================== */
@media (max-width: 1180px) {
  body.tenit-site .ik-site-header__inner > .ik-mobile-nav-cta {
    display: none !important;
  }

  body.tenit-site .ik-primary-nav > .ik-mobile-nav-cta {
    display: block !important;
    width: 100% !important;
    max-width: 720px !important;
    margin: 18px auto 0 !important;
    padding: 0 8px !important;
  }
}

@media (max-width: 520px) {
  body.tenit-site .ik-primary-nav > .ik-mobile-nav-cta {
    margin-top: 16px !important;
    padding: 0 6px !important;
  }
}

/* ===================================================================
 * v1.18.0 – Poppins als Basis, Divi hat bei Textmodulen Vorrang
 * ===================================================================
 * Diese Regeln setzen ausschließlich die Standard-Schriftfamilie.
 * Schriftstärke, Größe, Farbe, Zeilenhöhe, Zeichenabstand und Stil
 * bleiben vollständig bei Divi und dessen Modul-Einstellungen.
 */
body.tenit-site {
  font-family: var(--ik-font);
}

/* :where() hält die Spezifität bewusst niedrig. Sobald Divi an einem
   Modul eine eigene Schriftart setzt, gewinnt Divis Modul-CSS. */
body.tenit-site :where(
  .et_pb_text,
  .et_pb_text p,
  .et_pb_text li,
  .et_pb_text h1,
  .et_pb_text h2,
  .et_pb_text h3,
  .et_pb_text h4,
  .et_pb_text h5,
  .et_pb_text h6,
  .et_pb_blurb_description,
  .et_pb_module_header
) {
  font-family: var(--ik-font);
}

/* TEN-IT-Dekozeile: ausschließlich Layout und der rote Strich.
   Keine Typografie-Eigenschaft wird hier gesetzt. */
body.tenit-site .tenit-eyebrow-decor {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
}
body.tenit-site .tenit-eyebrow-decor::before {
  content: "";
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 2px;
  background: #f04b23;
}



/* ===================================================================
 * v1.19.1 - Seiten-Heros mit eigenem Bild wie auf der Startseite
 * =================================================================== */

/* Aktiviert sich ausschließlich, wenn für die aktuelle Seite unter
   „TEN IT Hero-Bild“ ein Bild hinterlegt wurde. */
@media (min-width: 1181px) {
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) {
    position: relative !important;
    min-height: 650px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--ten-black) !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero)::before,
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero)::after {
    display: none !important;
    content: none !important;
  }

  /* Divi-Variante */
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .et_pb_row {
    width: 100% !important;
    max-width: none !important;
    min-height: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 48% 52% !important;
    align-items: stretch !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .et_pb_row > .et_pb_column:first-child {
    width: auto !important;
    margin: 0 !important;
    padding: 72px clamp(34px, 3.8vw, 70px) !important;
    display: flex !important;
    align-items: center !important;
    background: var(--ten-black) !important;
    position: relative !important;
    z-index: 3 !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .et_pb_row > .et_pb_column:last-child {
    position: relative !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 650px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background-image: var(--tenit-page-hero-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
  }

  /* Weicher Überlauf in den dunklen Textbereich, analog zur Startseite. */
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .et_pb_row > .et_pb_column:last-child::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    z-index: 2 !important;
    pointer-events: none !important;
    background: linear-gradient(90deg,
      #111315 0%,
      rgba(17,19,21,.88) 5%,
      rgba(17,19,21,.50) 13%,
      rgba(17,19,21,.16) 23%,
      rgba(17,19,21,0) 34%) !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-hero-content {
    width: 100% !important;
    max-width: 760px !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-media {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  /* Fallback-HTML ohne Divi */
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .ik-vb-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-hero-grid {
    min-height: 650px !important;
    display: grid !important;
    grid-template-columns: 48% 52% !important;
    gap: 0 !important;
    align-items: stretch !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-hero-grid > .ik-vb-hero-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 72px clamp(34px, 3.8vw, 70px) !important;
    background: var(--ten-black) !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-hero-grid > .ik-vb-media {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 650px !important;
    opacity: 1 !important;
    background-image: var(--tenit-page-hero-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
}

@media (max-width: 1180px) {
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: var(--ten-black) !important;
    overflow: hidden !important;
  }

  /* Das Bild steht mobil wie gewünscht oberhalb des Textes. */
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero)::before {
    content: "" !important;
    position: relative !important;
    inset: auto !important;
    order: 0 !important;
    display: block !important;
    width: 100% !important;
    height: clamp(280px, 58vw, 500px) !important;
    flex: 0 0 auto !important;
    border: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    background-color: var(--ten-black) !important;
    background-image:
      linear-gradient(to bottom, rgba(17,19,21,0) 62%, rgba(17,19,21,.24) 78%, rgba(17,19,21,.72) 92%, #111315 100%),
      var(--tenit-page-hero-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero)::after {
    display: none !important;
    content: none !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .et_pb_row,
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .ik-vb-inner {
    position: relative !important;
    order: 1 !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: var(--ten-black) !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .et_pb_row > .et_pb_column:first-child {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 30px 24px 46px !important;
    display: block !important;
    background: var(--ten-black) !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .et_pb_row > .et_pb_column:last-child {
    display: none !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-hero-grid {
    display: block !important;
    min-height: 0 !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-hero-grid > .ik-vb-hero-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 30px 24px 46px !important;
    display: block !important;
    background: var(--ten-black) !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-hero-grid > .ik-vb-media {
    display: none !important;
  }
}

@media (max-width: 640px) {
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero)::before {
    height: 280px !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) > .et_pb_row > .et_pb_column:first-child,
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero) .ik-vb-hero-grid > .ik-vb-hero-content {
    padding: 28px 20px 40px !important;
  }
}

@media (max-width: 420px) {
  body.tenit-site.tenit-has-page-hero-image .tenit-hero:not(.tenit-home-hero)::before {
    height: 240px !important;
  }
}


/* ===================================================================
 * v1.19.2 - robuster mobiler Seiten-Hero als echtes Element
 * =================================================================== */
.tenit-mobile-page-hero-image {
  display: none;
}

@media (max-width: 1180px) {
  body.tenit-site .tenit-page-hero-runtime {
    padding-top: 0 !important;
    overflow: hidden !important;
  }

  body.tenit-site .tenit-page-hero-runtime > .tenit-mobile-page-hero-image {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: clamp(280px, 58vw, 500px) !important;
    min-height: 280px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    background-color: #111315 !important;
    background-image:
      linear-gradient(to bottom, rgba(17,19,21,0) 60%, rgba(17,19,21,.20) 76%, rgba(17,19,21,.68) 91%, #111315 100%),
      var(--tenit-runtime-hero-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    z-index: 5 !important;
  }

  /* Der alte Pseudo-Hero wird bei aktivem Runtime-Fallback deaktiviert,
     damit das Bild garantiert exakt einmal erscheint. */
  body.tenit-site .tenit-page-hero-runtime.tenit-hero:not(.tenit-home-hero)::before {
    display: none !important;
    content: none !important;
  }

  body.tenit-site .tenit-page-hero-runtime > .et_pb_row:first-of-type,
  body.tenit-site .tenit-page-hero-runtime > .ik-vb-inner:first-of-type {
    margin-top: 0 !important;
  }
}

@media (max-width: 640px) {
  body.tenit-site .tenit-page-hero-runtime > .tenit-mobile-page-hero-image {
    height: 280px !important;
    min-height: 280px !important;
  }
}

@media (max-width: 420px) {
  body.tenit-site .tenit-page-hero-runtime > .tenit-mobile-page-hero-image {
    height: 245px !important;
    min-height: 245px !important;
  }
}


/* ===================================================================
 * v1.19.3 - mobiler Seiten-Hero direkt unter dem Header
 * =================================================================== */
@media (max-width: 1180px) {
  /* Das Bild ist jetzt ein Geschwisterelement direkt VOR dem Hero. */
  body.tenit-site.tenit-has-page-hero-image .tenit-mobile-page-hero-image {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: clamp(280px, 58vw, 500px) !important;
    min-height: 280px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #111315 !important;
    background-image:
      linear-gradient(to bottom,
        rgba(17,19,21,0) 58%,
        rgba(17,19,21,.18) 74%,
        rgba(17,19,21,.66) 90%,
        #111315 100%),
      var(--tenit-runtime-hero-image) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    z-index: 2 !important;
  }

  /* Divis Desktop-Hero-Höhe und Zentrierung mobil vollständig aufheben. */
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime,
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime.tenit-hero:not(.tenit-home-hero) {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #111315 !important;
  }

  /* Das alte Bild/Pseudo-Bild im Hero abschalten. */
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime::before,
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime::after {
    display: none !important;
    content: none !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime > .et_pb_row,
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime > .ik-vb-inner {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    background: #111315 !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime > .et_pb_row > .et_pb_column:first-child,
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime .ik-vb-hero-grid > .ik-vb-hero-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 28px 24px 46px !important;
    transform: none !important;
    background: #111315 !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime > .et_pb_row > .et_pb_column:last-child,
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime .ik-vb-hero-grid > .ik-vb-media {
    display: none !important;
  }

  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime .ik-vb-hero-grid {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 640px) {
  body.tenit-site.tenit-has-page-hero-image .tenit-mobile-page-hero-image {
    height: 300px !important;
    min-height: 300px !important;
    background-position: center center !important;
  }
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime > .et_pb_row > .et_pb_column:first-child,
  body.tenit-site.tenit-has-page-hero-image .tenit-page-hero-runtime .ik-vb-hero-grid > .ik-vb-hero-content {
    padding: 24px 20px 40px !important;
  }
}

@media (max-width: 420px) {
  body.tenit-site.tenit-has-page-hero-image .tenit-mobile-page-hero-image {
    height: 260px !important;
    min-height: 260px !important;
  }
}
