/* WEBER.KAUF-FLIR – subtle animated site backgrounds. Pure CSS, click-through and motion-safe. */
body.wkf-ambient-enabled{position:relative;isolation:isolate}
.wkf-site-ambient{position:fixed;inset:-18vh -14vw;z-index:-1;overflow:hidden;pointer-events:none;user-select:none;opacity:var(--wkf-ambient-opacity,.10);transform:scale(var(--wkf-ambient-scale,1.15));transform-origin:center;contain:strict}
.wkf-site-ambient__shape{position:absolute;display:block;border-radius:999px;filter:blur(var(--wkf-ambient-blur,95px));will-change:transform,opacity;background:var(--wkf-ambient-c1,#0879D1)}
.wkf-site-ambient__shape--1{width:44vw;height:38vw;left:-8vw;top:8vh;background:var(--wkf-ambient-c1,#0879D1)}
.wkf-site-ambient__shape--2{width:38vw;height:34vw;right:-5vw;top:15vh;background:var(--wkf-ambient-c3,#D32F93)}
.wkf-site-ambient__shape--3{width:46vw;height:36vw;left:28vw;bottom:-18vh;background:var(--wkf-ambient-c4,#F7941D)}
.wkf-site-ambient__shape--4{width:28vw;height:28vw;right:22vw;bottom:22vh;background:var(--wkf-ambient-c2,#35C0D5)}
.wkf-site-ambient__texture{position:absolute;inset:0;pointer-events:none}
/* Standard ab 4.15.4: Hintergrund ist Teil der Seite statt an den Viewport geheftet. */
body.wkf-ambient-scroll-page .wkf-site-ambient{position:absolute;inset:0;min-height:100%;transform:none;contain:paint}
body.wkf-ambient-scroll-fixed .wkf-site-ambient{position:fixed}

/* Thermogramm Flow – große, weiche Farbinseln bewegen sich langsam durch den weißen Grund. */
body.wkf-ambient-effect-thermal_flow .wkf-site-ambient__shape--1{animation:wkfAmbientDriftA var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-thermal_flow .wkf-site-ambient__shape--2{animation:wkfAmbientDriftB var(--wkf-ambient-speed,42s) ease-in-out -7s infinite alternate}
body.wkf-ambient-effect-thermal_flow .wkf-site-ambient__shape--3{animation:wkfAmbientDriftC var(--wkf-ambient-speed,42s) ease-in-out -13s infinite alternate}
body.wkf-ambient-effect-thermal_flow .wkf-site-ambient__shape--4{animation:wkfAmbientDriftD var(--wkf-ambient-speed,42s) ease-in-out -4s infinite alternate}

/* Thermal Aurora – lange, fließende Farbbänder statt einzelner Flecken. */
body.wkf-ambient-effect-thermal_aurora .wkf-site-ambient{inset:-28vh -22vw;transform:rotate(-8deg) scale(var(--wkf-ambient-scale,1.15))}
body.wkf-ambient-effect-thermal_aurora .wkf-site-ambient__shape{width:78vw;height:18vw;border-radius:50%;filter:blur(var(--wkf-ambient-blur,95px));opacity:.9}
body.wkf-ambient-effect-thermal_aurora .wkf-site-ambient__shape--1{left:-18vw;top:8%;animation:wkfAuroraA var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-thermal_aurora .wkf-site-ambient__shape--2{left:28vw;right:auto;top:30%;animation:wkfAuroraB var(--wkf-ambient-speed,42s) ease-in-out -9s infinite alternate}
body.wkf-ambient-effect-thermal_aurora .wkf-site-ambient__shape--3{left:-4vw;bottom:15%;animation:wkfAuroraC var(--wkf-ambient-speed,42s) ease-in-out -15s infinite alternate}
body.wkf-ambient-effect-thermal_aurora .wkf-site-ambient__shape--4{left:45vw;right:auto;bottom:-2%;animation:wkfAuroraA var(--wkf-ambient-speed,42s) ease-in-out -5s infinite alternate-reverse}

/* Heat Pulse – fast weiß, nur gelegentlich taucht ein warmer thermischer Impuls auf. */
body.wkf-ambient-effect-heat_pulse .wkf-site-ambient__shape{opacity:0}
body.wkf-ambient-effect-heat_pulse .wkf-site-ambient__shape--1{left:8vw;top:18vh;animation:wkfHeatPulse var(--wkf-ambient-speed,42s) ease-in-out infinite}
body.wkf-ambient-effect-heat_pulse .wkf-site-ambient__shape--2{right:8vw;top:45vh;animation:wkfHeatPulse var(--wkf-ambient-speed,42s) ease-in-out -18s infinite}
body.wkf-ambient-effect-heat_pulse .wkf-site-ambient__shape--3{left:42vw;bottom:-6vh;animation:wkfHeatPulse var(--wkf-ambient-speed,42s) ease-in-out -31s infinite}
body.wkf-ambient-effect-heat_pulse .wkf-site-ambient__shape--4{display:none}

/* Thermal Clouds – weniger Bewegung, eher langsames Atmen. */
body.wkf-ambient-effect-thermal_clouds .wkf-site-ambient__shape{filter:blur(var(--wkf-ambient-blur,95px));animation:wkfCloudBreath var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-thermal_clouds .wkf-site-ambient__shape--2{animation-delay:-8s}
body.wkf-ambient-effect-thermal_clouds .wkf-site-ambient__shape--3{animation-delay:-17s}
body.wkf-ambient-effect-thermal_clouds .wkf-site-ambient__shape--4{animation-delay:-25s}

/* Technical Grid – extrem leichte technische Struktur mit einem wandernden thermischen Licht. */
body.wkf-ambient-effect-technical_grid .wkf-site-ambient{opacity:var(--wkf-ambient-opacity,.10)}
body.wkf-ambient-effect-technical_grid .wkf-site-ambient__shape{filter:blur(110px);opacity:.75;animation:wkfAmbientDriftB var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-technical_grid .wkf-site-ambient__shape--3,body.wkf-ambient-effect-technical_grid .wkf-site-ambient__shape--4{display:none}
body.wkf-ambient-effect-technical_grid .wkf-site-ambient__texture{background-image:linear-gradient(rgba(0,78,158,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(0,78,158,.075) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 20%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 20%,#000 80%,transparent 100%)}

/* Blue Mist – fast monochrom und daher am unauffälligsten. */
body.wkf-ambient-effect-blue_mist .wkf-site-ambient__shape--3{background:var(--wkf-ambient-c2,#35C0D5)}
body.wkf-ambient-effect-blue_mist .wkf-site-ambient__shape--2{background:var(--wkf-ambient-c1,#0879D1)}
body.wkf-ambient-effect-blue_mist .wkf-site-ambient__shape{filter:blur(var(--wkf-ambient-blur,95px));animation:wkfCloudBreath var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}

@keyframes wkfAmbientDriftA{0%{transform:translate3d(-5%,0,0) scale(.92)}50%{transform:translate3d(32%,16%,0) scale(1.08)}100%{transform:translate3d(58%,-7%,0) scale(.98)}}
@keyframes wkfAmbientDriftB{0%{transform:translate3d(8%,-10%,0) scale(1.06)}50%{transform:translate3d(-34%,22%,0) scale(.94)}100%{transform:translate3d(-58%,5%,0) scale(1.04)}}
@keyframes wkfAmbientDriftC{0%{transform:translate3d(-12%,18%,0) scale(.92)}50%{transform:translate3d(10%,-28%,0) scale(1.1)}100%{transform:translate3d(38%,-5%,0) scale(.98)}}
@keyframes wkfAmbientDriftD{0%{transform:translate3d(12%,8%,0) scale(1)}100%{transform:translate3d(-38%,-22%,0) scale(1.12)}}
@keyframes wkfAuroraA{0%{transform:translate3d(-12%,0,0) rotate(-3deg) scaleX(.9)}100%{transform:translate3d(38%,18%,0) rotate(6deg) scaleX(1.1)}}
@keyframes wkfAuroraB{0%{transform:translate3d(20%,-8%,0) rotate(4deg)}100%{transform:translate3d(-44%,24%,0) rotate(-5deg)}}
@keyframes wkfAuroraC{0%{transform:translate3d(-8%,12%,0) rotate(-2deg)}100%{transform:translate3d(48%,-18%,0) rotate(7deg)}}
@keyframes wkfHeatPulse{0%,12%,52%,100%{opacity:0;transform:scale(.72) translate3d(-5%,8%,0)}22%{opacity:.92;transform:scale(1.02) translate3d(7%,-4%,0)}34%{opacity:.32;transform:scale(1.18) translate3d(13%,-8%,0)}}
@keyframes wkfCloudBreath{0%{transform:translate3d(-6%,3%,0) scale(.92);opacity:.62}50%{transform:translate3d(8%,-4%,0) scale(1.08);opacity:1}100%{transform:translate3d(15%,7%,0) scale(.96);opacity:.7}}

@media(max-width:767px){body.wkf-ambient-hide-mobile .wkf-site-ambient{display:none!important}.wkf-site-ambient{inset:-10vh -35vw}}
@media(prefers-reduced-motion:reduce){.wkf-site-ambient__shape,.wkf-site-ambient__texture,.wkf-ambient-contours{animation:none!important;will-change:auto!important}}

/* 4.15.2 – thermography-inspired structured presets. Kept deliberately subtle and non-decorative. */
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient,
body.wkf-ambient-effect-thermal_scan .wkf-site-ambient,
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient,
body.wkf-ambient-effect-measurement_field .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_floating .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient{opacity:1}
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__shape,
body.wkf-ambient-effect-thermal_scan .wkf-site-ambient__shape,
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__shape,
body.wkf-ambient-effect-measurement_field .wkf-site-ambient__shape,
body.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient__shape,
body.wkf-ambient-effect-isotherm_floating .wkf-site-ambient__shape,
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__shape{opacity:var(--wkf-ambient-opacity,.10)}
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__texture,
body.wkf-ambient-effect-thermal_scan .wkf-site-ambient__texture,
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__texture,
body.wkf-ambient-effect-measurement_field .wkf-site-ambient__texture,
body.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient__texture,
body.wkf-ambient-effect-isotherm_floating .wkf-site-ambient__texture,
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture{inset:-10%;opacity:var(--wkf-ambient-pattern-opacity,.07);transform:scale(var(--wkf-ambient-pattern-scale,1));transform-origin:center}

/* Isothermen – organische Konturen wie sehr dezente Isotherm-Linien, nicht wie ein generisches KI-Muster. */
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__shape--1{width:36vw;height:32vw;left:5vw;top:10vh;animation:wkfCloudBreath var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__shape--2{width:32vw;height:30vw;right:4vw;top:42vh;animation:wkfCloudBreath var(--wkf-ambient-speed,42s) ease-in-out -11s infinite alternate-reverse}
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__shape--3,
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__shape--4{display:none}
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__texture{
  background-image:
    repeating-radial-gradient(ellipse at 12% 18%,transparent 0 30px,color-mix(in srgb,var(--wkf-ambient-c1) 72%,transparent) 31px 32px,transparent 33px 55px),
    repeating-radial-gradient(ellipse at 26% 78%,transparent 0 34px,color-mix(in srgb,var(--wkf-ambient-c2) 55%,transparent) 35px 36px,transparent 37px 62px),
    repeating-radial-gradient(ellipse at 51% 44%,transparent 0 40px,color-mix(in srgb,var(--wkf-ambient-c3) 56%,transparent) 41px 42px,transparent 43px 70px),
    repeating-radial-gradient(ellipse at 74% 16%,transparent 0 33px,color-mix(in srgb,var(--wkf-ambient-c4) 52%,transparent) 34px 35px,transparent 36px 58px),
    repeating-radial-gradient(ellipse at 88% 72%,transparent 0 36px,color-mix(in srgb,var(--wkf-ambient-c2) 48%,transparent) 37px 38px,transparent 39px 64px);
  -webkit-mask-image:none;
  mask-image:none;
  animation:wkfContourFloat var(--wkf-ambient-speed,42s) ease-in-out infinite alternate;
}

/* Thermal Scan – feine Scanlinien und nur gelegentlich ein warmer Mess-Sweep. */
body.wkf-ambient-effect-thermal_scan .wkf-site-ambient__shape--1,
body.wkf-ambient-effect-thermal_scan .wkf-site-ambient__shape--2{display:none}
body.wkf-ambient-effect-thermal_scan .wkf-site-ambient__shape--3{width:44vw;height:34vw;left:34vw;bottom:-12vh;filter:blur(130px);opacity:var(--wkf-ambient-opacity,.10);animation:wkfCloudBreath var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-thermal_scan .wkf-site-ambient__shape--4{display:none}
body.wkf-ambient-effect-thermal_scan .wkf-site-ambient__texture{
  background-image:
    linear-gradient(90deg,transparent 0 44%,color-mix(in srgb,var(--wkf-ambient-c2) 40%,transparent) 48%,color-mix(in srgb,var(--wkf-ambient-c4) 78%,transparent) 50%,color-mix(in srgb,var(--wkf-ambient-c3) 42%,transparent) 52%,transparent 56%),
    repeating-linear-gradient(0deg,color-mix(in srgb,var(--wkf-ambient-c1) 42%,transparent) 0 1px,transparent 1px 22px);
  background-size:34vw 100%,100% 22px;
  background-repeat:no-repeat,repeat;
  background-position:-45vw 0,0 0;
  -webkit-mask-image:linear-gradient(to bottom,transparent 2%,#000 18%,#000 82%,transparent 98%);
  mask-image:linear-gradient(to bottom,transparent 2%,#000 18%,#000 82%,transparent 98%);
  animation:wkfThermalSweep var(--wkf-ambient-speed,42s) cubic-bezier(.45,0,.55,1) infinite;
}

/* Sensor Matrix – erinnert an Detektorpixel/FPA, aber sehr fein und nicht dominant. */
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__shape{filter:blur(125px)}
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__shape--3,
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__shape--4{display:none}
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__shape--1{left:2vw;top:8vh;animation:wkfAmbientDriftA var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__shape--2{right:-2vw;top:46vh;animation:wkfAmbientDriftB var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__texture{
  background-image:
    radial-gradient(circle,color-mix(in srgb,var(--wkf-ambient-c1) 78%,transparent) 0 1.2px,transparent 1.4px),
    linear-gradient(color-mix(in srgb,var(--wkf-ambient-c1) 35%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--wkf-ambient-c1) 35%,transparent) 1px,transparent 1px);
  background-size:26px 26px,26px 26px,26px 26px;
  -webkit-mask-image:radial-gradient(ellipse at 50% 48%,#000 0 34%,transparent 76%);
  mask-image:radial-gradient(ellipse at 50% 48%,#000 0 34%,transparent 76%);
  animation:wkfMatrixDrift var(--wkf-ambient-speed,42s) linear infinite;
}

/* Thermal Ribbons – schlanke thermische Farbbänder, eher Editorial/Industrial als Aurora. */
body.wkf-ambient-effect-spectrum_ribbons .wkf-site-ambient{inset:-24vh -25vw;transform:rotate(-7deg) scale(var(--wkf-ambient-scale,1.15))}
body.wkf-ambient-effect-spectrum_ribbons .wkf-site-ambient__shape{width:105vw;height:8vw;left:-8vw;right:auto;border-radius:50%;filter:blur(clamp(38px,var(--wkf-ambient-blur,95px),105px));opacity:.72}
body.wkf-ambient-effect-spectrum_ribbons .wkf-site-ambient__shape--1{top:12%;animation:wkfRibbonA var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-spectrum_ribbons .wkf-site-ambient__shape--2{top:36%;animation:wkfRibbonB var(--wkf-ambient-speed,42s) ease-in-out -9s infinite alternate}
body.wkf-ambient-effect-spectrum_ribbons .wkf-site-ambient__shape--3{top:61%;bottom:auto;animation:wkfRibbonA var(--wkf-ambient-speed,42s) ease-in-out -18s infinite alternate-reverse}
body.wkf-ambient-effect-spectrum_ribbons .wkf-site-ambient__shape--4{top:79%;bottom:auto;animation:wkfRibbonB var(--wkf-ambient-speed,42s) ease-in-out -26s infinite alternate-reverse}

/* Hotspot Trails – kleine, sehr weiche Wärmeinseln tauchen punktuell auf und verschwinden wieder. */
body.wkf-ambient-effect-hotspot_traces .wkf-site-ambient__shape{width:20vw;height:20vw;filter:blur(clamp(55px,var(--wkf-ambient-blur,95px),130px));opacity:0}
body.wkf-ambient-effect-hotspot_traces .wkf-site-ambient__shape--1{left:4vw;top:14vh;animation:wkfHotspotTrail var(--wkf-ambient-speed,42s) ease-in-out infinite}
body.wkf-ambient-effect-hotspot_traces .wkf-site-ambient__shape--2{right:5vw;top:30vh;animation:wkfHotspotTrail var(--wkf-ambient-speed,42s) ease-in-out -12s infinite}
body.wkf-ambient-effect-hotspot_traces .wkf-site-ambient__shape--3{left:42vw;bottom:1vh;animation:wkfHotspotTrail var(--wkf-ambient-speed,42s) ease-in-out -24s infinite}
body.wkf-ambient-effect-hotspot_traces .wkf-site-ambient__shape--4{right:26vw;bottom:34vh;animation:wkfHotspotTrail var(--wkf-ambient-speed,42s) ease-in-out -33s infinite}

/* Messfeld – Messkreise/Fadenkreuz sehr zurückhaltend, angelehnt an Thermografie-Messwerkzeuge. */
body.wkf-ambient-effect-measurement_field .wkf-site-ambient__shape--1{width:38vw;height:34vw;left:-4vw;top:12vh;filter:blur(135px);animation:wkfCloudBreath var(--wkf-ambient-speed,42s) ease-in-out infinite alternate}
body.wkf-ambient-effect-measurement_field .wkf-site-ambient__shape--2{width:34vw;height:32vw;right:-5vw;bottom:4vh;top:auto;filter:blur(135px);animation:wkfCloudBreath var(--wkf-ambient-speed,42s) ease-in-out -14s infinite alternate-reverse}
body.wkf-ambient-effect-measurement_field .wkf-site-ambient__shape--3,
body.wkf-ambient-effect-measurement_field .wkf-site-ambient__shape--4{display:none}
body.wkf-ambient-effect-measurement_field .wkf-site-ambient__texture{
  background-image:
    radial-gradient(circle at 50% 50%,transparent 0 78px,color-mix(in srgb,var(--wkf-ambient-c1) 72%,transparent) 79px 80px,transparent 81px 118px,color-mix(in srgb,var(--wkf-ambient-c1) 44%,transparent) 119px 120px,transparent 121px),
    linear-gradient(90deg,transparent calc(50% - .5px),color-mix(in srgb,var(--wkf-ambient-c1) 62%,transparent) 50%,transparent calc(50% + .5px)),
    linear-gradient(0deg,transparent calc(50% - .5px),color-mix(in srgb,var(--wkf-ambient-c1) 62%,transparent) 50%,transparent calc(50% + .5px));
  background-size:520px 520px,520px 520px,520px 520px;
  background-position:18% 28%,18% 28%,18% 28%;
  background-repeat:no-repeat;
  -webkit-mask-image:radial-gradient(circle at 18% 28%,#000 0 145px,transparent 235px);
  mask-image:radial-gradient(circle at 18% 28%,#000 0 145px,transparent 235px);
  animation:wkfMeasureDrift var(--wkf-ambient-speed,42s) ease-in-out infinite alternate;
}

@keyframes wkfContourDrift{0%{background-position:0 0,0 0,0 0}100%{background-position:42px -28px,-34px 36px,24px 18px}}
@keyframes wkfThermalSweep{0%,16%{background-position:-45vw 0,0 0}48%,62%{background-position:118vw 0,0 6px}100%{background-position:118vw 0,0 22px}}
@keyframes wkfMatrixDrift{0%{background-position:0 0,0 0,0 0}100%{background-position:52px 26px,52px 26px,52px 26px}}
@keyframes wkfRibbonA{0%{transform:translate3d(-12%,0,0) scaleX(.9)}100%{transform:translate3d(18%,7%,0) scaleX(1.08)}}
@keyframes wkfRibbonB{0%{transform:translate3d(16%,4%,0) scaleX(1.05)}100%{transform:translate3d(-14%,-6%,0) scaleX(.92)}}
@keyframes wkfHotspotTrail{0%,18%,78%,100%{opacity:0;transform:translate3d(-12%,12%,0) scale(.64)}30%{opacity:.82;transform:translate3d(2%,0,0) scale(.92)}48%{opacity:.46;transform:translate3d(18%,-9%,0) scale(1.12)}62%{opacity:.12;transform:translate3d(30%,-16%,0) scale(1.24)}}
@keyframes wkfMeasureDrift{0%{background-position:18% 28%,18% 28%,18% 28%;-webkit-mask-position:0 0;mask-position:0 0}100%{background-position:74% 66%,74% 66%,74% 66%;-webkit-mask-position:0 0;mask-position:0 0}}
@keyframes wkfContourFloat{0%{background-position:0 0,0 0,0 0;transform:translate3d(-1.5%,1%,0) scale(var(--wkf-ambient-pattern-scale,1)) rotate(-1.2deg)}30%{background-position:22px -14px,-18px 20px,10px 8px;transform:translate3d(1.4%,-1.2%,0) scale(calc(var(--wkf-ambient-pattern-scale,1) * 1.02)) rotate(.8deg)}65%{background-position:44px -30px,-36px 34px,22px 17px;transform:translate3d(-1%,1.8%,0) scale(calc(var(--wkf-ambient-pattern-scale,1) * .99)) rotate(-.7deg)}100%{background-position:62px -42px,-54px 50px,30px 24px;transform:translate3d(1.8%,-1.5%,0) scale(calc(var(--wkf-ambient-pattern-scale,1) * 1.03)) rotate(1.1deg)}}


/* Isothermen Monochrom – nur feine Linien, komplett ohne thermische Farben. */
body.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient__shape{display:none}
body.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient__texture{
  background-image:
    repeating-radial-gradient(ellipse at 18% 30%,transparent 0 26px,rgba(86,101,118,.24) 27px 28px,transparent 29px 46px),
    repeating-radial-gradient(ellipse at 78% 62%,transparent 0 34px,rgba(86,101,118,.19) 35px 36px,transparent 37px 58px),
    repeating-radial-gradient(ellipse at 49% 12%,transparent 0 40px,rgba(86,101,118,.15) 41px 42px,transparent 43px 66px);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 12%,rgba(0,0,0,.9) 48%,transparent 90%);
  mask-image:radial-gradient(ellipse at center,#000 12%,rgba(0,0,0,.9) 48%,transparent 90%);
}

/* Isothermen Floating – wie Monochrom, aber mit durchgehend schwebender Linienbewegung. */
body.wkf-ambient-effect-isotherm_floating .wkf-site-ambient__shape{display:none}
body.wkf-ambient-effect-isotherm_floating .wkf-site-ambient__texture{
  background-image:
    repeating-radial-gradient(ellipse at 16% 28%,transparent 0 26px,rgba(86,101,118,.24) 27px 28px,transparent 29px 46px),
    repeating-radial-gradient(ellipse at 73% 66%,transparent 0 32px,rgba(86,101,118,.2) 33px 34px,transparent 35px 54px),
    repeating-radial-gradient(ellipse at 53% 10%,transparent 0 41px,rgba(86,101,118,.15) 42px 43px,transparent 44px 67px);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 14%,rgba(0,0,0,.92) 52%,transparent 92%);
  mask-image:radial-gradient(ellipse at center,#000 14%,rgba(0,0,0,.92) 52%,transparent 92%);
  animation:wkfContourFloat calc(var(--wkf-ambient-speed,42s) * 1.15) ease-in-out infinite alternate;
}


/* 4.15.5 – Seitenmodus: Muster wird NICHT auf die Dokumenthöhe skaliert.
   Stattdessen bleibt die ursprüngliche filigrane Größe erhalten und wird als
   gleichbleibendes Tile über beliebig lange Seiten wiederholt. */
body.wkf-ambient-scroll-page .wkf-site-ambient__texture{transform:none}
body.wkf-ambient-scroll-page.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-isotherm_floating .wkf-site-ambient__texture{
  inset:0;
  min-height:100%;
  background-size:var(--wkf-ambient-pattern-tile,560px) var(--wkf-ambient-pattern-tile,560px);
  background-repeat:repeat;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0,#000 8%,#000 92%,transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
body.wkf-ambient-scroll-page.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture{
  inset:0;
  min-height:100%;
  background-size:920px 920px;
  background-repeat:repeat;
  -webkit-mask-size:var(--wkf-ambient-pattern-tile,560px) var(--wkf-ambient-pattern-tile,560px),var(--wkf-ambient-pattern-tile,560px) var(--wkf-ambient-pattern-tile,560px),var(--wkf-ambient-pattern-tile,560px) var(--wkf-ambient-pattern-tile,560px);
  mask-size:var(--wkf-ambient-pattern-tile,560px) var(--wkf-ambient-pattern-tile,560px),var(--wkf-ambient-pattern-tile,560px) var(--wkf-ambient-pattern-tile,560px),var(--wkf-ambient-pattern-tile,560px) var(--wkf-ambient-pattern-tile,560px);
  -webkit-mask-repeat:repeat;
  mask-repeat:repeat;
}
body.wkf-ambient-scroll-page.wkf-ambient-effect-thermal_scan .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-sensor_matrix .wkf-site-ambient__texture{
  inset:0;
  min-height:100%;
}

/* Isothermen Thermogramm-Linien – die Konturen selbst tragen einen FLIR-artigen
   Violett→Magenta→Orange→Gelb-Verlauf. Keine großen Farbfelder hinter dem Inhalt. */
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__shape{display:none}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture{
  background-image:
    linear-gradient(128deg,#32136f 0%,#68218e 18%,#b52a9b 35%,#e74b65 48%,#ff7b28 61%,#ffc43d 75%,#ffe36d 84%,#8e2a91 100%);
  background-size:920px 920px;
  background-repeat:repeat;
  -webkit-mask-image:
    repeating-radial-gradient(ellipse at 16% 27%,transparent 0 25px,#000 26px 27px,transparent 28px 46px),
    repeating-radial-gradient(ellipse at 74% 64%,transparent 0 32px,#000 33px 34px,transparent 35px 55px),
    repeating-radial-gradient(ellipse at 52% 8%,transparent 0 41px,#000 42px 43px,transparent 44px 68px);
  mask-image:
    repeating-radial-gradient(ellipse at 16% 27%,transparent 0 25px,#000 26px 27px,transparent 28px 46px),
    repeating-radial-gradient(ellipse at 74% 64%,transparent 0 32px,#000 33px 34px,transparent 35px 55px),
    repeating-radial-gradient(ellipse at 52% 8%,transparent 0 41px,#000 42px 43px,transparent 44px 68px);
  -webkit-mask-size:auto;
  mask-size:auto;
  animation:wkfThermalContourFlow calc(var(--wkf-ambient-speed,42s) * 1.2) ease-in-out infinite alternate;
}

@keyframes wkfThermalContourFlow{
  0%{background-position:0 0;-webkit-mask-position:0 0,0 0,0 0;mask-position:0 0,0 0,0 0;transform:translate3d(-1%,1%,0) scale(var(--wkf-ambient-pattern-scale,1))}
  35%{background-position:190px -80px;-webkit-mask-position:22px -14px,-18px 21px,12px 9px;mask-position:22px -14px,-18px 21px,12px 9px;transform:translate3d(1.2%,-1%,0) scale(calc(var(--wkf-ambient-pattern-scale,1) * 1.015))}
  70%{background-position:370px -150px;-webkit-mask-position:43px -29px,-35px 38px,24px 17px;mask-position:43px -29px,-35px 38px,24px 17px;transform:translate3d(-.8%,1.5%,0) scale(calc(var(--wkf-ambient-pattern-scale,1) * .995))}
  100%{background-position:540px -230px;-webkit-mask-position:61px -42px,-53px 52px,32px 25px;mask-position:61px -42px,-53px 52px,32px 25px;transform:translate3d(1.5%,-1.2%,0) scale(calc(var(--wkf-ambient-pattern-scale,1) * 1.02))}
}


/* 4.15.6 – kontinuierliche Isothermen als echtes, zusammenhängendes SVG-Feld. */
.wkf-site-ambient__texture--vector{inset:0!important;overflow:visible;opacity:1!important;transform:none!important;-webkit-mask-image:none!important;mask-image:none!important;background:none!important}
.wkf-site-ambient__texture--vector svg{display:block;width:100%;height:100%;overflow:visible}
.wkf-site-ambient__texture--vector .wkf-ambient-contour{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.wkf-site-ambient__texture--vector .wkf-ambient-contours--floating{animation:wkfVectorFloat calc(var(--wkf-ambient-speed,42s) * 1.1) ease-in-out infinite alternate}
.wkf-site-ambient__texture--vector .wkf-ambient-contours--thermal{animation:wkfVectorFloat calc(var(--wkf-ambient-speed,42s) * 1.2) ease-in-out infinite alternate}
@keyframes wkfVectorFloat{0%{transform:translate3d(0,-8px,0)}50%{transform:translate3d(0,6px,0)}100%{transform:translate3d(0,-4px,0)}}

body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_floating .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector{background:none!important;background-image:none!important;background-repeat:no-repeat!important;background-size:100% 100%!important}
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_floating .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector{opacity:1!important}


/* 4.15.8 – robuste, seitenhohe SVG-Isothermen ohne Überstand hinter dem Footer. */
body.wkf-ambient-effect-isotherm_contours .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_floating .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient{box-sizing:border-box;max-width:none;overflow:hidden!important;contain:paint}
body.wkf-ambient-scroll-page.wkf-ambient-effect-isotherm_contours .wkf-site-ambient,
body.wkf-ambient-scroll-page.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient,
body.wkf-ambient-scroll-page.wkf-ambient-effect-isotherm_floating .wkf-site-ambient,
body.wkf-ambient-scroll-page.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient{position:absolute!important;top:0!important;right:0!important;bottom:auto!important;left:0!important;width:auto!important;transform:none!important}
body.wkf-ambient-scroll-fixed.wkf-ambient-effect-isotherm_contours .wkf-site-ambient,
body.wkf-ambient-scroll-fixed.wkf-ambient-effect-isotherm_monochrome .wkf-site-ambient,
body.wkf-ambient-scroll-fixed.wkf-ambient-effect-isotherm_floating .wkf-site-ambient,
body.wkf-ambient-scroll-fixed.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient{position:fixed!important;inset:0!important;width:auto!important;height:auto!important;transform:none!important}
.wkf-site-ambient__texture--vector{position:absolute!important;display:block!important;box-sizing:border-box;width:100%!important;max-width:none!important;overflow:hidden!important;opacity:1!important;transform:none!important;-webkit-mask-image:none!important;mask-image:none!important;background:none!important}
.wkf-site-ambient__texture--vector svg{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;overflow:hidden!important}
.wkf-site-ambient__texture--vector .wkf-ambient-contour{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
@media(prefers-reduced-motion:reduce){.wkf-site-ambient__texture--vector *{animation:none!important}}


/* 4.15.9 – Thermogramm-Linien sichtbar und klarer animiert */
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient{opacity:1!important}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector .wkf-ambient-contour{filter:drop-shadow(0 0 .25px rgba(255,152,0,.08))}


/* 4.15.10 – Thermogramm-Linien: sichtbar, vollbreit und zuverlässig animiert */
body.wkf-ambient-scroll-page .wkf-site-ambient{width:100vw!important;max-width:100vw!important}
.wkf-site-ambient__texture--vector{left:0!important;right:auto!important;pointer-events:none!important}
.wkf-site-ambient__texture--vector svg{overflow:visible!important}
.wkf-ambient-contour-group{transform-box:fill-box;transform-origin:center;will-change:transform}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector{opacity:1!important}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector .wkf-ambient-contour{filter:drop-shadow(0 0 .35px rgba(255,152,0,.18))}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-ambient-contour-group--0{animation:wkfThermoGroupA calc(var(--wkf-ambient-speed,42s) * .42) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-ambient-contour-group--1{animation:wkfThermoGroupB calc(var(--wkf-ambient-speed,42s) * .48) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-ambient-contour-group--2{animation:wkfThermoGroupC calc(var(--wkf-ambient-speed,42s) * .44) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-ambient-contour-group--3{animation:wkfThermoGroupD calc(var(--wkf-ambient-speed,42s) * .52) ease-in-out infinite alternate}
@keyframes wkfThermoGroupA{0%{transform:translate3d(-22px,-7px,0)}100%{transform:translate3d(24px,8px,0)}}
@keyframes wkfThermoGroupB{0%{transform:translate3d(18px,-10px,0)}100%{transform:translate3d(-26px,12px,0)}}
@keyframes wkfThermoGroupC{0%{transform:translate3d(-14px,12px,0)}100%{transform:translate3d(20px,-11px,0)}}
@keyframes wkfThermoGroupD{0%{transform:translate3d(12px,6px,0)}100%{transform:translate3d(-18px,-9px,0)}}

/* 4.15.13 – Footer sauber halten, Social-Icons erhalten, unterer Rand abdunkeln */
body.wkf-ambient-effect-isotherm_thermal_lines{background-color:#fff}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector{background:none!important}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector svg{width:100%!important;min-width:100%!important}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector .wkf-ambient-contour{filter:drop-shadow(0 0 .3px rgba(255,152,0,.14))}
body.wkf-ambient-effect-isotherm_thermal_lines :is(main,.site-main,#primary,.elementor-location-single,.elementor-location-page,.elementor-location-archive,.entry-content,.elementor-widget-theme-post-content) :is(p,li,h1,h2,h3,h4,h5,h6,.elementor-heading-title){position:relative;z-index:1}
body.wkf-ambient-effect-isotherm_thermal_lines :is(main,.site-main,#primary,.elementor-location-single,.elementor-location-page,.elementor-location-archive,.entry-content,.elementor-widget-theme-post-content) :is(p,li,.elementor-heading-title,h1,h2,h3,h4,h5,h6){text-shadow:0 0 10px rgba(255,255,255,.98),0 0 18px rgba(255,255,255,.98),0 0 28px rgba(255,255,255,.96)}
body.wkf-ambient-effect-isotherm_thermal_lines :is(main,.site-main,#primary,.elementor-location-single,.elementor-location-page,.elementor-location-archive,.entry-content,.elementor-widget-theme-post-content) :is(p,li){box-shadow:0 0 0 3px rgba(255,255,255,.78);background:rgba(255,255,255,.78);-webkit-box-decoration-break:clone;box-decoration-break:clone}
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer){position:relative;z-index:1}
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer) :is(p,li,h1,h2,h3,h4,h5,h6,.elementor-heading-title){text-shadow:none!important;box-shadow:none!important;background:transparent!important}
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer) .elementor-social-icon,
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer) .elementor-icon,
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer) .elementor-social-icon i,
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer) .elementor-social-icon svg,
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer) .elementor-icon i,
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer) .elementor-icon svg{filter:none!important;text-shadow:none!important;box-shadow:none!important}
body.wkf-ambient-effect-isotherm_thermal_lines .elementor-widget-image,
body.wkf-ambient-effect-isotherm_thermal_lines .wp-block-image{position:relative;z-index:1}


/* 4.15.16 – Isothermen-Konturen gleichmäßig über die gesamte Breite ohne Rechts-Fade. */
html:has(body.wkf-ambient-effect-isotherm_thermal_lines){background:#6a6a6a!important}
body.wkf-ambient-effect-isotherm_thermal_lines{background:#fff!important;min-height:0!important;margin-bottom:0!important}
body.wkf-ambient-effect-isotherm_thermal_lines :is(footer,.site-footer,.elementor-location-footer){margin-bottom:0!important}


/* 4.15.17 – rechte Seite bewusst gleichwertig: keine ausblassenden Endfarben, etwas kräftigere Konturen. */
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector .wkf-ambient-contour{filter:drop-shadow(0 0 .34px rgba(255,132,32,.18))}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector svg{background:none!important}


/* 4.15.20 – neue Isothermen-Varianten sichtbar und animiert wie die Hauptvariante */
body.wkf-ambient-effect-isotherm_thermal_lines,body.wkf-ambient-effect-isotherm_thermal_elegant,body.wkf-ambient-effect-isotherm_thermal_technical,body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient{opacity:1!important}
body.wkf-ambient-effect-isotherm_thermal_lines,body.wkf-ambient-effect-isotherm_thermal_elegant,body.wkf-ambient-effect-isotherm_thermal_technical,body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient__texture--vector{opacity:1!important;background:none!important}
body.wkf-ambient-effect-isotherm_thermal_lines,body.wkf-ambient-effect-isotherm_thermal_elegant,body.wkf-ambient-effect-isotherm_thermal_technical,body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient__texture--vector svg{background:none!important;width:100%!important;min-width:100%!important;overflow:visible!important}
body.wkf-ambient-effect-isotherm_thermal_lines,body.wkf-ambient-effect-isotherm_thermal_elegant,body.wkf-ambient-effect-isotherm_thermal_technical,body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient__texture--vector .wkf-ambient-contour{filter:drop-shadow(0 0 .34px rgba(255,132,32,.18))}
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-ambient-contour-group--0{animation:wkfThermoGroupA calc(var(--wkf-ambient-speed,42s) * .42) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-ambient-contour-group--1{animation:wkfThermoGroupB calc(var(--wkf-ambient-speed,42s) * .48) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-ambient-contour-group--2{animation:wkfThermoGroupC calc(var(--wkf-ambient-speed,42s) * .44) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-ambient-contour-group--3{animation:wkfThermoGroupD calc(var(--wkf-ambient-speed,42s) * .52) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-ambient-contour-group--0{animation:wkfThermoGroupA calc(var(--wkf-ambient-speed,42s) * .42) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-ambient-contour-group--1{animation:wkfThermoGroupB calc(var(--wkf-ambient-speed,42s) * .48) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-ambient-contour-group--2{animation:wkfThermoGroupC calc(var(--wkf-ambient-speed,42s) * .44) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-ambient-contour-group--3{animation:wkfThermoGroupD calc(var(--wkf-ambient-speed,42s) * .52) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-ambient-contour-group--0{animation:wkfThermoGroupA calc(var(--wkf-ambient-speed,42s) * .42) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-ambient-contour-group--1{animation:wkfThermoGroupB calc(var(--wkf-ambient-speed,42s) * .48) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-ambient-contour-group--2{animation:wkfThermoGroupC calc(var(--wkf-ambient-speed,42s) * .44) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-ambient-contour-group--3{animation:wkfThermoGroupD calc(var(--wkf-ambient-speed,42s) * .52) ease-in-out infinite alternate}


/* 4.15.21 – thermische Linienvarianten robust sichtbar auf weißem Seitenhintergrund */
html:has(body.wkf-ambient-effect-isotherm_thermal_lines),
html:has(body.wkf-ambient-effect-isotherm_thermal_elegant),
html:has(body.wkf-ambient-effect-isotherm_thermal_technical),
html:has(body.wkf-ambient-effect-isotherm_thermal_organic){background:#fff!important}

body.wkf-ambient-effect-isotherm_thermal_lines,
body.wkf-ambient-effect-isotherm_thermal_elegant,
body.wkf-ambient-effect-isotherm_thermal_technical,
body.wkf-ambient-effect-isotherm_thermal_organic{background:#fff!important}

body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-site-ambient,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient{z-index:0!important;opacity:1!important;mix-blend-mode:normal!important;pointer-events:none!important}

body.wkf-ambient-effect-isotherm_thermal_lines > *:not(.wkf-site-ambient),
body.wkf-ambient-effect-isotherm_thermal_elegant > *:not(.wkf-site-ambient),
body.wkf-ambient-effect-isotherm_thermal_technical > *:not(.wkf-site-ambient),
body.wkf-ambient-effect-isotherm_thermal_organic > *:not(.wkf-site-ambient){position:relative;z-index:1}

body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__shape,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-site-ambient__shape,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-site-ambient__shape,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient__shape{display:none!important}

body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-site-ambient__texture,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-site-ambient__texture,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient__texture,
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient__texture--vector{opacity:1!important;background:none!important;background-image:none!important}

body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient__texture--vector svg{display:block!important;width:100%!important;height:100%!important;overflow:visible!important;background:none!important}

body.wkf-ambient-effect-isotherm_thermal_lines .wkf-site-ambient__texture--vector .wkf-ambient-contour,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-site-ambient__texture--vector .wkf-ambient-contour,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-site-ambient__texture--vector .wkf-ambient-contour,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-site-ambient__texture--vector .wkf-ambient-contour{filter:drop-shadow(0 0 .34px rgba(255,132,32,.18));vector-effect:non-scaling-stroke}

body.wkf-ambient-effect-isotherm_thermal_lines .wkf-ambient-contour-group--0,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-ambient-contour-group--0,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-ambient-contour-group--0,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-ambient-contour-group--0{animation:wkfThermoGroupA calc(var(--wkf-ambient-speed,42s) * .42) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-ambient-contour-group--1,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-ambient-contour-group--1,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-ambient-contour-group--1,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-ambient-contour-group--1{animation:wkfThermoGroupB calc(var(--wkf-ambient-speed,42s) * .48) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-ambient-contour-group--2,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-ambient-contour-group--2,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-ambient-contour-group--2,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-ambient-contour-group--2{animation:wkfThermoGroupC calc(var(--wkf-ambient-speed,42s) * .44) ease-in-out infinite alternate}
body.wkf-ambient-effect-isotherm_thermal_lines .wkf-ambient-contour-group--3,
body.wkf-ambient-effect-isotherm_thermal_elegant .wkf-ambient-contour-group--3,
body.wkf-ambient-effect-isotherm_thermal_technical .wkf-ambient-contour-group--3,
body.wkf-ambient-effect-isotherm_thermal_organic .wkf-ambient-contour-group--3{animation:wkfThermoGroupD calc(var(--wkf-ambient-speed,42s) * .52) ease-in-out infinite alternate}

/* 4.15.35 – Datenlinien/Konturenlandschaft: layout-neutrale Hintergrundebene.
   WICHTIG: keine Regeln mehr auf Header, Footer, body-Kinder, Sticky-Elemente,
   Anfrage-Shortcut oder Seitenabstände. Nur die Hintergrundebene wird gestylt. */
/* Keine html/body-Hintergrund-, Höhen-, Margin- oder Overflow-Regeln mehr.
   Die Seite behält exakt das Layout des Themes/Elementor-Templates. */

body.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient,
body.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient{
  inset:0;
  z-index:-1;
  opacity:1;
  transform:none;
  overflow:hidden;
  contain:paint;
  mix-blend-mode:normal;
  pointer-events:none;
  user-select:none;
}
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient{
  position:absolute;
  top:0;right:0;bottom:auto;left:0;
}
body.wkf-ambient-scroll-fixed.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient,
body.wkf-ambient-scroll-fixed.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient{
  position:fixed;
  inset:0;
  height:auto!important;
}

body.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__shape,
body.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__shape{display:none!important}

body.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture,
body.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture,
body.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector,
body.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector{
  inset:0;
  background:none!important;
  background-image:none!important;
  opacity:1!important;
  transform:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  pointer-events:none!important;
}

body.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector svg{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  overflow:hidden;
  background:none;
  pointer-events:none;
  shape-rendering:geometricPrecision;
}

body.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector :is(.wkf-ambient-contour,.wkf-ambient-landscape-line,.wkf-ambient-data-line,.wkf-ambient-data-guide),
body.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector :is(.wkf-ambient-contour,.wkf-ambient-landscape-line,.wkf-ambient-data-line,.wkf-ambient-data-guide){
  fill:none;
  vector-effect:non-scaling-stroke;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:none!important;
}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-data-line,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-data-line{stroke-dasharray:4 10}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-data-guide,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-data-guide{stroke-dasharray:2 11}

/* Lesbarkeit ohne Boxen oder Layoutänderung: nur ein sehr weicher weißer Text-Halo. */
body.wkf-ambient-effect-contour_landscape_data :is(main,.site-main,#primary,.entry-content,.elementor-location-single,.elementor-location-page,.elementor-location-archive) :is(p,li,h1,h2,h3,h4,h5,h6,.elementor-heading-title),
body.wkf-ambient-effect-contour_landscape_reference :is(main,.site-main,#primary,.entry-content,.elementor-location-single,.elementor-location-page,.elementor-location-archive) :is(p,li,h1,h2,h3,h4,h5,h6,.elementor-heading-title){
  text-shadow:0 0 8px rgba(255,255,255,.96),0 0 14px rgba(255,255,255,.90);
}

/* Dezente Bewegung nur auf Desktop; mobile/coarse und reduzierte Bewegung bleiben statisch. */
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--0,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--0{animation:wkfThermoGroupA calc(var(--wkf-ambient-speed,42s) * .62) ease-in-out infinite alternate}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--1,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--1{animation:wkfThermoGroupB calc(var(--wkf-ambient-speed,42s) * .70) ease-in-out infinite alternate}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--2,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--2{animation:wkfThermoGroupC calc(var(--wkf-ambient-speed,42s) * .66) ease-in-out infinite alternate}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--3,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--3{animation:wkfThermoGroupD calc(var(--wkf-ambient-speed,42s) * .74) ease-in-out infinite alternate}

@media (max-width:1279px), (prefers-reduced-motion:reduce){
  body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group,
  body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group{animation:none!important}
}




/* 4.15.37 – layout-neutraler Seitenabschluss + zuverlässig steuerbare Animationsgeschwindigkeit */
body.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient,
body.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient{
  --wkf-ambient-speed-local:calc(var(--wkf-ambient-speed,42s) * 1.70);
}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--0,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--0{animation-duration:calc(var(--wkf-ambient-speed-local) * .62)!important}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--1,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--1{animation-duration:calc(var(--wkf-ambient-speed-local) * .70)!important}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--2,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--2{animation-duration:calc(var(--wkf-ambient-speed-local) * .66)!important}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--3,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--3{animation-duration:calc(var(--wkf-ambient-speed-local) * .74)!important}


/* 4.15.38 – echter Seitenabschluss statt weißem/grauem Ausgleichsstreifen.
   Kein eigener Body-/HTML-/Footer-Hintergrund für Datenlinien. Der normale
   Theme-/Elementor-Seitenabschluss bleibt vollständig zuständig. */


/* 4.15.39 – Datenlinien ohne Einfluss auf die Dokumenthöhe.
   Der Vektor-Hintergrund bleibt viewport-fest und folgt beim Scrollen über das SVG-viewBox
   der echten Seitenposition. Dadurch erzeugt er keinerlei zusätzlichen Bereich unter dem Footer. */
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient{
  position:fixed!important;
  inset:0!important;
  width:auto!important;
  height:100vh!important;
  min-height:0!important;
  max-height:100vh!important;
  overflow:hidden!important;
  contain:strict!important;
}
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100vh!important;
  overflow:hidden!important;
}
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector svg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:100vh!important;
  overflow:hidden!important;
}


/* 4.15.40 – Datenlinien mit zusätzlichem Overscan: Linien laufen über den sichtbaren Bereich hinaus, damit rechts/unten keine Endpunkte sichtbar sind. Außerdem wurde die Standardbewegung bewusst verlangsamt, die Einstellung bleibt aber weiterhin steuerbar. */


/* 4.15.41 – Kein künstlicher Lesbarkeits-Halo auf bewusst hellem/weißem Text.
   Dadurch bleiben Hero-, Bild-, Farbband- und Statistikbereiche im Originaldesign. */
body.wkf-ambient-effect-contour_landscape_data :is(.wkf-ambient-no-text-halo),
body.wkf-ambient-effect-contour_landscape_reference :is(.wkf-ambient-no-text-halo){
  text-shadow:none!important;
}

/* 4.15.63 – Datenlinien ohne Scroll-Lag.
   Im Modus „Mit der Seite scrollen“ ist die Konturenlandschaft wieder eine echte
   absolute Dokumentebene statt eines fixed Viewport-Layers, dessen SVG-viewBox per
   JavaScript hinter dem Browser-Scroll hergezogen werden musste. Die Höhe wird aus
   dem layout-neutral gemessenen Dokument gesetzt; absolute Positionierung nimmt die
   Ebene weiterhin vollständig aus dem Seitenfluss und verändert die Dokumenthöhe nicht. */
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:auto!important;
  left:0!important;
  width:100%!important;
  height:var(--wkf-ambient-page-height,100%)!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  contain:paint!important;
}
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector svg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  overflow:hidden!important;
}

/* 4.15.81 – WooCommerce-Performance mit Animation: Der reduzierte SVG-Pfadbestand und die
   entprellte Größenbeobachtung aus 4.15.80 bleiben aktiv, die gleichen langsamen
   Konturgruppen-Animationen wie auf normalen Elementor-Seiten bleiben jedoch sichtbar. */
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group,
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group{
  will-change:transform;
}
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector svg{
  shape-rendering:auto;
}

/* 4.15.97 – Datenlinien: gleicher nativer Scrollpfad wie auf der Startseite.
   Die absolute Hintergrundebene besitzt keine eigene Dokumenthöhe mehr. Als direktes
   Kind des positionierten Body spannt sie sich nur zwischen top:0 und bottom:0 auf.
   Damit kann sie den Scrollbereich unter dem echten Footer nicht verlängern. */
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient{
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  contain:paint!important;
}
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-scroll-page.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector svg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

/* Kein Footer-Fix, kein Root-Canvas-Fix und kein Safari-Scrollzustand. Footer und
   Seitenabschluss bleiben zu 100 % beim Theme/Elementor. */

/* 4.15.98 – Safari/WooCommerce: gleiche leichte Datenlinien-Geometrie wie auf langen Seiten,
   aber weiterhin exakt derselbe native Scrollpfad. Keine Scroll-Listener, kein Header-/Footer-Hack.
   Produktkarten haben eigene helle Flächen; dort entfallen die teuren Textschatten. */
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data :is(main,.site-main,#primary,.entry-content,.elementor-location-single,.elementor-location-page,.elementor-location-archive) :is(p,li,h1,h2,h3,h4,h5,h6,.elementor-heading-title),
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference :is(main,.site-main,#primary,.entry-content,.elementor-location-single,.elementor-location-page,.elementor-location-archive) :is(p,li,h1,h2,h3,h4,h5,h6,.elementor-heading-title){
  text-shadow:none!important;
}
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector :is(.wkf-ambient-contour,.wkf-ambient-landscape-line,.wkf-ambient-data-line,.wkf-ambient-data-guide),
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector :is(.wkf-ambient-contour,.wkf-ambient-landscape-line,.wkf-ambient-data-line,.wkf-ambient-data-guide){
  vector-effect:none!important;
}

/* 4.15.99 – Safari/WooCommerce: den letzten Compositing-Unterschied zur flüssigen
   Startseite entfernen. `will-change: transform` auf vier seitenhohen SVG-Gruppen
   zwang WebKit auf Shopseiten zu vier großen GPU-Layern und war auf der Startseite
   nicht aktiv. Auf Safari-Commerce bleiben die Datenlinien animiert, aber nur zwei
   der vier Gruppen bewegen sich; keinerlei Scroll-/Wheel-Listener oder Layout-Hacks. */
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group,
body.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group{
  will-change:auto!important;
}
body.wkf-ambient-safari.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group,
body.wkf-ambient-safari.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group{
  animation:none!important;
  will-change:auto!important;
}
body.wkf-ambient-safari.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--0,
body.wkf-ambient-safari.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--0{
  animation:wkfThermoGroupA calc(var(--wkf-ambient-speed-local,71.4s) * .92) ease-in-out infinite alternate!important;
}
body.wkf-ambient-safari.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--2,
body.wkf-ambient-safari.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--2{
  animation:wkfThermoGroupC calc(var(--wkf-ambient-speed-local,71.4s) * 1.04) ease-in-out infinite alternate!important;
}
body.wkf-ambient-safari.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-safari.wkf-ambient-commerce-lite.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector svg{
  shape-rendering:optimizeSpeed!important;
}



/* 4.16.0 – Konturenlandschaft: ein einheitlicher Performancepfad fuer die ganze Website.
   Die Startseite war bereits fluessig, weil sie wegen ihrer Laenge automatisch den
   Lite-Renderer erhielt. Kurze/ mittlere Elementor-Seiten bekamen dagegen die deutlich
   schwerere Vollgeometrie. Ab jetzt sind Renderer und WebKit-Hinweise seitentypunabhaengig. */
body.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector :is(.wkf-ambient-contour,.wkf-ambient-landscape-line,.wkf-ambient-data-line,.wkf-ambient-data-guide),
body.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector :is(.wkf-ambient-contour,.wkf-ambient-landscape-line,.wkf-ambient-data-line,.wkf-ambient-data-guide){
  vector-effect:none!important;
}
body.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group,
body.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group{
  will-change:auto!important;
}

/* Safari rendert grosse animierte SVG-Gruppen zusammen mit sticky Elementor-Headern
   unguenstiger als Blink. Deshalb gilt die bereits erfolgreiche Shop-Entlastung nun
   auf ALLEN Seiten: alle Linien bleiben sichtbar, nur zwei Gruppen bewegen sich. */
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group,
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group{
  animation:none!important;
  will-change:auto!important;
}
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--0,
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--0{
  animation:wkfThermoGroupA calc(var(--wkf-ambient-speed-local,71.4s) * .92) ease-in-out infinite alternate!important;
}
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_data .wkf-ambient-contour-group--2,
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_reference .wkf-ambient-contour-group--2{
  animation:wkfThermoGroupC calc(var(--wkf-ambient-speed-local,71.4s) * 1.04) ease-in-out infinite alternate!important;
}
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_data .wkf-site-ambient__texture--vector svg,
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_reference .wkf-site-ambient__texture--vector svg{
  shape-rendering:optimizeSpeed!important;
}

/* Der doppelte weiche Text-Halo zwingt WebKit auf textreichen News-/Kontaktseiten
   zu zusaetzlicher Rasterarbeit. In Safari bleibt deshalb die originale Elementor-
   Textdarstellung erhalten. Es werden keine Boxen, Abstaende oder Farben veraendert. */
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_data :is(main,.site-main,#primary,.entry-content,.elementor-location-single,.elementor-location-page,.elementor-location-archive) :is(p,li,h1,h2,h3,h4,h5,h6,.elementor-heading-title),
body.wkf-ambient-safari.wkf-ambient-effect-contour_landscape_reference :is(main,.site-main,#primary,.entry-content,.elementor-location-single,.elementor-location-page,.elementor-location-archive) :is(p,li,h1,h2,h3,h4,h5,h6,.elementor-heading-title){
  text-shadow:none!important;
}
