/*
Theme Name: Flatsome Child
Description: ESOMATEC – Child Theme für Flatsome. Design-System (Basis). Bereichs-/Seiten-Styles liegen in assets/css/components/.
Author: Ritter Digital Labs
Template: flatsome
Version: 4.0.1
Text Domain: flatsome-child
*/

:root { --eso-green: #4E932A; --eso-green-hover: #3F7A22; --eso-green-light: #ECF4E9; --eso-grey: #FAFAFA; --eso-white: #FFFFFF; --eso-text: #040802; --eso-muted: #545454; --eso-border: #DEDEDE; --eso-error: #B42318; --eso-graphite: #0D110A; --eso-font-display: 'Eurostile LT Std','Manrope',sans-serif; --eso-font-body: 'Manrope',ui-sans-serif,system-ui,sans-serif; --eso-font-mono: 'JetBrains Mono',ui-monospace,monospace; --eso-container: 1440px; --eso-gutter: 16px; --eso-section-y: 96px; --eso-section-y-compact: 64px; --eso-split-gap: 48px; --eso-transition: 300ms; --eso-shadow-header: 0 2px 16px rgba(4,8,2,.05); }
@media (min-width: 640px) {
  :root { --eso-gutter: 24px; }
}
@media (min-width: 768px) {
  :root { --eso-section-y: 128px; --eso-section-y-compact: 80px; }
}
@media (min-width: 1024px) {
  :root { --eso-gutter: 40px; --eso-split-gap: 64px; }
}
html { text-size-adjust: 100%; scroll-behavior: smooth; }
body { font-family: var(--eso-font-body); font-size: 14px; line-height: 1.625; font-weight: 400; color: var(--eso-text); background-color: var(--eso-grey); }
@media (min-width: 640px) {
  body { font-size: 16px; }
}
p, li, td, th, dd, dt, blockquote { font-family: var(--eso-font-body); }
p { color: var(--eso-muted); }
h1, h2, h3, .h1, .h2, .h3, .heading-font { font-family: var(--eso-font-display); color: var(--eso-text); letter-spacing: -0.025em; text-transform: none; }
h4, h5, h6 { font-family: var(--eso-font-body); color: var(--eso-text); }
h1, .h1 { font-size: 36px; font-weight: 400; line-height: 1.1; }
@media (min-width: 640px) {
  h1, .h1 { font-size: 48px; }
}
@media (min-width: 1024px) {
  h1, .h1 { font-size: 60px; line-height: 1.08; }
}
.eso-h1-product { font-family: var(--eso-font-display); font-size: 60px; font-weight: 700; line-height: 1; letter-spacing: -0.025em; color: var(--eso-text); }
@media (min-width: 1024px) {
  .eso-h1-product { font-size: 72px; }
}
h2, .h2 { font-size: 30px; font-weight: 400; line-height: 1.25; }
@media (min-width: 1024px) {
  h2, .h2 { font-size: 36px; }
}
.eso-h2-large { font-family: var(--eso-font-display); font-size: 30px; font-weight: 400; line-height: 1.25; letter-spacing: -0.025em; color: var(--eso-text); }
@media (min-width: 1024px) {
  .eso-h2-large { font-size: 48px; }
}
h3, .h3 { font-size: 18px; font-weight: 700; line-height: 1.3; }
@media (min-width: 1024px) {
  h3, .h3 { font-size: 20px; }
}
.eso-text-sm { font-size: 14px; line-height: 1.625; }
figcaption, .wp-caption-text, .eso-caption { font-family: var(--eso-font-mono); font-size: 10px; line-height: 1.4; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eso-muted); }
a { color: var(--eso-text); transition: color var(--eso-transition); }
a:hover { color: var(--eso-green); }
::selection { background: var(--eso-green-light); color: var(--eso-text); }
.container, .row:not(.row-full-width) { max-width: var(--eso-container); }
.container { padding-left: var(--eso-gutter); padding-right: var(--eso-gutter); }
.section-content > .row:not(.row-collapse):not(.row-full-width), .page-wrapper .row:not(.row-collapse):not(.row-full-width):not(.row-inner) { padding-left: calc(var(--eso-gutter) - 15px); padding-right: calc(var(--eso-gutter) - 15px); }
.section-content > .row.row-collapse:not(.row-full-width) { padding-left: var(--eso-gutter); padding-right: var(--eso-gutter); }
.col, .row > .col { min-width: 0px; }
.section.eso-section { border-bottom: 1px solid var(--eso-border); padding-top: var(--eso-section-y) !important; padding-bottom: var(--eso-section-y) !important; }
.section.eso-section-compact { border-bottom: 1px solid var(--eso-border); padding-top: var(--eso-section-y-compact) !important; padding-bottom: var(--eso-section-y-compact) !important; }
.eso-divider, hr.eso-divider { border-right: 0px; border-bottom: 0px; border-left: 0px; border-image: none; border-top: 1px solid var(--eso-border); margin: 0px; height: 0px; }
.eso-eyebrow + h1, .eso-eyebrow + h2, .eso-eyebrow + .eso-h2-large, .eso-eyebrow + .eso-h1-product { margin-top: 16px; }
h1 + p, h2 + p, .eso-h2-large + p { margin-top: 24px; }
.eso-intro { max-width: 640px; color: var(--eso-muted); }
.button, button, input, select, textarea, .box, .box-image, .box-image img, .image-cover, .img-inner, .banner, .banner-bg, .nav-dropdown, .nav-dropdown-default, .off-canvas-left .mfp-content, .off-canvas-right .mfp-content, .round, .radius, .is-round, .is-radius, .badge, .badge-inner, .lightbox-content, .forminator-ui *, .eso-card, .eso-drawer, .eso-note { border-radius: 0px !important; }
.button, .eso-btn, input[type="submit"], input[type="button"], button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 0px; height: auto; padding: 14px 28px; font-family: var(--eso-font-display); font-size: 13px; font-weight: 400; line-height: 1; letter-spacing: 0.12em; text-transform: uppercase; border: 1px solid transparent; border-radius: 0px; box-shadow: none; text-shadow: none; transition: background-color var(--eso-transition), color var(--eso-transition), border-color var(--eso-transition); margin-right: 0px; }
.button.primary, .button.primary:not(.is-outline), .eso-btn-primary, input[type="submit"], button[type="submit"] { background-color: var(--eso-green); border-color: var(--eso-green); color: var(--eso-white); }
.button.primary:hover, .eso-btn-primary:hover, input[type="submit"]:hover, button[type="submit"]:hover { background-color: var(--eso-green-hover); border-color: var(--eso-green-hover); color: var(--eso-white); box-shadow: none; }
.button.is-outline, .button.secondary, .button.white, .eso-btn-outline { background-color: var(--eso-white); border: 1px solid var(--eso-border); color: var(--eso-text); }
.button.is-outline:hover, .button.secondary:hover, .button.white:hover, .eso-btn-outline:hover { background-color: var(--eso-green-light); border-color: var(--eso-green); color: var(--eso-green); box-shadow: none; }
.button i, .eso-btn i, .eso-btn .eso-arrow, .eso-arrow { font-size: 14px; transition: transform var(--eso-transition); display: inline-block; }
.button:hover i, .eso-btn:hover i, .eso-btn:hover .eso-arrow, a:hover > .eso-arrow, .eso-card:hover .eso-arrow { transform: translateX(4px); }
.eso-eyebrow { display: block; font-family: var(--eso-font-mono); font-size: 12px; font-weight: 400; line-height: 1.4; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eso-green); }
.eso-label { display: block; font-family: var(--eso-font-mono); font-size: 11px; font-weight: 400; line-height: 1.4; letter-spacing: 0.15em; text-transform: uppercase; color: var(--eso-muted); }
.eso-label--meta { letter-spacing: 0.25em; }
.eso-link-more { display: inline-flex; align-items: center; gap: 8px; font-family: var(--eso-font-mono); font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--eso-text); }
.eso-link-more:hover { color: var(--eso-green); }
.breadcrumbs, .eso-breadcrumb { display: flex; flex-wrap: wrap; font-family: var(--eso-font-mono); font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--eso-muted); margin-bottom: 48px; }
#header .header-wrapper { background: var(--eso-white); border-top: 3px solid var(--eso-green); border-bottom: 2px solid var(--eso-green); box-shadow: var(--eso-shadow-header); }
#header .header-main, #header .header-bg-color { background-color: var(--eso-white) !important; }
#header .header-bottom, #header .header-top { display: none; }
#header .header-main .header-inner { padding-left: var(--eso-gutter); padding-right: var(--eso-gutter); max-width: var(--eso-container); }
#header .header-bg-image { display: none; }
.eso-lang { display: inline-flex; align-items: center; gap: 6px; font-family: var(--eso-font-display); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--eso-muted); white-space: nowrap; }
.eso-lang a, .eso-lang span { color: var(--eso-muted); }
.eso-lang .is-active { color: var(--eso-text); }
.eso-lang a:hover { color: var(--eso-green); }
.header-nav-main > li > a, .nav > li > a.nav-top-link { font-family: var(--eso-font-display); font-size: 13px; font-weight: 400; letter-spacing: 0.08em; text-transform: uppercase; color: var(--eso-text); transition: color var(--eso-transition); }
.header-nav-main > li > a:hover, .header-nav-main > li.active > a, .header-nav-main > li.current-menu-item > a, .header-nav-main > li.current-menu-ancestor > a { color: var(--eso-green); }
.nav-dropdown { border: 1px solid var(--eso-border); box-shadow: var(--eso-shadow-header); }
.nav-dropdown > li > a, .nav-dropdown .nav-column > li > a { font-family: var(--eso-font-body); }
.eso-megamenu > .nav-dropdown, .header-nav-main > li.eso-megamenu .nav-dropdown { background: var(--eso-white); border-top: 0px; border-right: 0px; border-left: 0px; border-image: none; border-bottom: 2px solid var(--eso-green); box-shadow: var(--eso-shadow-header); padding: 40px var(--eso-gutter); }
.header-nav-main > li.eso-megamenu .nav-dropdown > li.nav-dropdown-col { flex: 1 1 0px; min-width: 0px; padding: 0px 15px; }
.header-nav-main > li.eso-megamenu .nav-dropdown > li.nav-dropdown-col > a { font-family: var(--eso-font-mono); font-size: 11px; font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eso-muted); border: 0px; padding: 0px 0px 16px; pointer-events: none; }
.header-nav-main > li.eso-megamenu .nav-column > li > a { font-family: var(--eso-font-body); font-size: 14px; text-transform: none; letter-spacing: 0px; color: var(--eso-text); padding: 10px 0px; border-bottom: 1px solid var(--eso-border); }
.header-nav-main > li.eso-megamenu .nav-column > li > a:hover { color: var(--eso-green); background: transparent; }
.header-nav-main > li.eso-megamenu .nav-column > li.eso-menu-subhead > a, .nav-sidebar li.eso-menu-subhead > a { font-family: var(--eso-font-mono); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eso-muted); pointer-events: none; padding-top: 20px; border-bottom: 0px; }
.header-nav-main > li.eso-megamenu .nav-column > li.eso-menu-all > a { font-family: var(--eso-font-mono); font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--eso-green); border-bottom: 0px; padding-top: 20px; }
.header-nav-main > li.eso-megamenu .nav-column > li.eso-menu-all > a::after { content: " →"; }
.mobile-sidebar, .off-canvas .sidebar-menu { background: var(--eso-white); }
.nav-sidebar.nav-vertical > li > a, .mobile-sidebar .nav-sidebar > li > a { font-family: var(--eso-font-display); font-size: 20px; line-height: 1.2; letter-spacing: 0.04em; text-transform: uppercase; color: var(--eso-text); }
.nav-sidebar.nav-vertical > li { border-bottom: 1px solid var(--eso-border); }
.nav-sidebar .sub-menu li a { font-family: var(--eso-font-body); font-size: 14px; text-transform: none; }
#footer, .footer-wrapper { background: var(--eso-white); border-top: 2px solid var(--eso-green); }
#footer .absolute-footer { display: none; }
.eso-footer { font-size: 14px; }
.eso-footer p { font-size: 14px; line-height: 1.625; color: var(--eso-muted); }
.eso-footer ul { list-style: none; margin: 0px; }
.eso-footer ul li { margin: 0px 0px 8px; }
.eso-footer ul li a { font-family: var(--eso-font-body); font-size: 14px; color: var(--eso-text); }
.eso-footer ul li a:hover { color: var(--eso-green); }
.eso-footer-legal { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; font-family: var(--eso-font-mono); font-size: 10px; line-height: 1.4; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eso-muted); }
.eso-footer-legal a, .eso-footer-legal span { color: var(--eso-muted); }
.eso-footer-legal a:hover { color: var(--eso-green); }
.eso-footer-legal .eso-lang { font-family: var(--eso-font-mono); font-size: 10px; letter-spacing: 0.2em; }
.eso-card-grid { grid-template-columns: minmax(0px, 1fr); gap: 1px; background: var(--eso-border); border: 1px solid var(--eso-border); display: grid !important; margin-left: auto !important; margin-right: auto !important; }
.eso-card-grid > .col { width: auto !important; max-width: none !important; flex: 0 0 auto !important; padding: 0px !important; }
.eso-card-grid > .col > .col-inner { height: 100%; }
@media (min-width: 640px) {
  .eso-card-grid { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
@media (min-width: 1024px) {
  .eso-card-grid { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
  .eso-card-grid.eso-cols-4 { grid-template-columns: repeat(4, minmax(0px, 1fr)); }
  .eso-card-grid.eso-cols-2 { grid-template-columns: repeat(2, minmax(0px, 1fr)); }
}
.eso-card { position: relative; height: 100%; background: var(--eso-white); transition: background-color var(--eso-transition); }
.eso-card:hover { background: var(--eso-green-light); }
.eso-card h3, .eso-card .eso-card-title { font-family: var(--eso-font-display); font-weight: 700; }
.eso-card p { font-size: 14px; color: var(--eso-muted); }
.eso-card .eso-card-link::after { content: ""; position: absolute; inset: 0px; z-index: 1; }
.eso-card--text .eso-card-title { color: var(--eso-border); transition: color var(--eso-transition); }
.eso-card--text:hover .eso-card-title { color: var(--eso-green); }
@media (max-width: 1023px) {
  .row.eso-split > .col { flex-basis: 100% !important; max-width: 100% !important; }
  .row.eso-split > .col + .col { margin-top: var(--eso-split-gap); }
}
@media (min-width: 1024px) {
  .row.eso-split > .col:first-child { padding-right: calc(var(--eso-split-gap) / 2); }
  .row.eso-split > .col:last-child { padding-left: calc(var(--eso-split-gap) / 2); }
}
.eso-frame { position: relative; border: 1px solid var(--eso-border); background: var(--eso-white); }
.eso-frame--dark { border-color: rgb(0, 0, 0); background: rgb(0, 0, 0); }
.eso-frame img, .eso-ratio-4-3 img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.eso-corners::before, .eso-corners::after { content: ""; position: absolute; width: 32px; height: 32px; pointer-events: none; z-index: 2; }
.eso-corners::before { top: -9px; left: -9px; border-top: 1px solid var(--eso-green); border-left: 1px solid var(--eso-green); }
.eso-corners::after { bottom: -9px; right: -9px; border-bottom: 1px solid var(--eso-green); border-right: 1px solid var(--eso-green); }
.eso-figures { grid-template-columns: minmax(0px, 1fr); }
@media (min-width: 640px) {
  .eso-card-grid.eso-figures { grid-template-columns: repeat(3, minmax(0px, 1fr)); }
}
.eso-figure { display: block; font-family: var(--eso-font-display); font-size: 36px; font-weight: 700; line-height: 1.1; letter-spacing: -0.025em; color: var(--eso-green); }
@media (min-width: 1024px) {
  .eso-figure { font-size: 40px; }
}
.eso-figure-unit { display: block; margin-top: 8px; font-family: var(--eso-font-mono); font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase; color: var(--eso-muted); }
ul.eso-points, .eso-points ul { list-style: none; margin: 0px; padding: 0px; }
.eso-points li { position: relative; margin: 0px; padding: 10px 0px 10px 20px; font-family: var(--eso-font-body); font-size: 14px; line-height: 1.625; color: var(--eso-text); border-bottom: 1px solid var(--eso-border); }
.eso-points li::before { content: "+"; position: absolute; left: 0px; top: 10px; font-family: var(--eso-font-mono); color: var(--eso-green); }
.eso-process-no { display: block; font-family: var(--eso-font-mono); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eso-green); margin-bottom: 16px; }
.eso-spec { margin: 0px; }
.eso-spec .eso-label { margin-bottom: 12px; }
.eso-spec dl { margin: 0px; }
.eso-spec dl > div { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: 16px; padding: 10px 0px; border-bottom: 1px solid var(--eso-border); }
.eso-spec dt { font-family: var(--eso-font-body); font-size: 14px; font-weight: 400; color: var(--eso-muted); margin: 0px; }
.eso-spec dd { font-family: var(--eso-font-mono); font-size: 14px; color: var(--eso-text); margin: 0px; text-align: right; }
@media (max-width: 639px) {
  .eso-spec dl > div { grid-template-columns: minmax(0px, 1fr); gap: 2px; }
  .eso-spec dd { text-align: left; }
}
.eso-note { border: 1px dashed var(--eso-border); background: transparent; padding: 24px; }
.eso-note .eso-label { margin-bottom: 8px; }
.eso-note p { color: var(--eso-muted); margin: 0px; }
input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], input[type="search"], input[type="date"], select { height: 48px; padding: 0px 12px; border: 1px solid var(--eso-border); border-radius: 0px; box-shadow: none; font-family: var(--eso-font-body); font-size: 14px; color: var(--eso-text); background-color: var(--eso-white); }
textarea { padding: 12px; border: 1px solid var(--eso-border); border-radius: 0px; box-shadow: none; font-family: var(--eso-font-body); font-size: 14px; color: var(--eso-text); background-color: var(--eso-white); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--eso-green); box-shadow: none; }
input[type="checkbox"], input[type="radio"] { width: 16px; height: 16px; accent-color: var(--eso-green); }
.eso-form label, .forminator-ui .forminator-label { text-transform: uppercase; font-family: var(--eso-font-mono) !important; font-size: 11px !important; font-weight: 400 !important; letter-spacing: 0.15em !important; color: var(--eso-muted) !important; }
.forminator-ui .forminator-input, .forminator-ui .forminator-select2 + .select2 .select2-selection, .forminator-ui select.forminator-select { height: 48px !important; border: 1px solid var(--eso-border) !important; border-radius: 0px !important; padding: 0px 12px !important; font-family: var(--eso-font-body) !important; font-size: 14px !important; background: var(--eso-white) !important; box-shadow: none !important; }
.forminator-ui .forminator-textarea { border: 1px solid var(--eso-border) !important; border-radius: 0px !important; padding: 12px !important; font-family: var(--eso-font-body) !important; font-size: 14px !important; background: var(--eso-white) !important; }
.forminator-ui .forminator-input:focus, .forminator-ui .forminator-textarea:focus { border-color: var(--eso-green) !important; }
.forminator-ui .forminator-button-submit { width: 100%; text-transform: uppercase; transition: background-color var(--eso-transition); background: var(--eso-green) !important; color: var(--eso-white) !important; font-family: var(--eso-font-display) !important; font-size: 13px !important; letter-spacing: 0.12em !important; border-radius: 0px !important; padding: 14px 28px !important; }
.forminator-ui .forminator-button-submit:hover { background: var(--eso-green-hover) !important; }
.forminator-ui .forminator-error-message, .eso-form .eso-error { font-family: var(--eso-font-mono) !important; font-size: 11px !important; color: var(--eso-error) !important; background: transparent !important; padding: 4px 0px 0px !important; }
.eso-captcha-placeholder { display: flex; align-items: center; justify-content: center; height: 64px; border: 1px dashed var(--eso-border); font-family: var(--eso-font-mono); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eso-muted); }
.eso-drawer { position: fixed; top: 0px; right: 0px; z-index: 100000; width: 100%; max-width: 576px; height: 100%; background: var(--eso-grey); overflow-y: auto; border-left: 1px solid var(--eso-border); transform: translateX(100%); visibility: hidden; transition: transform var(--eso-transition), visibility 0s linear var(--eso-transition); }
.eso-drawer.is-open { transform: translateX(0px); visibility: visible; transition: transform var(--eso-transition); }
.eso-drawer-inner { padding: 24px var(--eso-gutter) 48px; }
.eso-drawer-close { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0px 0px 16px auto; background: transparent; border: 1px solid var(--eso-border); color: var(--eso-text); font-size: 20px; line-height: 1; cursor: pointer; padding: 0px; }
.eso-drawer-close:hover { border-color: var(--eso-green); color: var(--eso-green); background: var(--eso-green-light); }
.eso-drawer-backdrop { position: fixed; inset: 0px; z-index: 99999; background: rgba(4, 8, 2, 0.3); opacity: 0; visibility: hidden; transition: opacity var(--eso-transition), visibility 0s linear var(--eso-transition); }
.eso-drawer-backdrop.is-open { opacity: 1; visibility: visible; transition: opacity var(--eso-transition); }
body.eso-drawer-open { overflow: hidden; }
@media (min-width: 850px) and (max-width: 1023px) {
  #header .header-main .hide-for-medium { display: none !important; }
  #header .header-main .show-for-medium { display: flex !important; }
  #header .header-main ul.show-for-medium { display: flex !important; }
}
@media (max-width: 639px) {
  #main .button, #main .eso-btn, .eso-drawer .button, .eso-drawer .eso-btn { width: 100%; }
}
.eso-hero, .eso-bg-grey { background-color: var(--eso-grey) !important; }
.eso-bg-white { background-color: var(--eso-white) !important; }
.eso-bg-green, .eso-final-cta { background-color: var(--eso-green-light) !important; }
.eso-hero > .section-bg, .eso-bg-grey > .section-bg { background-color: var(--eso-grey) !important; }
.eso-bg-white > .section-bg { background-color: var(--eso-white) !important; }
.eso-bg-green > .section-bg, .eso-final-cta > .section-bg { background-color: var(--eso-green-light) !important; }
.eso-section h1, .eso-section h2, .eso-card h3 { overflow-wrap: break-word; }
.eso-process { border: 1px solid var(--eso-border); }
.eso-spec dd { font-family: var(--eso-font-body); }
.eso-points li::before { font-size: 12px; }
@media (min-width: 1024px) {
  #header .eso-megamenu > .nav-dropdown { display: flex; flex-wrap: nowrap; }
  #header .eso-megamenu > .nav-dropdown > li { flex: 1 1 25%; width: 25%; min-width: 0px; padding: 0px 15px; border: 0px; }
  #header .eso-megamenu > .nav-dropdown > li > a { font-family: var(--eso-font-mono); font-size: 11px; font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase; color: var(--eso-muted); white-space: normal; border: 0px; padding: 0px 0px 16px; }
  #header #logo img { max-height: 36px; }
}
@media (max-width: 1023px) {
  #header .header-main { height: 64px; }
  #header #logo img { max-height: 32px; }
  .eso-drawer { max-width: none; }
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--eso-green); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .eso-btn, .button, .eso-card, .eso-drawer, .eso-drawer-backdrop { transition: none; }
  html { scroll-behavior: auto; }
}

/* ESOMATEC product mega menu — native Flatsome navigation */
@media(min-width:1024px){
#header .header-nav-main:has(>li.eso-megamenu){position:static;}
#header .header-nav-main>li.eso-megamenu{position:static;}
#header .header-nav-main>li.eso-megamenu>.nav-dropdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;width:100%;max-width:none;min-width:0;left:0!important;right:0;top:calc(100% + 2px);margin:0!important;padding:40px max(40px,calc((100% - 1360px)/2));background:#fff;border:0;border-bottom:2px solid #4E932A;border-radius:0;box-shadow:none;max-height:calc(100dvh - 112px);overflow-y:auto;overflow-x:hidden;}
#header .header-nav-main>li.eso-megamenu:focus-within>.nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;}
#header .header-nav-main>li.eso-megamenu>.nav-dropdown>li{display:block;width:auto;min-width:0;padding:0;margin:0;border:0;}
#header .header-nav-main>li.eso-megamenu .nav-column{display:block;position:static;float:none;width:100%;min-width:0;max-width:none;margin:0;padding:0;border:0;box-shadow:none;background:transparent;opacity:1;visibility:inherit;}
#header .header-nav-main>li.eso-megamenu li{list-style:none;margin:0;}
#header .header-nav-main>li.eso-megamenu .nav-column a{display:block;margin:0;padding:10px 0;border:0;border-bottom:1px solid #DEDEDE;background:transparent;font-family:Manrope,sans-serif;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0;text-transform:none;color:#040802;white-space:normal;overflow-wrap:anywhere;}
#header .header-nav-main>li.eso-megamenu .nav-column a:hover{color:#4E932A;background:transparent;}
#header .header-nav-main>li.eso-megamenu>.nav-dropdown>li>a,#header .header-nav-main>li.eso-megamenu .eso-mega-subgroup>a{display:block;margin:0;padding:0 0 16px;border:0;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:.2em;text-transform:uppercase;color:#545454;white-space:normal;pointer-events:none;}
#header .header-nav-main>li.eso-megamenu .eso-mega-subgroup>a{padding:18px 0 10px;}
#header .header-nav-main>li.eso-megamenu .eso-mega-all>a{border:0;padding-top:24px;font-family:'JetBrains Mono',monospace;font-size:10px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;}
#header .header-nav-main>li.eso-megamenu .eso-mega-gsm>a{padding:16px;border:1px solid #DEDEDE;background:#fff;font-family:'Eurostile LT Std',sans-serif;font-size:18px;font-weight:700;line-height:1.3;transition:background-color .3s;}
#header .header-nav-main>li.eso-megamenu .eso-mega-gsm>a:hover{background:#ECF4E9;color:#040802;}
#header .header-nav-main>li.eso-megamenu .eso-mega-gsm img{display:block;width:100%;max-width:none;height:112px;object-fit:contain;margin:0 0 16px;}
#header .header-nav-main>li.eso-megamenu .eso-mega-gsm small{display:block;margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:400;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;color:#545454;}
}
@media(min-width:1024px) and (max-width:1199px){#header .header-nav-main>li.eso-megamenu>.nav-dropdown{gap:24px;}#header .header-nav-main>li.eso-megamenu>.nav-dropdown>li>a{min-height:47px;}}
@media(max-width:1023px){
.nav-sidebar .eso-megamenu .sub-menu{width:auto;min-width:0;box-shadow:none;background:#fff;}
.nav-sidebar .eso-megamenu .sub-menu a{font-family:Manrope,sans-serif;font-size:14px;line-height:1.5;text-transform:none;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;}
.nav-sidebar .eso-megamenu .sub-menu li{border-bottom:1px solid #DEDEDE;}
.nav-sidebar .eso-megamenu .eso-mega-gsm img,.nav-sidebar .eso-megamenu .eso-mega-gsm small{display:none;}
.nav-sidebar .eso-megamenu .eso-mega-subgroup>a{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#545454;}
}

@media(min-width:1024px){#header .header-nav-main>li.eso-megamenu>.nav-dropdown:before,#header .header-nav-main>li.eso-megamenu>.nav-dropdown:after{content:none;display:none;}#header .header-nav-main>li.eso-megamenu .eso-mega-gsm>a{border:1px solid #DEDEDE!important;}}

@media(min-width:1024px){#header .header-nav-main>li.eso-megamenu>.nav-dropdown{top:calc(100% + 2px)!important;bottom:auto!important;height:auto!important;width:100%!important;}}

/* Nested product accordions: native mobile sidebar, no effect on other menus. */
@media (max-width:1023px) {
 .nav-sidebar .eso-megamenu > .children {padding:0 20px 16px!important;}
 .nav-sidebar .eso-megamenu .eso-product-group {position:relative;}
 .nav-sidebar .eso-megamenu .eso-product-group > a {display:block;padding:14px 38px 14px 0!important;pointer-events:auto;}
 .nav-sidebar .eso-megamenu .eso-product-group > ul {margin:0;padding:0 0 0 12px;}
 .nav-sidebar .eso-megamenu .eso-product-group > ul[hidden] {display:none!important;}
 .nav-sidebar .eso-megamenu .eso-product-toggle {position:absolute;top:0;right:0;width:36px;min-width:0;height:48px;min-height:0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;color:#4E932A;font:24px/48px Manrope,sans-serif;letter-spacing:0;}
 .nav-sidebar .eso-megamenu .eso-product-toggle:focus-visible {outline:2px solid #4E932A;outline-offset:-2px;}
 .nav-sidebar .eso-megamenu .eso-product-group > ul > li > a {padding:10px 0;}
}


/* Kundenfeedback 23.09.2026: vereinheitlichte Typografie und CTA-Kontraste */
#header#header,#main#main,#footer#footer,#eso-drawer#eso-drawer{font-family:Manrope,sans-serif!important}
:is(#header#header,#main#main,#footer#footer,#eso-drawer#eso-drawer) :is(p,li,dt,dd,td,th,label,input,select,textarea,small,span,a,strong,em){font-family:Manrope,sans-serif!important}
:is(#header#header,#main#main,#footer#footer,#eso-drawer#eso-drawer) :is(h1,h2,h3,h4,h5,h6,.button,button,.eso-card-title,.eso-accessory-name,.demo-gsm-number,.demo-gsm-figure,.eso-figure),:is(#header#header,#main#main,#footer#footer,#eso-drawer#eso-drawer) :is(h1,h2,h3,h4,h5,h6,.button,button) *{font-family:'Eurostile LT Std',Eurostile,Manrope,sans-serif!important}
:is(#main#main,#footer#footer,#eso-drawer#eso-drawer) :is(li,label,dt,dd,.site-breadcrumb,.eso-p3-breadcrumb,.demo-breadcrumb,.eso-caption,.demo-caption,.inquiry-captcha,.site-contact-captcha){letter-spacing:normal!important}
#main#main .text>h2:first-child,#main#main .text>h1:first-child{margin-top:0!important}
#header#header .button,#main#main .button.primary,#main#main .eso-btn-primary,#main#main .button:not(.is-outline):not(.secondary):not(.white){background:#3F7A22!important;color:#fff!important;border-color:#3F7A22!important}
#header#header .button:hover,#header#header .button:focus-visible,#main#main .button:not(.is-outline):hover,#main#main .button:not(.is-outline):focus-visible{background:#244C13!important;color:#fff!important;border-color:#244C13!important}
#main#main .button.is-outline{background:white!important;color:#040802!important;border-color:#4E932A!important}
#main#main .button.is-outline:hover,#main#main .button.is-outline:focus-visible{background:#244C13!important;color:#fff!important;border-color:#244C13!important}
#main#main .eso-link-more,#main#main .demo-link{display:inline-flex!important;align-items:center;gap:8px;padding:8px 12px!important;background:#ECF4E9!important;color:#244C13!important;border:1px solid #4E932A!important;letter-spacing:normal!important;line-height:1.4!important;max-width:100%;box-sizing:border-box}
#main#main a:hover .eso-link-more,#main#main a:focus-visible .eso-link-more,#main#main .demo-link:hover,#main#main .demo-link:focus-visible{background:#244C13!important;color:#fff!important}
#main#main .eso-home-accessory .eso-caption{padding:6px 10px!important;background:#ECF4E9!important;color:#244C13!important;border:1px solid #4E932A;font-size:11px!important;letter-spacing:normal!important;white-space:normal}
#main#main .eso-home-accessory:hover .eso-caption,#main#main .eso-home-accessory:focus-visible .eso-caption{background:#244C13!important;color:#fff!important}
#main#main .demo-list li,#main#main .eso-list li{line-height:1.65!important}
#main#main .gdm-accessory-placeholder,#main#main .eso-p3-texttile{color:#666!important}
#main#main .feedback-spec-title{font-family:Manrope,sans-serif!important;font-weight:700;margin-bottom:16px}
@media(max-width:639px){#main#main .eso-home-accessory{flex-wrap:wrap!important;gap:12px!important}#main#main .eso-home-accessory .eso-caption{flex-shrink:0}}

#main#main .gdm-card-placeholder{color:#666!important}#main#main .eso-link-more,#main#main .demo-link,#main#main .site-job-more,#main#main .eso-home-accessory .eso-caption{font-family:"Eurostile LT Std",Eurostile,Manrope,sans-serif!important;font-size:13px!important}
@media(max-width:639px){#main#main .eso-home-accessory{flex-direction:column!important;align-items:flex-start!important}#main#main .eso-home-accessory .eso-caption{align-self:flex-start!important}}
/* Preserve Flatsome icons inside typographic button rules. */
:is(#header#header,#main#main,#footer#footer,#eso-drawer#eso-drawer) :is(i[class^="icon-"],i[class*=" icon-"]),:is(#header#header,#main#main,#footer#footer,#eso-drawer#eso-drawer) :is(i[class^="icon-"],i[class*=" icon-"])::before{font-family:fl-icons!important}

/* ==========================================================
   Feedback-Runde 3 (12.10.2026)
   ========================================================== */

/* 1) Einheitliches Textschwarz #040802 */
body{color:#040802}
#main dd,#main dt,#main td,#main th,
.off-canvas .nav-sidebar li:not(.active):not(.current-menu-item)>a:not(:hover),
.off-canvas .nav-sidebar small{color:#040802!important}

/* 2) Primär-Buttons: Hover auf Dunkelgrün (Spezifität schlägt Basisregel) */
#main#main .button:not(.is-outline):not(.secondary):not(.white):hover,
#main#main .button:not(.is-outline):not(.secondary):not(.white):focus-visible,
#main#main .button.primary:not(.is-outline):hover,
#main#main .eso-btn-primary:not(.is-outline):hover,
#main#main .button.primary:not(.is-outline):focus-visible,
#main#main .eso-btn-primary:not(.is-outline):focus-visible,
#main#main .eso-home .eso-btn-primary:hover,
.forminator-ui .forminator-button-submit:hover,
#main input[type="submit"]:hover,#main button[type="submit"]:hover{background:#244C13!important;border-color:#244C13!important;color:#fff!important}

/* 3) Kein Hover-Effekt auf nicht klickbaren Boxen */
#main#main .eso-card:not(:has(a[href])):hover,
#main#main .eso-card:not(:has(a[href])):hover>.col-inner,
#main#main .demo-card-grid>.col:not(:has(a[href])):hover>.col-inner,
#main#main .mgm-benefit-grid>.col:not(:has(a[href])):hover,
#main#main .mgm-benefit-grid>.col:not(:has(a[href])):hover>.col-inner,
#main#main .demo-card-copy:not(:has(a[href])):hover{background:#fff!important;box-shadow:none!important;transform:none!important;cursor:default}

/* 4) Hauptmenü: mehr Abstand zwischen den Einträgen */
@media (min-width:850px){
  #header .header-nav-main>li{margin-left:12px;margin-right:12px}
  #header .header-nav-main>li:first-child{margin-left:0}
  #header .header-nav-main>li:last-child{margin-right:0}
}
@media (min-width:1200px){
  #header .header-nav-main>li{margin-left:16px;margin-right:16px}
  #header .header-nav-main>li.header-button-1{margin-left:20px}
}

/* 5) Sprachumschalter als Flaggen ([eso_lang], Daten + Flaggen aus WPML) */
.eso-lang{display:inline-flex!important;align-items:center;gap:8px;line-height:1!important;vertical-align:middle}
#header li:has(>.eso-lang),#header li.html:has(.eso-lang){display:flex!important;align-items:center;align-self:center}
.eso-lang>a,.eso-lang>.is-active{display:inline-block;width:24px;height:16px;padding:0!important;font-size:0!important;line-height:0!important;color:transparent!important;background-color:#DEDEDE;background-size:cover;background-position:center;border-radius:2px;box-shadow:0 0 0 1px rgba(4,8,2,.15);transition:opacity .2s,box-shadow .2s;vertical-align:middle}
.eso-lang>a{opacity:.55}
.eso-lang>a:hover,.eso-lang>a:focus-visible{opacity:1;box-shadow:0 0 0 2px #4E932A}
.eso-lang>.is-active{opacity:1;box-shadow:0 0 0 2px #4E932A}
.wpml-ls-statics-footer{display:none!important} /* WPML-Standard-Umschalter im Footer nicht doppelt anzeigen */

/* 6) Schrift in den +Boxen größer */
#main .demo-benefit-point{font-size:16px!important;line-height:1.6!important}

/* 7) GDM: einheitliche Spaltenbreiten in den technischen Tabellen */
#main .eso-gdm table{table-layout:fixed;width:100%}
#main .eso-gdm table thead th:first-child,#main .eso-gdm table tbody th[scope="row"]{width:40%}

/* 8) Freigestellte Bilder (Messkopfhalterung, MGM): ohne dunklen Hintergrund */
#main .demo-mkh-gallery{margin-top:40px!important;row-gap:24px}
#main .demo-mkh-gallery>.col{padding:0 12px 0 0!important}
#main .demo-mkh-gallery>.col+.col{padding:0 0 0 12px!important}
@media (max-width:849px){#main .demo-mkh-gallery>.col,#main .demo-mkh-gallery>.col+.col{padding:0!important}}
#main .demo-mkh-gallery .img-inner{background:#FAFAFA;border:1px solid #DEDEDE}

/* 9) Zubehör-Übersicht: kein schwarzer Bildhintergrund, leere Grid-Zelle weiß */
#main .demo-cards-transparent .demo-card .demo-card-image{background:transparent!important}
#main .demo-category-grid:has(>.col:nth-child(3n+2):last-child)::after{content:"";display:block!important;background:#fff;grid-column:span 1}
#main .demo-category-grid:has(>.col:nth-child(3n+1):last-child)::after{content:"";display:block!important;background:#fff;grid-column:span 2}
@media (max-width:849px){#main .demo-category-grid::after{display:none!important}}
