@charset "UTF-8";
/*
Theme Name: nexTab
Author: nexTab – Oliver Gehrmann
Author URI: https://nextab.de
Theme URI: https://nextab.de
Description: Block-Theme (FSE) für nextab.de. Tokens in theme.json, Komponenten in SCSS-Partials, eigene Blöcke ohne Build.
Tags: full-site-editing, block-patterns
Text Domain: nxt
Requires at least: 6.6
Requires PHP: 8.1
Tested up to: 6.8
Version: 2.0.0

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
/* #region Normalization */
*,
*::before,
*::after {
  box-sizing: border-box;
}

*:not(dialog) {
  margin: 0;
}

html {
  font-size: 16px;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  position: relative;
}

:where(body) {
  font-size: 100%;
  line-height: 1.6;
}

canvas,
img,
picture,
svg,
video {
  display: block;
  max-width: 100%;
}

/* #endregion Normalization */
/* #region Spacing – 1:1 zu theme.json settings.spacing.spacingSizes */
/* #endregion Spacing */
/* #region Farben ohne Preset */
/* #endregion Farben ohne Preset */
/* #region Presets als Kurzform */
/* #endregion Presets als Kurzform */
/* #region Radien */
/* #endregion Radien */
/* #region Schrift und Effekte ohne Preset */
/* #endregion Schrift und Effekte ohne Preset */
/* #region Einheiten */
/* #endregion Einheiten */
/* #region Breakpoints */
/* #endregion Breakpoints */
/* #region Fokus */
/* #endregion Fokus */
/* #region Platzhalter */
a {
  outline: 2px dashed transparent;
  outline-offset: 0;
  transition: outline-color 300ms ease, outline-offset 300ms ease;
}
a:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  a {
    transition: none;
  }
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal;
}

.ref-more__dot, .nxt-video-slider__dot, .nxt-reviews__dot {
  background: var(--wp--preset--color--logo);
  border: 0;
  border-radius: 0;
  cursor: pointer;
  height: 0.5rem;
  padding: 0;
  transform: skewX(-45deg) scaleX(var(--nxt-dot-grow, 1));
  transform-origin: center;
  transition: background-color 200ms ease, margin-inline 200ms ease, transform 200ms ease;
  width: 1.5rem;
}

.jet-form-builder button,
.jet-form-builder__action-button, .wp-element-button,
.wp-block-button__link {
  cursor: pointer;
  position: relative;
  text-decoration: none;
  transition: padding 300ms ease, background-color 300ms ease, border-color 300ms ease;
}
.jet-form-builder button::after,
.jet-form-builder__action-button::after, .wp-element-button::after,
.wp-block-button__link::after {
  aspect-ratio: 359/633;
  background: currentColor;
  content: "";
  mask: url("assets/img/caret-right.svg") no-repeat center/contain;
  opacity: 0;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 300ms ease, right 300ms ease, left 300ms ease;
  width: 0.625rem;
}
.jet-form-builder button:hover,
.jet-form-builder__action-button:hover, .wp-element-button:hover,
.wp-block-button__link:hover, .jet-form-builder button:focus-visible,
.jet-form-builder__action-button:focus-visible, .wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
  padding-left: 1em;
  padding-right: 2em;
}
.jet-form-builder button:hover::after,
.jet-form-builder__action-button:hover::after, .wp-element-button:hover::after,
.wp-block-button__link:hover::after, .jet-form-builder button:focus-visible::after,
.jet-form-builder__action-button:focus-visible::after, .wp-element-button:focus-visible::after,
.wp-block-button__link:focus-visible::after {
  opacity: 1;
  right: 0.625em;
}
.jet-form-builder button:focus-visible,
.jet-form-builder__action-button:focus-visible, .wp-element-button:focus-visible,
.wp-block-button__link:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}

.jet-form-builder button.jet-form-builder__prev-page::after, .wp-block-button.is-style-back-button > .wp-block-button__link::after {
  left: 1em;
  right: auto;
  transform: translateY(-50%) scaleX(-1);
}
.jet-form-builder button.jet-form-builder__prev-page:hover, .wp-block-button.is-style-back-button > .wp-block-button__link:hover, .jet-form-builder button.jet-form-builder__prev-page:focus-visible, .wp-block-button.is-style-back-button > .wp-block-button__link:focus-visible {
  padding-left: 2em;
  padding-right: 1em;
}
.jet-form-builder button.jet-form-builder__prev-page:hover::after, .wp-block-button.is-style-back-button > .wp-block-button__link:hover::after, .jet-form-builder button.jet-form-builder__prev-page:focus-visible::after, .wp-block-button.is-style-back-button > .wp-block-button__link:focus-visible::after {
  left: 0.625em;
  right: auto;
}

input[type=text],
input[type=email],
input[type=url],
input[type=number],
input[type=date],
input[type=search],
input[type=tel],
textarea,
select {
  background-color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 0.25rem;
  box-sizing: border-box;
  color: var(--wp--preset--color--contrast);
  font-family: inherit;
  font-size: var(--wp--preset--font-size--medium);
  line-height: 1.3;
  padding: var(--wp--preset--spacing--30, 0.625rem) var(--wp--preset--spacing--40, 1rem);
  transition: border-color 300ms ease, box-shadow 300ms ease;
  width: 100%;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=number]:focus,
input[type=date]:focus,
input[type=search]:focus,
input[type=tel]:focus,
textarea:focus,
select:focus {
  border-color: var(--wp--preset--color--secondary);
  box-shadow: 0 0 0 1px var(--wp--preset--color--secondary);
  outline: none;
}

/* #endregion Platzhalter */
body {
  --noise-filter: brightness(0.7) opacity(0.8) contrast(0.3);
  --dark-mode-switcher-filter: none;
  --header-scrolled-box-shadow: 0 0 0.0625rem 1px color-mix(in srgb, var(--wp--preset--color--primary) 80%, transparent);
  --logo-main-color: var(--wp--preset--color--logo);
  --logo-highlight-color: var(--wp--preset--color--primary);
  --video-description-background: color-mix(in srgb, var(--wp--preset--color--black) 80%, transparent);
}

.dark-mode {
  --wp--preset--color--base: #191616;
  --wp--preset--color--base-2: #292626;
  --wp--preset--color--base-3: #393636;
  --wp--preset--color--surface: #292626;
  --wp--preset--color--contrast: #ffffff;
  --wp--preset--color--muted: #c5c2c2;
  --wp--preset--color--line: #3d3a3a;
  --wp--preset--color--logo: #ffffff;
  --wp--preset--shadow--card: 0 1px 8px 0 color-mix(in srgb, var(--wp--preset--color--primary) 93%, transparent);
  --wp--preset--shadow--card-hover: 0 1px 12px 1px var(--wp--preset--color--primary);
  --wp--preset--shadow--section-top: 0 -2px 0.5rem 0 color-mix(in srgb, var(--wp--preset--color--white) 13%, transparent);
  --noise-filter: opacity(0.8);
  --dark-mode-switcher-filter: invert(1);
  --header-scrolled-box-shadow: 0 0 0.125rem 1px color-mix(in srgb, var(--wp--preset--color--primary) 80%, transparent);
  --video-description-background: color-mix(in srgb, var(--wp--preset--color--base-3) 94%, transparent);
}

/* #region Header-Rahmen (fixed, .scrolled per nxt-frontend.js) */
body:not(.editor-styles-wrapper) header.wp-block-template-part:has(.nxt-header) {
  left: 0;
  position: fixed;
  top: 0;
  transition: background-color 500ms ease;
  width: 100%;
  z-index: 100;
}
body:not(.editor-styles-wrapper) header.wp-block-template-part:has(.nxt-header).scrolled {
  background-color: var(--wp--preset--color--base-2);
}
body:not(.editor-styles-wrapper) header.wp-block-template-part:has(.nxt-header).scrolled .nxt-logo {
  width: 7.5rem;
}

.nxt-header-tools {
  max-height: 2rem;
  transition: max-height 300ms ease, margin-bottom 300ms ease, opacity 300ms ease, translate 300ms ease, visibility 300ms;
}
.scrolled .nxt-header-tools {
  margin-bottom: calc(var(--wp--preset--spacing--30, 0.625rem) * -1);
  max-height: 0;
  opacity: 0;
  translate: 0 -2rem;
  visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .nxt-header-tools {
    transition: none;
  }
}

body:not(.editor-styles-wrapper) .nxt-header {
  border-bottom-color: transparent !important;
  position: relative;
}
body:not(.editor-styles-wrapper) .nxt-header::after {
  background-color: var(--wp--preset--color--primary);
  bottom: -2px;
  content: "";
  height: 2px;
  left: 0;
  pointer-events: none;
  position: absolute;
  width: var(--nxt-bar, 0%);
}

html.is-sweeping body:not(.editor-styles-wrapper) .nxt-header {
  --nxt-bar: 0%;
}

html.nxt-bar-done body:not(.editor-styles-wrapper) .nxt-header,
html:active-view-transition body:not(.editor-styles-wrapper) .nxt-header {
  --nxt-bar: 100%;
}

@media (prefers-reduced-motion: reduce) {
  body:not(.editor-styles-wrapper) .nxt-header {
    --nxt-bar: 100%;
  }
}
body.admin-bar header.wp-block-template-part:has(.nxt-header) {
  top: 32px;
}
@media only screen and (max-width: 782px) {
  body.admin-bar header.wp-block-template-part:has(.nxt-header) {
    top: 46px;
  }
}
@media only screen and (max-width: 600px) {
  body.admin-bar header.wp-block-template-part:has(.nxt-header).scrolled {
    top: 0;
  }
}

/* #region Responsive Design Fixes */
/* #region width <= 600px */
@media only screen and (max-width: 600px) {
  #wpadminbar {
    top: -46px;
  }
  body.scrolled {
    --wp-admin--admin-bar--height: 0;
  }
}
/* #endregion width <= 600px */
/* #endregion Responsive Design Fixes */
.nxt-header > .wp-block-group {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}

/* #endregion Header-Rahmen */
/* #region Logo (Block nxt/logo) */
.nxt-logo {
  line-height: 0;
  transition: width 500ms ease;
  width: 11rem;
}
@media only screen and (max-width: 1080px) {
  .nxt-logo {
    width: 10rem;
  }
}
@media only screen and (max-width: 781px) {
  .nxt-logo {
    width: 9rem;
  }
}
.nxt-logo .nxt-logo__link {
  display: block;
}
.nxt-logo .nxt-logo__svg {
  display: block;
  height: auto;
  width: 100%;
}
.nxt-logo .logo-color-1,
.nxt-logo .logo-highlight-color {
  stroke-dashoffset: 0;
  stroke-width: 1px;
  transform: translate3d(0, 0, 0);
}
.nxt-logo .logo-color-1 {
  animation: nxt-logo-main 2.25s linear forwards;
  fill: none;
  stroke-dasharray: 1200;
}
.nxt-logo .logo-highlight-color {
  animation: nxt-logo-highlight 2.75s linear forwards;
  fill: none;
  stroke-dasharray: 320;
}

.nxt-ua-safari .nxt-logo .logo-color-1,
.nxt-ua-safari .nxt-logo .logo-highlight-color {
  animation: none;
  stroke-dasharray: 0;
}
.nxt-ua-safari .nxt-logo .logo-color-1 {
  fill: var(--logo-main-color);
}
.nxt-ua-safari .nxt-logo .logo-highlight-color {
  fill: var(--logo-highlight-color);
}

@media (prefers-reduced-motion: reduce) {
  .nxt-logo .logo-color-1,
  .nxt-logo .logo-highlight-color {
    animation: none;
    stroke-dasharray: 0;
  }
  .nxt-logo .logo-color-1 {
    fill: var(--logo-main-color);
  }
  .nxt-logo .logo-highlight-color {
    fill: var(--logo-highlight-color);
  }
}
@keyframes nxt-logo-main {
  0% {
    fill: transparent;
    stroke-dashoffset: 1200;
    stroke: var(--logo-main-color);
  }
  55%, 66% {
    fill: transparent;
    stroke-dashoffset: 0;
    stroke: var(--logo-main-color);
  }
  100% {
    fill: var(--logo-main-color);
    stroke-dashoffset: 0;
    stroke: var(--logo-main-color);
  }
}
@keyframes nxt-logo-highlight {
  0%, 36% {
    fill: transparent;
    stroke-dashoffset: 320;
    stroke: var(--logo-main-color);
  }
  72% {
    fill: transparent;
    stroke-dashoffset: 0;
    stroke: var(--logo-highlight-color);
  }
  100% {
    fill: var(--logo-highlight-color);
    stroke-dashoffset: 0;
    stroke: var(--logo-highlight-color);
  }
}
/* #endregion Logo */
/* #region Tab-Navigation (is-style-nxt-tabs auf core/navigation) */
.wp-block-navigation.is-style-nxt-tabs {
  --nxt-tab-skew: 16px;
  --nxt-tab-overlap: 11px;
  --nxt-tab-border: 1.5px;
  --nxt-tab-clip: polygon(var(--nxt-tab-skew) 0, 100% 0, calc(100% - var(--nxt-tab-skew)) 100%, 0 100%);
  --nxt-tab-fill: var(--wp--preset--color--base-2);
  align-self: flex-end;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation__container {
  align-items: flex-end;
  gap: 0;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item {
  margin-left: calc(var(--nxt-tab-overlap) * -1);
  position: relative;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:first-child {
  margin-left: 0;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content {
  background-color: var(--wp--preset--color--primary);
  clip-path: var(--nxt-tab-clip);
  display: flex;
  isolation: isolate;
  opacity: 0.75;
  padding: var(--wp--preset--spacing--20, 0.25rem) calc(var(--nxt-tab-skew) + var(--wp--preset--spacing--30, 0.625rem));
  padding: calc(var(--wp--preset--spacing--20, 0.25rem) + (1lh - 1cap) / 2) calc(var(--nxt-tab-skew) + var(--wp--preset--spacing--30, 0.625rem));
  text-decoration: none;
  transition: opacity 200ms ease;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content::before {
  background-color: var(--nxt-tab-fill);
  clip-path: var(--nxt-tab-clip);
  content: "";
  inset: var(--nxt-tab-border) var(--nxt-tab-border) 0;
  position: absolute;
  transition: background-color 200ms ease;
  z-index: -1;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content:hover, .wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content:focus-visible {
  opacity: 1;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__label {
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}
.wp-block-navigation.is-style-nxt-tabs .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation.is-style-nxt-tabs .current-menu-ancestor > .wp-block-navigation-item__content,
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content[aria-current=page] {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
  opacity: 1;
  z-index: 2;
}
.wp-block-navigation.is-style-nxt-tabs .current-menu-item > .wp-block-navigation-item__content::before,
.wp-block-navigation.is-style-nxt-tabs .current-menu-ancestor > .wp-block-navigation-item__content::before,
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content[aria-current=page]::before {
  content: none;
}
html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .current-menu-item > .wp-block-navigation-item__content, html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .current-menu-ancestor > .wp-block-navigation-item__content, html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content[aria-current=page] {
  color: var(--wp--preset--color--primary);
  opacity: 1;
  transition: none;
}
html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .current-menu-item > .wp-block-navigation-item__content::before, html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .current-menu-ancestor > .wp-block-navigation-item__content::before, html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content[aria-current=page]::before {
  background-image: linear-gradient(90deg, var(--wp--preset--color--primary) calc(var(--nxt-sweep-x, 0px) - var(--nxt-tab-border)), transparent calc(var(--nxt-sweep-x, 0px) - var(--nxt-tab-border)));
  content: "";
}
html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .current-menu-item > .wp-block-navigation-item__content .wp-block-navigation-item__label, html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .current-menu-ancestor > .wp-block-navigation-item__content .wp-block-navigation-item__label, html.is-sweeping .wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content[aria-current=page] .wp-block-navigation-item__label {
  background-image: linear-gradient(90deg, var(--wp--preset--color--white) var(--nxt-sweep-label-x, 0px), var(--wp--preset--color--primary) var(--nxt-sweep-label-x, 0px));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--wp--preset--color--primary);
  margin-block: -0.3em;
  padding-block: 0.3em;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__description {
  display: none;
}
.wp-block-navigation.is-style-nxt-tabs .nxt-nav-crumb {
  align-items: center;
  animation: nxt-crumb-in 250ms ease-out both;
  background-color: var(--nxt-tab-fill);
  clip-path: var(--nxt-tab-clip);
  color: var(--wp--preset--color--contrast);
  display: flex;
  font-size: var(--wp--preset--font-size--small);
  gap: var(--wp--preset--spacing--20, 0.25rem);
  left: calc(var(--nxt-tab-skew) * -1);
  padding: 7px calc(var(--nxt-tab-skew) + var(--wp--preset--spacing--20, 0.25rem)) 5px;
  pointer-events: none;
  position: absolute;
  top: calc(100% + 2px);
  transition: clip-path 300ms ease, translate 300ms ease;
  white-space: nowrap;
  z-index: 3;
}
.scrolled .wp-block-navigation.is-style-nxt-tabs .nxt-nav-crumb {
  clip-path: polygon(0 100%, calc(100% - var(--nxt-tab-skew)) 100%, calc(100% - var(--nxt-tab-skew)) 100%, 0 100%);
  translate: 0 -100%;
}
.wp-block-navigation.is-style-nxt-tabs .nxt-nav-crumb::before {
  aspect-ratio: 200/193;
  background-color: var(--wp--preset--color--primary);
  content: "";
  flex-shrink: 0;
  height: 0.5em;
  mask: url("assets/img/pfeil-rechts.svg") no-repeat center/contain;
  margin-top: -3px;
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-navigation.is-style-nxt-tabs .nxt-nav-crumb {
    animation: none;
    transition: none;
  }
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
  margin-left: 0;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  background-color: transparent;
  clip-path: none;
  opacity: 1;
  padding: var(--wp--preset--spacing--30, 0.625rem) 0;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::before {
  content: none;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation__responsive-container.is-menu-open .current-menu-ancestor > .wp-block-navigation-item__content {
  color: var(--wp--preset--color--primary);
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation__responsive-container.is-menu-open .nxt-nav-crumb {
  background: none;
  clip-path: none;
  justify-content: center;
  padding: 0 0 var(--wp--preset--spacing--30, 0.625rem);
  position: static;
  translate: none;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation__responsive-container-open {
  margin-bottom: var(--wp--preset--spacing--30, 0.625rem);
}

@media (prefers-reduced-motion: reduce) {
  .wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content {
    transition: none;
  }
}
@keyframes nxt-crumb-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* #endregion Tab-Navigation */
/* #region Sections */
.entry-content > section,
.wp-site-blocks > main > section {
  position: relative;
}
.entry-content > section > *:not(.alignfull, .wp-block-cover__background),
.wp-site-blocks > main > section > *:not(.alignfull, .wp-block-cover__background) {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}

.entry-content > *:not(section, .alignfull),
.nxt-footer > * {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}

.wp-block-group.is-style-nxt-noise,
section.noise {
  isolation: isolate;
  position: relative;
}
.wp-block-group.is-style-nxt-noise::before,
section.noise::before {
  background: url("assets/img/noise-light.png") repeat;
  background-blend-mode: multiply;
  background-size: 110px;
  content: "";
  filter: var(--noise-filter);
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}

.wp-block-group.section-top-box-shadow {
  box-shadow: var(--wp--preset--shadow--section-top);
}

.wp-block-group.section-top-box-shadow:has(> .nxt-shape-divider--top),
.wp-block-group:has(> .nxt-shape-divider--bottom) + .wp-block-group.section-top-box-shadow {
  box-shadow: none;
}

/* #endregion Sections */
/* #region Trennstrich unter h2 */
h2.wp-block-heading + p.has-medium-font-size::before {
  --nxt-bar-height: 6px;
  background-color: var(--wp--preset--color--secondary);
  clip-path: polygon(var(--nxt-bar-height) 0, 100% 0, calc(100% - var(--nxt-bar-height)) 100%, 0 100%);
  content: "";
  display: block;
  height: var(--nxt-bar-height);
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
  margin-top: var(--wp--preset--spacing--40, 1rem);
  width: 6rem;
}
h2.wp-block-heading + p.has-medium-font-size.has-text-align-center::before {
  margin-left: auto;
  margin-right: auto;
}

/* #endregion Trennstrich unter h2 */
/* #region Block-Styles (registriert in inc/block-styles.php) */
.wp-block-group.is-style-nxt-fliesstext > * + * {
  margin-block-start: var(--wp--preset--spacing--40, 1rem);
}
.wp-block-group.is-style-nxt-fliesstext > * + :is(h2, h3, h4, h5, h6) {
  margin-block-start: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
}

.is-style-text-wrap-balance {
  text-wrap: balance;
}
.is-style-text-wrap-balance li,
.is-style-text-wrap-balance p {
  text-wrap: balance;
}

.wp-block-image.is-style-nxt-mirror img,
.wp-block-image.mirror-hor img {
  transform: scaleX(-1);
}

ul.is-style-nxt-arrows,
ul.nxt-list {
  list-style: none;
  padding-left: 0;
}
ul.is-style-nxt-arrows li,
ul.nxt-list li {
  padding-bottom: var(--wp--preset--spacing--30, 0.625rem);
  padding-left: 1.125em;
  position: relative;
}
ul.is-style-nxt-arrows li::before,
ul.nxt-list li::before {
  aspect-ratio: 200/193;
  background: var(--wp--preset--color--primary);
  content: "";
  height: 0.6em;
  left: 0;
  mask: url("assets/img/pfeil-rechts.svg") no-repeat center/contain;
  position: absolute;
  top: 0.35em;
}

/* #endregion Block-Styles */
/* #region Timeline (Plugin nxt-timeline) */
.nxt-timeline .is-style-nxt-timeline-anchor {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  margin-bottom: var(--wp--preset--spacing--40, 1rem);
  padding: var(--wp--preset--spacing--20, 0.25rem) var(--wp--preset--spacing--40, 1rem);
  transition: background-color 600ms ease;
  white-space: nowrap;
}
.nxt-timeline .nxt-timeline-entry__inner > .wp-block-group {
  border: 1px solid var(--wp--preset--color--line);
  box-shadow: var(--wp--preset--shadow--card);
  transition: border-color 600ms ease;
}
.nxt-timeline .nxt-timeline-entry figure {
  filter: saturate(0.3);
  transition: filter 1s ease 400ms;
}
.nxt-timeline .nxt-timeline-entry.scrolled-past .is-style-nxt-timeline-anchor {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}
.nxt-timeline .nxt-timeline-entry.scrolled-past .nxt-timeline-entry__inner > .wp-block-group {
  border-color: var(--wp--preset--color--primary);
}
.nxt-timeline .nxt-timeline-entry.scrolled-past figure {
  filter: none;
}
.nxt-timeline.wp-block-nxt-timeline.is-mobile > .nxt-timeline-entry {
  padding-inline-start: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
}
.nxt-timeline.wp-block-nxt-timeline.is-mobile > .nxt-timeline-entry > .nxt-timeline-entry__inner {
  padding: 0;
}
.nxt-timeline.wp-block-nxt-timeline.is-mobile .is-style-nxt-timeline-anchor {
  width: fit-content;
}

/* #endregion Timeline */
/* #region Buttons */
button[type=submit].wp-element-button {
  --nxt-focus: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-back-button > .wp-block-button__link {
  --nxt-focus: currentColor;
  background: transparent;
  border: 2px solid var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--secondary);
  padding-left: 2.25em;
}
.wp-block-button.is-style-back-button > .wp-block-button__link::after {
  left: 1em;
  opacity: 1;
}
.wp-block-button.is-style-back-button > .wp-block-button__link:hover, .wp-block-button.is-style-back-button > .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--white);
  padding-left: 2.5em;
  padding-right: 1.25em;
}
.wp-block-button.is-style-back-button > .wp-block-button__link:hover::after, .wp-block-button.is-style-back-button > .wp-block-button__link:focus-visible::after {
  left: 0.75em;
}

/* #endregion Buttons */
/* #region Formulare */
textarea {
  min-height: 8rem;
  resize: vertical;
}

/* #endregion Formulare */
/* #region Leistungen-Liste (Übersicht /leistungen/, Query Loop) */
.nxt-leistung {
  align-items: center;
  border-bottom: 1px solid var(--wp--preset--color--line);
  display: grid;
  gap: var(--wp--preset--spacing--40, 1rem) var(--wp--preset--spacing--50, 1.5rem);
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: var(--wp--preset--spacing--50, 1.5rem) 0;
}
.wp-block-post:last-child .nxt-leistung {
  border-bottom: 0;
}
.nxt-leistung .wp-block-button__link {
  white-space: nowrap;
}
@media only screen and (max-width: 600px) {
  .nxt-leistung {
    align-items: start;
    grid-template-columns: auto minmax(0, 1fr);
  }
  .nxt-leistung > :last-child {
    grid-column: 2;
  }
  .nxt-leistung .wp-block-nxt-lottie {
    height: 3rem;
    width: 3rem;
  }
}

.nxt-leistung__preis {
  text-align: right;
}
.nxt-leistung__preis .wp-block-buttons {
  justify-content: flex-end;
}
@media only screen and (max-width: 600px) {
  .nxt-leistung__preis {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--wp--preset--spacing--30, 0.625rem) var(--wp--preset--spacing--40, 1rem);
    justify-content: space-between;
    text-align: left;
  }
  .nxt-leistung__preis > * {
    margin: 0;
  }
}

/* #endregion Leistungen-Liste */
/* #region Sichtbarkeit pro Gerät (Schalter aus assets/js/nxt-editor.js) */
@media only screen and (min-width: 1081px) {
  .hide-on-desktop {
    display: none !important;
  }
}
@media only screen and (max-width: 1080px) and (min-width: 782px) {
  .hide-on-tablet {
    display: none !important;
  }
}
@media only screen and (max-width: 781px) {
  .hide-on-smartphone {
    display: none !important;
  }
}
/* #endregion Sichtbarkeit pro Gerät */
/* #region Altklassen aus bestehenden DB-Inhalten – entfernen, sobald alle Seiten migriert sind */
.no-margin-bottom {
  margin-bottom: 0;
}

@media only screen and (max-width: 781px) {
  .wp-block-column.mwt600 {
    margin-left: auto;
    margin-right: auto;
    max-width: 37.5rem;
  }
}

@media only screen and (max-width: 781px) {
  .wp-block-columns.reverse-responsive {
    flex-direction: column-reverse;
    gap: var(--wp--preset--spacing--50, 1.5rem);
  }
  .wp-block-columns.gap-on-mobile {
    gap: var(--wp--preset--spacing--50, 1.5rem);
  }
}

/* #endregion Altklassen */
/* #region 404 */
.nxt-404,
.nxt-404 .wp-block-columns,
.nxt-404 .wp-block-column {
  overflow: visible;
}

.nxt-404 .wp-block-column > * + * {
  margin-block-start: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
}

.nxt-404-block {
  background-image: repeating-linear-gradient(45deg, color-mix(in srgb, var(--wp--preset--color--secondary) 25%, transparent) 0 2px, transparent 2px 7px);
  outline: 1px dashed color-mix(in srgb, var(--wp--preset--color--primary) 60%, transparent);
  outline-offset: -1px;
  padding: var(--wp--preset--spacing--40, 1rem);
  position: relative;
}
.nxt-404-block > :not(.nxt-404-block__sig, .nxt-404-block__size) {
  background-color: var(--wp--preset--color--base);
  margin: 0;
  position: relative;
}
.nxt-404-block .wp-block-image img {
  display: block;
  height: auto;
  width: 100%;
}
.nxt-404-block__sig, .nxt-404-block__size {
  font: 500 var(--wp--preset--font-size--small)/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  margin: 0;
  position: absolute;
  z-index: 1;
}
.nxt-404-block__sig {
  background-color: var(--wp--preset--color--primary);
  border-radius: 0.25rem 0.25rem 0 0;
  color: var(--wp--preset--color--white);
  left: var(--wp--preset--spacing--40, 1rem);
  max-width: calc(100% - var(--wp--preset--spacing--40, 1rem) * 2);
  overflow: hidden;
  padding: var(--wp--preset--spacing--20, 0.25rem) var(--wp--preset--spacing--30, 0.625rem);
  text-overflow: ellipsis;
  top: 0;
  transform: translateY(-100%);
  white-space: nowrap;
}
.nxt-404-block__size {
  background-color: var(--wp--preset--color--contrast);
  border-radius: 0 0 0.25rem 0.25rem;
  bottom: 0;
  color: var(--wp--preset--color--base);
  padding: 2px var(--wp--preset--spacing--30, 0.625rem);
  right: 0;
  transform: translateY(100%);
}

.nxt-404-todo {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.nxt-404 code {
  font: inherit;
}

body:has(> .nxt-inspektor.is-on) .nxt-404-block {
  background-image: none;
  outline-color: transparent;
}
body:has(> .nxt-inspektor.is-on) .nxt-404-block .nxt-404-block__sig,
body:has(> .nxt-inspektor.is-on) .nxt-404-block .nxt-404-block__size {
  display: none;
}

/* #endregion 404 */
/* #region nxt/video-slider */
.nxt-video-slider {
  --nxt-slide-gap: var(--wp--preset--spacing--50, 1.5rem);
}
.nxt-video-slider.is-loading .nxt-video-slider__track {
  opacity: 0.5;
}

.nxt-video-slider__search {
  margin-left: auto;
  margin-right: auto;
  max-width: 22rem;
  margin-bottom: var(--wp--preset--spacing--50, 1.5rem);
  margin-top: 0;
}
.nxt-video-slider__search .nxt-video-slider__input {
  border: 0;
  border-radius: 2rem;
  box-shadow: var(--wp--preset--shadow--card);
  padding: var(--wp--preset--spacing--30, 0.625rem) var(--wp--preset--spacing--50, 1.5rem);
}
.nxt-video-slider__search .nxt-video-slider__input:focus {
  box-shadow: 0 0 0 2px var(--wp--preset--color--primary);
}

.nxt-video-slider__track {
  display: grid;
  gap: var(--nxt-slide-gap);
  grid-auto-columns: calc((100% - 2 * var(--nxt-slide-gap)) / 3);
  grid-auto-flow: column;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: var(--wp--preset--spacing--30, 0.625rem) var(--wp--preset--spacing--20, 0.25rem);
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  transition: opacity 200ms ease;
}
.nxt-video-slider__track::-webkit-scrollbar {
  display: none;
}
.nxt-video-slider__track:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}
@media only screen and (max-width: 1080px) {
  .nxt-video-slider__track {
    grid-auto-columns: calc((100% - var(--nxt-slide-gap)) / 2);
  }
}
@media only screen and (max-width: 781px) {
  .nxt-video-slider__track {
    grid-auto-columns: 85%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .nxt-video-slider__track {
    scroll-behavior: auto;
  }
}

.nxt-video-card {
  background-color: var(--wp--preset--color--surface);
  border-radius: 0.5rem;
  box-shadow: var(--wp--preset--shadow--card);
  overflow: hidden;
  scroll-snap-align: start;
  transition: box-shadow 300ms ease;
}
.nxt-video-card:hover, .nxt-video-card:focus-within {
  box-shadow: var(--wp--preset--shadow--card-hover);
}

.nxt-video-card__link {
  color: var(--wp--preset--color--contrast);
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
}
.nxt-video-card__link:hover, .nxt-video-card__link:focus-visible {
  color: var(--wp--preset--color--contrast);
}
.nxt-video-card__link:hover .nxt-video-card__image, .nxt-video-card__link:focus-visible .nxt-video-card__image {
  scale: 1.03;
}
.nxt-video-card__link:hover .nxt-video-card__description, .nxt-video-card__link:focus-visible .nxt-video-card__description {
  opacity: 1;
}

.nxt-video-card__media {
  aspect-ratio: 16/9;
  background-color: var(--wp--preset--color--base-3);
  display: block;
  overflow: hidden;
  position: relative;
}

.nxt-video-card__image {
  display: block;
  height: 100%;
  object-fit: cover;
  transition: scale 500ms ease;
  width: 100%;
}

.nxt-video-card__description {
  background-color: var(--video-description-background);
  color: var(--wp--preset--color--white);
  inset: 0;
  opacity: 0;
  overflow: hidden;
  padding: var(--wp--preset--spacing--40, 1rem);
  position: absolute;
  transition: opacity 500ms ease;
}

.nxt-video-card__title {
  margin: 0;
  padding: var(--wp--preset--spacing--40, 1rem) var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--50, 1.5rem);
}

.nxt-video-slider__empty {
  text-align: center;
}

.nxt-video-slider__dots {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
}

.nxt-video-slider__dot {
  background-clip: content-box;
  box-sizing: content-box;
  padding: var(--wp--preset--spacing--30, 0.625rem) 0;
}
.nxt-video-slider__dot.is-active {
  --nxt-dot-grow: 1.29;
  background-color: var(--wp--preset--color--primary);
  margin-inline: 0.2175rem;
}
.nxt-video-slider__dot:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .nxt-video-card__image,
  .nxt-video-card__description {
    transition: none;
  }
}
/* #endregion nxt/video-slider */
/* #region nxt/reviews */
.nxt-reviews {
  padding-bottom: var(--wp--preset--spacing--30, 0.625rem);
}

.nxt-reviews .swiper-wrapper {
  align-items: stretch;
}

.nxt-reviews .swiper-slide {
  height: auto;
}

.nxt-reviews:not(.swiper-initialized) .swiper-slide:nth-child(n+4) {
  display: none;
}

.nxt-reviews__card {
  background-color: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 0.75rem;
  box-shadow: var(--wp--preset--shadow--card);
  box-sizing: border-box;
  color: var(--wp--preset--color--contrast);
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--wp--preset--spacing--40, 1rem);
  position: relative;
}

.nxt-reviews__provider {
  height: 1.5rem;
  position: absolute;
  right: var(--wp--preset--spacing--30, 0.625rem);
  top: var(--wp--preset--spacing--30, 0.625rem);
  width: 1.5rem;
}
.nxt-reviews__provider svg {
  display: block;
  height: 100%;
  width: 100%;
}

.nxt-reviews__author {
  align-items: center;
  display: flex;
  gap: var(--wp--preset--spacing--30, 0.625rem);
  padding-right: 2rem;
}

.nxt-reviews__avatar {
  border-radius: 50%;
  flex: 0 0 auto;
  height: 3.5rem;
  object-fit: cover;
  width: 3.5rem;
}

.nxt-reviews__who {
  margin: 0;
}

.nxt-reviews__name,
.nxt-reviews__date {
  display: block;
}

.nxt-reviews__name {
  font-weight: 600;
}

.nxt-reviews__stars {
  color: #fbbc05;
  margin: var(--wp--preset--spacing--30, 0.625rem) 0;
}
.nxt-reviews__stars span {
  display: flex;
}
.nxt-reviews__stars svg {
  display: block;
  fill: currentColor;
  height: 1.25rem;
  width: 1.25rem;
}

.nxt-reviews__text {
  margin: 0;
}
.nxt-reviews__text.is-clamped {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  display: -webkit-box;
  line-clamp: 6;
  overflow: hidden;
}

.nxt-reviews__more {
  align-self: flex-start;
  background: none;
  border: 0;
  color: var(--wp--preset--color--primary);
  cursor: pointer;
  font: inherit;
  margin-top: var(--wp--preset--spacing--20, 0.25rem);
  padding: 0;
}
.nxt-reviews__more:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}

.nxt-reviews__pager {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
  position: static;
}

.nxt-reviews__dot {
  background-clip: content-box;
  box-sizing: content-box;
  padding: var(--wp--preset--spacing--30, 0.625rem) 0;
}
.nxt-reviews__dot.is-active {
  --nxt-dot-grow: 1.29;
  background-color: var(--wp--preset--color--primary);
  margin-inline: 0.2175rem;
}
.nxt-reviews__dot:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}

/* #endregion nxt/reviews */
/* #region Variablen */
body {
  --form-outline-color: color-mix(in srgb, var(--wp--preset--color--primary) 67%, transparent);
  --form-highlight-color-inactive: color-mix(in srgb, var(--wp--preset--color--secondary) 0%, transparent);
  --form-highlight-color-active: color-mix(in srgb, var(--wp--preset--color--secondary) 20%, transparent);
  --form-success: var(--wp--preset--color--primary-dark);
}

.dark-mode {
  --form-outline-color: var(--wp--preset--color--secondary);
  --form-highlight-color-inactive: color-mix(in srgb, var(--wp--preset--color--secondary) 16%, transparent);
  --form-success: var(--wp--preset--color--secondary);
}

/* #endregion Variablen */
/* #region Buttons */
.jet-form-builder button,
.jet-form-builder__action-button {
  background-color: var(--wp--preset--color--secondary);
  border: 2px solid var(--wp--preset--color--secondary);
  border-radius: 2rem;
  color: var(--wp--preset--color--white);
  font-family: inherit;
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 700;
  line-height: 1.3;
  padding: 0.5em 1.5em 0.3125em;
  text-transform: uppercase;
}
.jet-form-builder button[type=submit],
.jet-form-builder__action-button[type=submit] {
  --nxt-focus: var(--wp--preset--color--primary);
  background-color: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
}

.wp-element-button.has-primary-background-color,
.wp-block-button__link.has-primary-background-color,
.jet-form-builder button.has-primary-background-color,
.jet-form-builder__action-button.has-primary-background-color {
  --nxt-focus: var(--wp--preset--color--primary);
}
.wp-element-button.has-primary-dark-background-color,
.wp-block-button__link.has-primary-dark-background-color,
.jet-form-builder button.has-primary-dark-background-color,
.jet-form-builder__action-button.has-primary-dark-background-color {
  --nxt-focus: var(--wp--preset--color--primary-dark);
}
.wp-element-button.has-secondary-background-color,
.wp-block-button__link.has-secondary-background-color,
.jet-form-builder button.has-secondary-background-color,
.jet-form-builder__action-button.has-secondary-background-color {
  --nxt-focus: var(--wp--preset--color--secondary);
}
.wp-element-button.has-contrast-background-color, .wp-element-button.has-black-background-color,
.wp-block-button__link.has-contrast-background-color,
.wp-block-button__link.has-black-background-color,
.jet-form-builder button.has-contrast-background-color,
.jet-form-builder button.has-black-background-color,
.jet-form-builder__action-button.has-contrast-background-color,
.jet-form-builder__action-button.has-black-background-color {
  --nxt-focus: var(--wp--preset--color--contrast);
}
.wp-element-button.has-white-background-color,
.wp-block-button__link.has-white-background-color,
.jet-form-builder button.has-white-background-color,
.jet-form-builder__action-button.has-white-background-color {
  --nxt-focus: var(--wp--preset--color--white);
}

.is-style-outline > .wp-block-button__link {
  --nxt-focus: currentColor;
}

.jet-form-builder button.jet-form-builder__prev-page {
  margin-bottom: var(--wp--preset--spacing--40, 1rem);
}

.jet-form-builder__action-button-wrapper.jet-form-builder__submit-wrap {
  justify-content: center;
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

/* #endregion Buttons */
/* #region Felder */
.jet-form-builder-row {
  padding-bottom: var(--wp--preset--spacing--40, 1rem);
}

.jet-form-builder__field-label > span::before {
  border: 2px solid var(--wp--preset--color--primary);
  margin-right: var(--wp--preset--spacing--40, 1rem);
}
.jet-form-builder__field-label.for-checkbox :checked + span::before {
  background-color: var(--wp--preset--color--secondary);
  border-color: var(--wp--preset--color--secondary);
}

.jet-form-builder__field-wrap.checkradio-wrap {
  margin-top: var(--wp--preset--spacing--30, 0.625rem);
}

.jet-form-builder__desc small {
  font-size: inherit;
}

.glass-look {
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  background: color-mix(in srgb, var(--wp--preset--color--white) 21%, transparent);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--white) 45%, transparent);
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 2rem color-mix(in srgb, var(--wp--preset--color--black) 10%, transparent);
  margin-bottom: var(--wp--preset--spacing--30, 0.625rem);
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
  padding: var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--30, 0.625rem);
}
.glass-look.jet-form-builder__conditional .field-type-calculated-field {
  align-items: center;
  flex-flow: row;
  justify-content: space-between;
  width: 100%;
}
.glass-look .jet-form-builder__label {
  flex: 0 1 70%;
}
.glass-look .budget_container {
  font-size: var(--wp--preset--font-size--large);
  font-weight: 400;
  width: auto;
}

.jet-form-builder-message--success {
  border: 2px solid var(--form-success);
  border-radius: 0.25rem;
  color: var(--form-success);
  font-size: var(--wp--preset--font-size--large);
  padding: var(--wp--preset--spacing--50, 1.5rem);
}

/* #endregion Felder */
/* #region Anfrage-Karten (Auswahlfeld mit Bildern, Klasse request_form) */
.request_form ul.wp-block-jet-forms-choices-field {
  align-items: stretch;
  display: grid;
  gap: var(--wp--preset--spacing--50, 1.5rem);
  grid-template-columns: repeat(auto-fit, minmax(min(22.5rem, 100%), 1fr));
  max-width: 100%;
  padding-left: 0;
}
@media only screen and (max-width: 1080px) {
  .request_form ul.wp-block-jet-forms-choices-field {
    grid-template-columns: repeat(auto-fit, minmax(min(17.5rem, 100%), 1fr));
  }
}
.request_form li.jet-form-builder-choice--item {
  align-items: center;
  background: radial-gradient(150rem circle at 0 0, var(--form-highlight-color-inactive), transparent 0%), var(--wp--preset--color--surface);
  border: none;
  border-radius: 0.5rem;
  box-shadow: var(--wp--preset--shadow--card);
  color: var(--wp--preset--color--contrast);
  cursor: pointer;
  display: flex;
  justify-content: center;
  padding: 1px;
  position: relative;
  transition: all 0.15s;
}
.request_form li.jet-form-builder-choice--item:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}
.request_form li.jet-form-builder-choice--item::before {
  background: radial-gradient(60rem circle at var(--xPos) var(--yPos), var(--form-highlight-color-active), transparent 35%);
  border-radius: inherit;
  content: "";
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: all 0.15s ease-in-out;
}
.request_form li.jet-form-builder-choice--item > .wp-block-group {
  background-color: var(--wp--preset--color--surface);
  border-radius: inherit;
  height: calc(100% - 0.1rem);
  padding: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
  position: relative;
  transition: all 0.25s;
  width: calc(100% - 0.1rem);
}
.request_form li.jet-form-builder-choice--item .wp-block-heading {
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--josefin-sans);
  text-transform: uppercase;
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
  padding-bottom: 0.75em;
}
.request_form li.jet-form-builder-choice--item img {
  aspect-ratio: 5/3 !important;
  height: auto !important;
  max-width: 100% !important;
  width: 17.5rem !important;
}

.request_form_container:hover .request_form li.jet-form-builder-choice--item {
  background: radial-gradient(100rem circle at var(--xPos) var(--yPos), var(--form-outline-color), transparent 15%), var(--wp--preset--color--surface);
}
.request_form_container:hover .request_form li.jet-form-builder-choice--item::before {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .request_form li.jet-form-builder-choice--item {
    transition: none;
  }
}
/* #endregion Anfrage-Karten */
/* #region Seite 2 als Detail-Karte */
.request_form.has-request-head .jet-form-builder-page[data-page="2"]:not(.jet-form-builder-page--hidden) {
  align-items: start;
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 0.75rem;
  box-shadow: var(--wp--preset--shadow--card);
  column-gap: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  display: grid;
  grid-template-columns: minmax(0, 14rem) minmax(0, 1fr);
  margin-inline: auto;
  max-width: 56rem;
  padding: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
}
.request_form.has-request-head .jet-form-builder-page[data-page="2"]:not(.jet-form-builder-page--hidden) > * {
  grid-column: 2;
}
.request_form.has-request-head .jet-form-builder-page[data-page="2"]:not(.jet-form-builder-page--hidden) > .nxt-request-head {
  display: contents;
}
@media only screen and (max-width: 1080px) {
  .request_form.has-request-head .jet-form-builder-page[data-page="2"]:not(.jet-form-builder-page--hidden) {
    grid-template-columns: minmax(0, 1fr);
    padding: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
  }
  .request_form.has-request-head .jet-form-builder-page[data-page="2"]:not(.jet-form-builder-page--hidden) > * {
    grid-column: 1;
  }
}

.nxt-request-head__img {
  aspect-ratio: 5/3;
  grid-column: 1 !important;
  grid-row: 1/span 20;
  height: auto;
  width: 100%;
}
@media only screen and (max-width: 1080px) {
  .nxt-request-head__img {
    grid-row: auto;
    max-width: 10rem;
  }
}

.nxt-request-head__title {
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--josefin-sans);
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 700;
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
  text-transform: uppercase;
}

/* #endregion Seite 2 als Detail-Karte */
/* #region Transition */
::view-transition-group(svc-img),
::view-transition-group(svc-title),
::view-transition-group(svc-hero) {
  animation-duration: 500ms;
  animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}

.svc-hero,
.is-style-nxt-svc-hero img {
  view-transition-name: svc-hero;
}

/* #endregion Transition */
/* #region View Transitions */
@view-transition {
  navigation: auto;
}
.wp-site-blocks > header.wp-block-template-part {
  view-transition-name: nxt-header;
}

.wp-site-blocks > main {
  view-transition-name: nxt-page;
}

.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(1) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-1;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(2) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-2;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(3) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-3;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(4) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-4;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(5) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-5;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(6) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-6;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(7) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-7;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(8) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-8;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(9) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-9;
}
.wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item:not(.nxt-live-tab):nth-child(10) > .wp-block-navigation-item__content {
  view-transition-class: nxt-tab;
  view-transition-name: nxt-tab-10;
}

.vt-local .wp-site-blocks > header.wp-block-template-part,
.vt-local .wp-site-blocks > main,
.vt-local .wp-block-navigation.is-style-nxt-tabs .wp-block-navigation-item__content {
  view-transition-name: none;
}

::view-transition-group(nxt-header) {
  animation-duration: 500ms;
  z-index: 2;
}

::view-transition-old(nxt-header),
::view-transition-new(nxt-header) {
  animation: none;
  height: 100%;
  mix-blend-mode: normal;
  object-fit: none;
  overflow: clip;
}

::view-transition-old(nxt-header) {
  opacity: 0;
}

::view-transition-new(nxt-header) {
  opacity: 1;
}

::view-transition-group(nxt-page) {
  z-index: 0;
}

::view-transition-group(*.nxt-tab) {
  animation-duration: 500ms;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 3;
}

::view-transition-old(*.nxt-tab),
::view-transition-new(*.nxt-tab) {
  animation-duration: 500ms;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  height: 100%;
  mix-blend-mode: normal;
}

::view-transition-old(nxt-page) {
  animation: nxt-vt-out 250ms ease both;
}

::view-transition-new(nxt-page) {
  animation: nxt-vt-in 450ms cubic-bezier(0.2, 0.7, 0.2, 1) 50ms both;
}

@keyframes nxt-vt-out {
  to {
    opacity: 0;
    transform: translateX(-2rem);
  }
}
@keyframes nxt-vt-in {
  from {
    opacity: 0;
    transform: translateX(3rem);
  }
}
.intro-done .nxt-logo .logo-color-1,
.intro-done .nxt-logo .logo-highlight-color {
  animation: none;
  stroke-dasharray: 0;
}
.intro-done .nxt-logo .logo-color-1 {
  fill: var(--logo-main-color);
}
.intro-done .nxt-logo .logo-highlight-color {
  fill: var(--logo-highlight-color);
}

@media (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: none;
  }
  ::view-transition-group(*),
  ::view-transition-old(*),
  ::view-transition-new(*) {
    animation: none !important;
  }
}
/* #endregion View Transitions */
/* #region Inspektor */
.nxt-inspektor-switch {
  background: transparent;
  border: 2px solid var(--wp--preset--color--contrast);
  border-radius: 2rem;
  color: var(--wp--preset--color--contrast);
  cursor: pointer;
  flex: none;
  font: 700 var(--wp--preset--font-size--small)/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  height: 1.5rem;
  padding: 0 var(--wp--preset--spacing--30, 0.625rem);
  position: relative;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease;
}
.nxt-inspektor-switch::before {
  content: "";
  inset: -0.75rem -0.25rem;
  position: absolute;
}
.nxt-inspektor-switch:hover {
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
}
.nxt-inspektor-switch[aria-pressed=true] {
  background: var(--wp--preset--color--primary);
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}
.nxt-inspektor-switch:focus-visible {
  outline: 2px dashed var(--wp--preset--color--primary);
  outline-offset: 3px;
}
.nxt-inspektor-switch[hidden] {
  display: none;
}
@media (hover: none), (pointer: coarse) {
  .nxt-inspektor-switch {
    display: none;
  }
}

span.nxt-inspektor-switch {
  align-items: center;
  display: inline-flex;
}

.nxt-inspektor {
  --mx: -999px;
  --my: -999px;
  --r: 110px;
  --mask: radial-gradient(circle var(--r) at var(--mx) var(--my), #000 calc(var(--r) - 45px), transparent var(--r));
  background-image: linear-gradient(color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent) 1px, transparent 1px);
  background-size: 16px 16px;
  inset: 0;
  -webkit-mask-image: var(--mask);
  mask-image: var(--mask);
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 250ms ease;
  z-index: 99990;
}
.nxt-inspektor.is-on {
  opacity: 1;
}
.nxt-inspektor-top {
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  transition: opacity 250ms ease;
  z-index: 99991;
}
.nxt-inspektor-top.is-on {
  opacity: 1;
}

.nxt-inspektor [hidden],
.nxt-inspektor-top [hidden] {
  display: none !important;
}
.nxt-inspektor .ib,
.nxt-inspektor .ib-pad,
.nxt-inspektor-top .ib,
.nxt-inspektor-top .ib-pad {
  left: 0;
  position: absolute;
  top: 0;
}
.nxt-inspektor .ib,
.nxt-inspektor-top .ib {
  outline: 1px dashed color-mix(in srgb, var(--wp--preset--color--primary) 60%, transparent);
  outline-offset: -1px;
}
.nxt-inspektor .ib.is-hot,
.nxt-inspektor-top .ib.is-hot {
  background: color-mix(in srgb, var(--wp--preset--color--primary) 6%, transparent);
  outline: 1.5px solid var(--wp--preset--color--primary);
}
.nxt-inspektor .ib-pad,
.nxt-inspektor-top .ib-pad {
  background: repeating-linear-gradient(45deg, color-mix(in srgb, var(--wp--preset--color--secondary) 40%, transparent) 0 2px, transparent 2px 7px);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.nxt-inspektor .ib-label,
.nxt-inspektor .ib-size,
.nxt-inspektor-top .ib-label,
.nxt-inspektor-top .ib-size {
  color: var(--wp--preset--color--white);
  font: 500 var(--wp--preset--font-size--small)/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  position: absolute;
  white-space: nowrap;
}
.nxt-inspektor .ib-label,
.nxt-inspektor-top .ib-label {
  background: var(--wp--preset--color--primary);
  border-radius: 0.25rem 0.25rem 0.25rem 0;
  max-width: min(36rem, 92vw);
  overflow: hidden;
  padding: var(--wp--preset--spacing--20, 0.25rem) var(--wp--preset--spacing--30, 0.625rem);
  text-overflow: ellipsis;
  transform: translateY(-100%);
}
.nxt-inspektor .ib-label span,
.nxt-inspektor-top .ib-label span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nxt-inspektor .ib-label span + span,
.nxt-inspektor-top .ib-label span + span {
  opacity: 0.8;
}
.nxt-inspektor .ib-size,
.nxt-inspektor-top .ib-size {
  background: var(--wp--preset--color--black);
  border: 1px solid color-mix(in srgb, var(--wp--preset--color--white) 20%, transparent);
  border-radius: 0 0 0.25rem 0.25rem;
  padding: 2px var(--wp--preset--spacing--30, 0.625rem);
  transform: translateX(-100%);
}

@media (prefers-reduced-motion: reduce) {
  .nxt-inspektor,
  .nxt-inspektor-top,
  .nxt-inspektor-switch {
    transition: none;
  }
}
/* #endregion Inspektor */
/* #region Live-Tab */
.wp-block-navigation.is-style-nxt-tabs .nxt-live-tab {
  animation: nxt-live-in 600ms cubic-bezier(0.65, 0, 0.35, 1) both;
}
.wp-block-navigation.is-style-nxt-tabs .nxt-live-tab > .wp-block-navigation-item__content {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  opacity: 1;
  padding-block: var(--wp--preset--spacing--20, 0.25rem);
}
.wp-block-navigation.is-style-nxt-tabs .nxt-live-tab > .wp-block-navigation-item__content::before {
  content: none;
}
.wp-block-navigation.is-style-nxt-tabs .nxt-live-tab > .wp-block-navigation-item__content:hover, .wp-block-navigation.is-style-nxt-tabs .nxt-live-tab > .wp-block-navigation-item__content:focus-visible {
  background-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}

.nxt-live-tab__inner {
  align-items: center;
  block-size: 1lh;
  display: flex;
  gap: var(--wp--preset--spacing--30, 0.625rem);
  min-block-size: 0;
}

.nxt-live-tab__dot {
  animation: nxt-pulse 1.6s ease-out infinite;
  background: var(--wp--preset--color--primary);
  border-radius: 50%;
  flex: none;
  height: 0.625rem;
  width: 0.625rem;
}
.nxt-live-tab a:hover .nxt-live-tab__dot {
  background: var(--wp--preset--color--white);
}

.nxt-live-tab__kicker {
  font-family: var(--wp--preset--font-family--josefin-sans);
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
  text-transform: uppercase;
}

.nxt-live-tab__title {
  display: block;
  font-family: var(--wp--preset--font-family--metropolis);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 0.75rem, #000 calc(100% - 0.75rem), transparent);
  mask-image: linear-gradient(90deg, transparent, #000 0.75rem, #000 calc(100% - 0.75rem), transparent);
  overflow: hidden;
  text-transform: none;
  width: 6rem;
}

.nxt-live-tab__marquee {
  animation: nxt-marquee 11s linear infinite;
  display: inline-flex;
  gap: 2rem;
  white-space: nowrap;
}
.nxt-live-tab a:hover .nxt-live-tab__marquee {
  animation-play-state: paused;
}

@keyframes nxt-marquee {
  to {
    transform: translateX(calc(-50% - 1rem));
  }
}
@keyframes nxt-pulse {
  0% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--wp--preset--color--primary) 80%, transparent);
  }
  70% {
    box-shadow: 0 0 0 0.5rem color-mix(in srgb, var(--wp--preset--color--primary) 0%, transparent);
  }
  100% {
    box-shadow: 0 0 0 0 color-mix(in srgb, var(--wp--preset--color--primary) 0%, transparent);
  }
}
@keyframes nxt-live-in {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .wp-block-navigation.is-style-nxt-tabs .nxt-live-tab,
  .nxt-live-tab__dot,
  .nxt-live-tab__marquee {
    animation: none;
  }
  .nxt-live-tab__marquee > span + span {
    display: none;
  }
  .nxt-live-tab__title {
    text-overflow: ellipsis;
  }
}
/* #endregion Live-Tab */
/* #region Bühne */
.wp-block-group.is-style-nxt-buehne {
  --nxt-spot-x: -50vmax;
  --nxt-spot-y: -50vmax;
  --nxt-spot-r: 15rem;
  --nxt-buehne-muster: color-mix(in srgb, var(--wp--preset--color--contrast) 4%, transparent);
  --nxt-buehne-glow: color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent);
  --nxt-buehne-spot: 0.4;
  background: radial-gradient(circle 30rem at var(--nxt-spot-x) var(--nxt-spot-y), var(--nxt-buehne-glow), transparent 70%), var(--wp--preset--color--base-2);
  color: var(--wp--preset--color--contrast);
  isolation: isolate;
  position: relative;
}
.wp-block-group.is-style-nxt-buehne::before, .wp-block-group.is-style-nxt-buehne::after {
  content: "";
  inset: 0;
  mask: url("assets/img/login-pattern.svg") 0 0/96px 96px repeat;
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.wp-block-group.is-style-nxt-buehne::before {
  background-color: var(--nxt-buehne-muster);
}
.wp-block-group.is-style-nxt-buehne::after {
  background-color: var(--wp--preset--color--primary);
  mask: radial-gradient(circle var(--nxt-spot-r) at var(--nxt-spot-x) var(--nxt-spot-y), #000 0%, transparent 70%) no-repeat, url("assets/img/login-pattern.svg") 0 0/96px 96px repeat;
  mask-composite: intersect;
  opacity: var(--nxt-buehne-spot);
}
.dark-mode .wp-block-group.is-style-nxt-buehne {
  --nxt-buehne-muster: color-mix(in srgb, var(--wp--preset--color--white) 5%, transparent);
  --nxt-buehne-glow: color-mix(in srgb, var(--wp--preset--color--primary) 9%, transparent);
  --nxt-buehne-spot: 0.85;
  background: radial-gradient(circle 30rem at var(--nxt-spot-x) var(--nxt-spot-y), var(--nxt-buehne-glow), transparent 70%), url("assets/img/noise-light.png") 0 0/110px repeat, var(--wp--preset--color--black);
  color: var(--wp--preset--color--white);
}

/* #endregion Bühne */
/* #region Progress-Slider */
.nxt-slider__nav {
  align-items: center;
  display: flex;
  gap: var(--wp--preset--spacing--50, 1.5rem);
  justify-content: center;
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
  min-height: 3.25rem;
}

.nxt-slider__dots {
  display: flex;
  flex: none;
  gap: 0.875rem;
  padding-left: 0.375rem;
}

.nxt-dot {
  background: var(--wp--preset--color--line);
  border: 0;
  cursor: pointer;
  height: 0.625rem;
  padding: 0;
  position: relative;
  transform: skewX(-45deg) scaleX(var(--nxt-dot-grow, 1));
  transform-origin: center;
  transition: background-color 200ms ease, margin-inline 200ms ease, transform 200ms ease;
  width: 2.25rem;
}
.nxt-dot.is-active {
  --nxt-dot-grow: 1.29;
  margin-inline: 0.32625rem;
}
.nxt-dot::before {
  content: "";
  inset: -1rem -0.3rem;
  position: absolute;
}
.nxt-dot:hover {
  background: color-mix(in srgb, var(--wp--preset--color--primary) 45%, var(--wp--preset--color--line));
}
.nxt-dot:focus-visible {
  outline: 2px dashed var(--wp--preset--color--primary);
  outline-offset: 3px;
}

.nxt-dot__fill {
  background: var(--wp--preset--color--primary);
  inset: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
}
.nxt-dot.is-active .nxt-dot__fill {
  transform: scaleX(1);
}
.nxt-slider.is-auto .nxt-dot.is-active .nxt-dot__fill {
  animation: nxt-dot-fill var(--nxt-interval, 6000ms) linear forwards;
  transform: scaleX(0);
}
.nxt-slider.is-paused .nxt-dot__fill {
  animation-play-state: paused !important;
}

@keyframes nxt-dot-fill {
  to {
    transform: scaleX(1);
  }
}
.nxt-slider__label {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  margin: 0;
  min-width: 0;
}

.nxt-slider__head {
  align-items: baseline;
  display: flex;
  gap: var(--wp--preset--spacing--30, 0.625rem);
}

.nxt-slider__count,
.nxt-slider__desc {
  color: var(--wp--preset--color--muted);
}

/* #endregion Progress-Slider */
/* #region Referenz-Vorschau */
.nxt-vorschau__frame {
  aspect-ratio: var(--nxt-device-ratio, 16/10);
  margin-left: auto;
  margin-right: auto;
  max-width: 620px;
  position: relative;
}

.nxt-vorschau__screen {
  background: var(--wp--preset--color--white);
  height: 1000px;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  transform-origin: 0 0;
  width: 1600px;
  z-index: 1;
}

.nxt-vorschau__device {
  height: 100%;
  inset: 0;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.nxt-vorschau--rahmen .nxt-vorschau__frame {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 0.75rem;
  box-shadow: var(--wp--preset--shadow--card);
  overflow: hidden;
}

.nxt-vorschau--rahmen .nxt-vorschau__screen {
  height: 100%;
  position: absolute;
  width: 100%;
}

.nxt-slide {
  inset: 0;
  margin: 0;
  opacity: 0;
  position: absolute;
  transition: opacity 450ms ease, visibility 0s linear 450ms;
  visibility: hidden;
}
.nxt-slide.is-active {
  opacity: 1;
  transition: opacity 450ms ease;
  visibility: visible;
}
.nxt-slide img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  width: 100%;
}
.nxt-slide a {
  display: block;
  height: 100%;
}

.nxt-cmp {
  --pos: 100%;
  inset: 0;
  position: absolute;
}

.nxt-cmp__layer {
  inset: 0;
  position: absolute;
}

.nxt-cmp__after {
  clip-path: inset(0 0 0 var(--pos));
}

.nxt-cmp__line {
  background: var(--wp--preset--color--primary);
  bottom: 0;
  left: var(--pos);
  margin-left: -1px;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 6px;
  margin-left: -3px;
  z-index: 3;
}

.nxt-cmp__knob {
  background: var(--wp--preset--color--primary);
  border: 0;
  clip-path: polygon(40px 0, 100% 0, calc(100% - 40px) 100%, 0 100%);
  cursor: ew-resize;
  display: grid;
  height: 7.5rem;
  left: var(--pos);
  padding: 0;
  place-items: center;
  position: absolute;
  top: 50%;
  touch-action: none;
  transform: translate(-50%, -50%);
  width: 12rem;
  z-index: 4;
}
.nxt-cmp__knob::before {
  content: "";
  inset: -2rem -1rem;
  position: absolute;
}
.nxt-cmp__knob img {
  filter: brightness(0) invert(1);
  pointer-events: none;
  width: 4.5rem;
}
.nxt-cmp__knob:focus-visible {
  background: var(--wp--preset--color--black);
  outline: none;
}

.nxt-cmp__tag {
  background: color-mix(in srgb, var(--wp--preset--color--black) 85%, transparent);
  color: var(--wp--preset--color--white);
  font-family: var(--wp--preset--font-family--josefin-sans);
  font-size: 3.25rem;
  font-weight: 700;
  padding: 1.1rem 2.25rem 0.7rem;
  pointer-events: none;
  position: absolute;
  text-transform: uppercase;
  top: 2.5rem;
  z-index: 3;
}

.nxt-cmp__tag--l {
  left: 2.5rem;
}

.nxt-cmp__tag--r {
  right: 2.5rem;
}

.nxt-cmp.is-anim .nxt-cmp__after {
  transition: clip-path 700ms cubic-bezier(0.65, 0, 0.35, 1);
}
.nxt-cmp.is-anim .nxt-cmp__line,
.nxt-cmp.is-anim .nxt-cmp__knob {
  transition: left 700ms cubic-bezier(0.65, 0, 0.35, 1);
}

.nxt-cmp:not(.is-compare) .nxt-cmp__line,
.nxt-cmp:not(.is-compare) .nxt-cmp__knob,
.nxt-cmp:not(.is-compare) .nxt-cmp__tag {
  display: none;
}

.nxt-vorschau.is-editor .nxt-vorschau__frame {
  overflow: hidden;
}

.nxt-vorschau__kicker {
  color: var(--wp--preset--color--muted);
  font-size: var(--wp--preset--font-size--normal);
  margin: 0 0 var(--wp--preset--spacing--30, 0.625rem);
}

.nxt-vorschau__slides {
  display: grid;
  gap: var(--wp--preset--spacing--20, 0.25rem);
  list-style: none;
  margin: var(--wp--preset--spacing--40, 1rem) 0 0;
  padding: 0;
}

.nxt-vorschau__slides b {
  display: block;
}

.nxt-vorschau__slides span {
  color: var(--wp--preset--color--muted);
}

/* #endregion Referenz-Vorschau */
@media (prefers-reduced-motion: reduce) {
  .nxt-slide,
  .nxt-cmp.is-anim .nxt-cmp__after,
  .nxt-cmp.is-anim .nxt-cmp__line,
  .nxt-cmp.is-anim .nxt-cmp__knob {
    transition: none;
  }
}
/* #region Referenzen-Archiv */
.nxt-cases {
  display: grid;
  gap: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem)) 0;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nxt-case-item[hidden] {
  display: none;
}

.nxt-case {
  align-items: center;
  display: grid;
  gap: var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  scroll-margin-top: 8rem;
}
.is-flip .nxt-case {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
}
.is-flip .nxt-case > .nxt-vorschau {
  order: 2;
}
.nxt-case {
  /* #region max-width 900px */
}
@media only screen and (max-width: 900px) {
  .nxt-case, .is-flip .nxt-case {
    grid-template-columns: minmax(0, 1fr);
  }
  .nxt-case > .nxt-vorschau, .is-flip .nxt-case > .nxt-vorschau {
    order: 0;
  }
}
.nxt-case {
  /* #endregion 900px */
}

.nxt-case__title {
  margin: 0 0 var(--wp--preset--spacing--20, 0.25rem);
  text-align: left;
}

.nxt-referenz-details > * {
  margin: 0;
}
.nxt-referenz-details > * + * {
  margin-top: var(--wp--preset--spacing--40, 1rem);
}

.nxt-referenz-details__meta {
  color: var(--wp--preset--color--muted);
}

.nxt-referenz-details__lead {
  font-size: var(--wp--preset--font-size--medium);
}

.nxt-referenz-details__ergebnis {
  font-weight: 700;
}

.nxt-referenz-buttons .wp-block-buttons {
  gap: var(--wp--preset--spacing--30, 0.625rem);
}

.nxt-referenz-buttons__hinweis {
  color: var(--wp--preset--color--muted);
  margin: var(--wp--preset--spacing--40, 1rem) 0 0;
}

.single-referenz main > section:empty {
  display: none;
}

/* #endregion Referenzen-Archiv */
/* #region Filter */
.nxt-referenz-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--30, 0.625rem);
}
.nxt-referenz-filter[hidden] {
  display: none;
}

.nxt-pill {
  background: transparent;
  border: 2px solid var(--wp--preset--color--line);
  border-radius: 2rem;
  color: var(--wp--preset--color--contrast);
  cursor: pointer;
  font-family: var(--wp--preset--font-family--metropolis);
  font-size: var(--wp--preset--font-size--normal);
  font-weight: 700;
  line-height: 1.2;
  padding: 0.55em 1.25em 0.4em;
  text-transform: uppercase;
  transition: border-color 200ms ease, background-color 200ms ease, color 200ms ease;
}
.nxt-pill:hover {
  border-color: var(--wp--preset--color--primary);
}
.nxt-pill.is-active {
  background: var(--wp--preset--color--contrast);
  border-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
}
.nxt-pill:focus-visible {
  outline: 2px dashed var(--wp--preset--color--primary);
  outline-offset: 3px;
}

/* #endregion Filter */
/* #region Outline-Button (secondary) */
.wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent;
  border: 2px solid var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--secondary);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover, .wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--white);
}

/* #endregion Outline-Button */
/* #region Hero */
.ref-single-hero {
  overflow: visible;
  position: relative;
  z-index: 1;
}
.ref-single-hero .nxt-case {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
}
@media only screen and (max-width: 900px) {
  .ref-single-hero .nxt-case {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media only screen and (max-width: 900px) {
  .ref-single-hero .nxt-case > .nxt-vorschau,
  .ref-single-hero .nxt-case > .nxt-referenz-hero-bild {
    order: -1;
  }
}
.ref-single-hero .nxt-referenz-hero-bild {
  margin: -6% -8% 0 -9%;
}
@media only screen and (max-width: 900px) {
  .ref-single-hero .nxt-referenz-hero-bild {
    margin: -10% -5% 0;
  }
}
.ref-single-hero .nxt-referenz-hero-bild img {
  display: block;
  height: auto;
  width: 100%;
}
.ref-single-hero .nxt-case__title {
  margin-bottom: var(--wp--preset--spacing--30, 0.625rem);
}

/* #endregion Hero */
/* #region Ausgangslage → Lösung */
:root {
  --nxt-arrow-mask: url("assets/img/pfeil-rechts.svg") no-repeat center / contain;
}

.ref-story {
  background: var(--wp--preset--color--base);
  overflow: hidden;
  padding: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem)) 0;
  position: relative;
}
.ref-story__grid {
  align-items: stretch;
  display: grid;
  gap: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  margin: 0 auto;
  max-width: 1100px;
  position: relative;
  width: 90%;
}
@media only screen and (max-width: 900px) {
  .ref-story__grid {
    gap: var(--wp--preset--spacing--40, 1rem);
    grid-template-columns: minmax(0, 1fr);
  }
}
.ref-story__col {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 0.75rem;
  padding: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
}
.ref-story__col h2 {
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
  text-align: left;
}
.ref-story__col p {
  font-size: var(--wp--preset--font-size--medium);
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
}
.ref-story__col--vorher {
  box-shadow: var(--wp--preset--shadow--card);
}
.ref-story__col--nachher {
  border: 2px solid var(--wp--preset--color--primary);
  box-shadow: var(--wp--preset--shadow--card);
}
.ref-story__col--nachher ul.wp-block-list {
  font-size: var(--wp--preset--font-size--medium);
}
.ref-story__list {
  font-size: var(--wp--preset--font-size--medium);
  list-style: none;
  margin: 0;
  padding: 0;
}
.ref-story__list li {
  margin-bottom: var(--wp--preset--spacing--30, 0.625rem);
  padding-left: 1.25em;
  position: relative;
}
.ref-story__list li::before {
  background: currentColor;
  content: "";
  height: 2px;
  left: 0.1em;
  position: absolute;
  top: 0.6em;
  width: 0.6em;
}
.ref-story__arrow {
  display: grid;
  place-items: center;
}
.ref-story__arrow span {
  animation: refArrow 2.4s ease-in-out infinite;
  aspect-ratio: 50/48;
  background: var(--wp--preset--color--primary);
  display: block;
  -webkit-mask: url("assets/img/pfeil-rechts.svg") no-repeat center/contain;
  mask: url("assets/img/pfeil-rechts.svg") no-repeat center/contain;
  width: 4.5rem;
}
@media only screen and (max-width: 900px) {
  .ref-story__arrow span {
    animation: none;
    transform: rotate(90deg);
    width: 3.5rem;
  }
}

@keyframes refArrow {
  0%, 100% {
    transform: translateX(-4px);
  }
  50% {
    transform: translateX(6px);
  }
}
/* #endregion Ausgangslage → Lösung */
/* #region Kennzahlen */
.ref-facts {
  align-items: center;
  display: grid;
  gap: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem)) var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  margin: 0 auto var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  max-width: 1100px;
  position: relative;
  width: 90%;
}
@media only screen and (max-width: 781px) {
  .ref-facts {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ref-facts__title {
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
  text-align: left;
}
.ref-facts__text p {
  font-size: var(--wp--preset--font-size--medium);
  margin: 0;
}
.ref-facts__grid {
  display: grid;
  gap: var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: var(--wp--preset--spacing--50, 1.5rem) 0;
}

.ref-fact {
  display: flex;
  flex-direction: column-reverse;
  gap: var(--wp--preset--spacing--30, 0.625rem);
  justify-content: flex-end;
  margin: 0;
}
.ref-fact dt {
  color: var(--wp--preset--color--muted);
  font-size: var(--wp--preset--font-size--normal);
}
.ref-fact dd {
  color: var(--wp--preset--color--primary);
  font-family: var(--wp--preset--font-family--josefin-sans);
  font-size: var(--wp--preset--font-size--h-1-font-size);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  line-height: 1;
  margin: 0;
}
.ref-fact__unit {
  margin-left: 0.1em;
}

/* #endregion Kennzahlen */
/* #region Funktionen */
.ref-features {
  background: var(--wp--preset--color--base-3);
  box-shadow: var(--wp--preset--shadow--section-top);
  display: grid;
  gap: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem));
  padding: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem)) 0;
  position: relative;
}

.ref-feature {
  align-items: center;
  display: grid;
  gap: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  margin: 0 auto;
  max-width: 1100px;
  width: 90%;
}
@media only screen and (max-width: 900px) {
  .ref-feature {
    gap: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
    grid-template-columns: minmax(0, 1fr);
  }
}
.ref-feature.is-flip {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
}
@media only screen and (max-width: 900px) {
  .ref-feature.is-flip {
    grid-template-columns: minmax(0, 1fr);
  }
}
.ref-feature.is-flip .rb {
  order: 2;
}
@media only screen and (max-width: 900px) {
  .ref-feature.is-flip .rb {
    order: 0;
  }
}
.ref-feature h3 {
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
}
.ref-feature p {
  font-size: var(--wp--preset--font-size--medium);
  margin: 0;
}

/* #endregion Funktionen */
/* #region Datenfluss */
.ref-sync {
  background: var(--wp--preset--color--black);
  color: var(--wp--preset--color--white);
  overflow: hidden;
  padding: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem)) 5%;
  position: relative;
  text-align: center;
}
.ref-sync h2 {
  color: var(--wp--preset--color--white);
}
.ref-sync__intro {
  color: #e2dfdf;
  font-size: var(--wp--preset--font-size--medium);
  margin: 0 auto var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  max-width: 38rem;
}
.ref-sync__badge {
  align-items: center;
  color: #e2dfdf;
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--30, 0.625rem) var(--wp--preset--spacing--40, 1rem);
  justify-content: center;
  margin: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem)) 0 0;
}
.ref-sync__badge span {
  border: 2px solid var(--wp--preset--color--white);
  border-radius: 2rem;
  font-weight: 700;
  padding: 0.45em 1.2em 0.3em;
  text-transform: uppercase;
}

.hub {
  margin: 0 auto;
  max-width: 68rem;
}
.hub__stage {
  align-items: center;
  display: grid;
  gap: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem)) var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem));
  grid-template-areas: "kunde site stripe" "wp site hubspot";
  grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr) minmax(0, 1fr);
  grid-template-rows: auto auto;
  position: relative;
}
@media only screen and (max-width: 900px) {
  .hub__stage {
    gap: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem)) var(--wp--preset--spacing--50, 1.5rem);
    grid-template-areas: "kunde stripe" "site site" "wp hubspot";
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
.hub__lines {
  height: 100%;
  inset: 0;
  overflow: visible;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 0;
}
.hub__lines .ln {
  fill: none;
  opacity: 0.28;
  stroke-linecap: round;
  stroke-width: 2;
  transition: opacity 0.3s ease;
}
.hub__lines .ln.is-on {
  opacity: 1;
}
.hub__lines .ln--in {
  stroke: var(--wp--preset--color--secondary);
  stroke-dasharray: 2 7;
}
.hub__lines .ln--out {
  stroke: var(--wp--preset--color--primary);
}
.hub__lines .pk {
  opacity: 0;
}
.hub__lines .pk--in {
  fill: var(--wp--preset--color--secondary);
}
.hub__lines .pk--out {
  fill: var(--wp--preset--color--primary);
}
.hub__site {
  grid-area: site;
  position: relative;
  z-index: 1;
}
.hub__node {
  background: #292626;
  border: 2px solid #3d3a3a;
  border-radius: 0.75rem;
  display: grid;
  gap: var(--wp--preset--spacing--20, 0.25rem);
  justify-items: center;
  padding: var(--wp--preset--spacing--50, 1.5rem) var(--wp--preset--spacing--40, 1rem);
  position: relative;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  z-index: 1;
}
.hub__node.is-on {
  border-color: var(--wp--preset--color--primary);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--primary) 20%, transparent);
}
.hub__node--kunde {
  grid-area: kunde;
}
.hub__node--stripe {
  grid-area: stripe;
}
.hub__node--wp {
  grid-area: wp;
}
.hub__node--hubspot {
  grid-area: hubspot;
}
.hub__icon {
  background: var(--wp--preset--color--white);
  height: 2.75rem;
  width: 2.75rem;
}
.hub__icon--user {
  -webkit-mask: url("assets/img/icons/user.svg") no-repeat center/contain;
  mask: url("assets/img/icons/user.svg") no-repeat center/contain;
}
.hub__icon--database {
  -webkit-mask: url("assets/img/icons/database.svg") no-repeat center/contain;
  mask: url("assets/img/icons/database.svg") no-repeat center/contain;
}
.hub__icon--stripe {
  background: #635bff;
  -webkit-mask: url("assets/img/icons/stripe.svg") no-repeat center/contain;
  mask: url("assets/img/icons/stripe.svg") no-repeat center/contain;
}
.hub__icon--hubspot {
  background: #ff7a59;
  -webkit-mask: url("assets/img/icons/hubspot.svg") no-repeat center/contain;
  mask: url("assets/img/icons/hubspot.svg") no-repeat center/contain;
}
.hub__label {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 700;
}
.hub__sub {
  color: #c5c2c2;
}
.hub__steps {
  display: grid;
  gap: var(--wp--preset--spacing--30, 0.625rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  list-style: none;
  margin: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem)) auto 0;
  max-width: 60rem;
  padding: 0;
  text-align: left;
}
@media only screen and (max-width: 900px) {
  .hub__steps {
    grid-template-columns: minmax(0, 1fr);
  }
}
.hub__steps li {
  align-items: center;
  border: 2px solid #3d3a3a;
  border-radius: 0.75rem;
  color: #c5c2c2;
  display: flex;
  gap: var(--wp--preset--spacing--30, 0.625rem);
  padding: var(--wp--preset--spacing--40, 1rem);
  transition: border-color 0.3s ease, color 0.3s ease, background-color 0.3s ease;
}
.hub__steps li.is-on .hub__num, .hub__steps li.is-done .hub__num {
  background: var(--wp--preset--color--primary);
}
.hub__steps li.is-on {
  background: #292626;
  border-color: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--white);
}
.hub__steps li.is-done {
  color: var(--wp--preset--color--white);
}
.hub__num {
  background: #3d3a3a;
  border-radius: 50%;
  color: var(--wp--preset--color--white);
  display: grid;
  flex: none;
  font-weight: 700;
  height: 1.75rem;
  line-height: 1;
  padding-top: 2px;
  place-items: center;
  width: 1.75rem;
}
.hub__legend {
  color: #c5c2c2;
  display: flex;
  gap: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
  justify-content: center;
  margin-top: var(--wp--preset--spacing--50, 1.5rem);
}
.hub__key {
  align-items: center;
  display: flex;
  gap: var(--wp--preset--spacing--30, 0.625rem);
}
.hub__key::before {
  border-top: 2px solid var(--wp--preset--color--primary);
  content: "";
  width: 2rem;
}
.hub__key--in::before {
  border-top: 2px dotted var(--wp--preset--color--secondary);
}

/* #endregion Datenfluss */
/* #region Ergebnis */
.ref-result {
  background: var(--wp--preset--color--base-2);
  box-shadow: var(--wp--preset--shadow--section-top);
  padding: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem)) 5%;
  position: relative;
}
.ref-result h2 {
  margin: 0 auto;
  max-width: 48rem;
}

/* #endregion Ergebnis */
/* #region Weitere Referenzen: Endlos-Slider */
.ref-more {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
}
.ref-more__head {
  align-items: flex-end;
  display: flex;
  gap: var(--wp--preset--spacing--50, 1.5rem);
  justify-content: space-between;
}
.ref-more__head h2 {
  margin: 0;
  text-align: left;
}
.ref-more__ctrl {
  display: flex;
  gap: var(--wp--preset--spacing--30, 0.625rem);
}
.ref-more__btn {
  background: transparent;
  border: 0;
  cursor: pointer;
  height: 2.75rem;
  padding: 0;
  position: relative;
  width: 3.5rem;
}
.ref-more__btn::before {
  background: var(--wp--preset--color--primary);
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
  content: "";
  inset: 0;
  position: absolute;
  transition: background-color 0.2s ease;
}
.ref-more__btn::after {
  aspect-ratio: 50/48;
  background: var(--wp--preset--color--white);
  content: "";
  inset: 0;
  margin: auto;
  -webkit-mask: var(--nxt-arrow-mask);
  mask: var(--nxt-arrow-mask);
  position: absolute;
  width: 1rem;
  z-index: 1;
}
.ref-more__btn--prev::after {
  transform: scaleX(-1);
}
.ref-more__btn:hover::before, .ref-more__btn:focus-visible::before {
  background: var(--wp--preset--color--primary-dark);
}
.ref-more__btn:hover::after {
  background: var(--wp--preset--color--white);
}
.ref-more__btn:focus-visible {
  outline: 2px dashed var(--wp--preset--color--primary);
  outline-offset: 3px;
}
.ref-more__track {
  display: grid;
  gap: var(--wp--preset--spacing--50, 1.5rem);
  grid-auto-columns: clamp(16rem, 28vw, 23rem);
  grid-auto-flow: column;
  list-style: none;
  margin: 0;
  overflow-x: auto;
  padding: var(--wp--preset--spacing--40, 1rem) 0;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
@media only screen and (max-width: 600px) {
  .ref-more__track {
    grid-auto-columns: 80%;
  }
}
.ref-more__track:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}
.ref-more__track::-webkit-scrollbar {
  display: none;
}
.ref-more__item {
  scroll-snap-align: start;
}
.ref-more__card {
  background: var(--wp--preset--color--surface);
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 0.75rem;
  color: var(--wp--preset--color--contrast);
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  text-decoration: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.ref-more__card:hover {
  border-color: var(--wp--preset--color--primary);
  box-shadow: var(--wp--preset--shadow--card);
}
.ref-more__card:focus-visible {
  outline: 2px dashed var(--wp--preset--color--primary);
  outline-offset: 3px;
}
.ref-more__img {
  aspect-ratio: 16/10;
  background: var(--wp--preset--color--base-2);
  border-bottom: 1px solid var(--wp--preset--color--line);
  display: block;
  overflow: hidden;
}
.ref-more__img img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  width: 100%;
}
.ref-more__body {
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--20, 0.25rem);
  padding: var(--wp--preset--spacing--40, 1rem);
}
.ref-more__name {
  font-size: var(--wp--preset--font-size--medium);
  font-weight: 700;
}
.ref-more__desc {
  color: var(--wp--preset--color--muted);
}
.ref-more__pager {
  align-items: center;
  display: flex;
  gap: 6px;
  justify-content: center;
  margin: 0;
}
.ref-more__dot {
  background-clip: content-box;
  box-sizing: content-box;
  padding: var(--wp--preset--spacing--30, 0.625rem) 0;
}
.ref-more__dot.is-active {
  --nxt-dot-grow: 1.29;
  background-color: var(--wp--preset--color--primary);
  margin-inline: 0.2175rem;
}
.ref-more__dot:focus-visible {
  outline: 2px dashed var(--nxt-focus, var(--wp--preset--color--secondary));
  outline-offset: 3px;
}

/* #endregion Weitere Referenzen: Endlos-Slider */
/* #region CTA: laut, rot, mit Oliver */
.ref-cta--loud {
  background: var(--wp--preset--color--primary);
  box-shadow: none;
  color: var(--wp--preset--color--white);
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: left;
}
.ref-cta--loud h2 {
  color: var(--wp--preset--color--white);
  margin: 0 0 var(--wp--preset--spacing--50, 1.5rem);
  text-align: left;
}
.ref-cta--loud p {
  color: var(--wp--preset--color--white);
  font-size: var(--wp--preset--font-size--medium);
  margin: 0 0 var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
  max-width: 32rem;
  padding: 0;
}
.ref-cta--loud .wp-block-button__link {
  background: var(--wp--preset--color--white);
  border-color: var(--wp--preset--color--white);
  color: var(--wp--preset--color--primary);
}
.ref-cta--loud .wp-block-button__link:hover {
  background: var(--wp--preset--color--black);
  border-color: var(--wp--preset--color--black);
  color: var(--wp--preset--color--white);
}

.ref-cta__inner {
  align-items: end;
  display: grid;
  gap: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  margin: 0 auto;
  max-width: 1200px;
  position: relative;
  width: 90%;
}
@media only screen and (max-width: 781px) {
  .ref-cta__inner {
    grid-template-columns: minmax(0, 1fr);
  }
}

.ref-cta__text {
  align-self: center;
  padding: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem)) 0;
}
@media only screen and (max-width: 781px) {
  .ref-cta__text {
    padding: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem)) 0 var(--wp--preset--spacing--40, 1rem);
  }
}

.ref-cta__person {
  align-self: end;
  justify-self: center;
  margin: 0;
  padding-top: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  position: relative;
}
@media only screen and (max-width: 781px) {
  .ref-cta__person {
    padding-top: 0;
  }
}
.ref-cta__person img {
  display: block;
  filter: drop-shadow(0 20px 40px color-mix(in srgb, var(--wp--preset--color--black) 30%, transparent));
  height: auto;
  max-width: 26rem;
  width: 100%;
}
@media only screen and (max-width: 781px) {
  .ref-cta__person img {
    max-width: 18rem;
  }
}
.ref-cta__person figcaption {
  background: var(--wp--preset--color--black);
  bottom: var(--wp--preset--spacing--50, 1.5rem);
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
  color: var(--wp--preset--color--white);
  font-size: var(--wp--preset--font-size--normal);
  left: 50%;
  padding: 0.55em 1.1em 0.4em;
  position: absolute;
  transform: translateX(-50%);
  white-space: nowrap;
}

/* #endregion CTA: laut, rot, mit Oliver */
/* #region CTA wird hervorgehoben, sobald er in der Bildschirmmitte steht */
.ref-cta--grow {
  background: none;
  overflow: clip;
  padding: var(--wp--preset--spacing--80, clamp(4.5rem, 4.57vw + 3.36rem, 6.5rem)) 0 0;
}
.ref-cta--grow.is-highlighted {
  background: var(--wp--preset--color--primary);
}
.ref-cta--grow.is-highlighted .ref-cta__panel {
  scale: 1.08;
}

.ref-cta__panel {
  border-radius: 1rem;
  margin: 0 auto;
  max-width: 1280px;
  overflow: hidden;
  transform-origin: center bottom;
  width: 90%;
}

.wp-block-group:has(+ .ref-cta--grow.is-highlighted) > .nxt-shape-divider--bottom {
  color: var(--wp--preset--color--primary);
}

@media (prefers-reduced-motion: no-preference) {
  .ref-cta--grow {
    transition: background-color 400ms ease;
  }
  .wp-block-group:has(+ .ref-cta--grow) > .nxt-shape-divider--bottom {
    transition: color 400ms ease;
  }
  .ref-cta__panel {
    transition: scale 400ms cubic-bezier(0.4, 0, 0.2, 1);
  }
}
/* #endregion CTA wird hervorgehoben */
/* #region Block-Stil „MacBook“ für core/image (frontal, nur CSS) */
.wp-block-image.is-style-nxt-macbook {
  aspect-ratio: 1035/700;
  margin: 0;
  position: relative;
}
.wp-block-image.is-style-nxt-macbook img {
  border-radius: 0;
  height: 73.5%;
  left: 10.4%;
  object-fit: cover;
  object-position: top center;
  position: absolute;
  top: 3.6%;
  width: 79.4%;
}
.wp-block-image.is-style-nxt-macbook::after {
  background: url("assets/img/macbook-front.png") center/100% 100% no-repeat;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

/* #endregion Block-Stil „MacBook“ */
/* #region Inhalt der Einzelansicht (post-content) */
.ref-single-content > .ref-features h3 {
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
}
.ref-single-content > .ref-features .wp-block-columns {
  align-items: center;
  gap: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  margin: 0 auto;
  max-width: 1100px;
  width: 90%;
}
.ref-single-content > .ref-features .wp-block-columns.is-flip {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 781px) {
  .ref-single-content > .ref-features .wp-block-columns.is-flip {
    flex-direction: row;
  }
}

/* #endregion Inhalt der Einzelansicht */
.nxt-footer .sf__grid {
  display: grid;
  gap: var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem)) var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr) minmax(0, 1fr);
  max-width: var(--wp--style--global--wide-size);
  padding-bottom: var(--wp--preset--spacing--70, clamp(3rem, 2.86vw + 2.29rem, 4.25rem));
}
.nxt-footer .sf__grid > .wp-block-column {
  margin: 0;
}
@media only screen and (max-width: 1080px) {
  .nxt-footer .sf__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .nxt-footer .sf__grid .sf__col--brand {
    grid-column: 1/-1;
  }
}
@media only screen and (max-width: 600px) {
  .nxt-footer .sf__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
.nxt-footer .sf__col p {
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
}
.nxt-footer .sf__logo {
  display: block;
  margin: 0 0 var(--wp--preset--spacing--50, 1.5rem);
  width: 11rem;
}
.nxt-footer .sf__logo svg {
  display: block;
  height: auto;
  width: 100%;
}
.nxt-footer .sf__logo .logo-color-1,
.nxt-footer .sf__logo .logo-highlight-color {
  animation: none;
  stroke-dasharray: 0;
  transition: none;
}
.nxt-footer .sf__logo .logo-color-1 {
  fill: var(--logo-main-color);
}
.nxt-footer .sf__logo .logo-highlight-color {
  fill: var(--logo-highlight-color);
}
.nxt-footer .sf__title {
  font-size: var(--wp--preset--font-size--normal);
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
  text-align: left;
}
.nxt-footer .sf__menu,
.nxt-footer .sf__contact {
  display: grid;
  gap: var(--wp--preset--spacing--30, 0.625rem);
  list-style: none;
  margin: 0 0 var(--wp--preset--spacing--40, 1rem);
  padding: 0;
}
.nxt-footer .sf__menu a,
.nxt-footer .sf__contact a {
  font-weight: 700;
}
.nxt-footer .sf__menu .wp-block-navigation__container {
  align-items: flex-start;
  flex-direction: column;
  gap: var(--wp--preset--spacing--30, 0.625rem);
}
.nxt-footer .sf__ic {
  align-items: center;
  display: flex;
  gap: var(--wp--preset--spacing--30, 0.625rem);
}
.nxt-footer .sf__ic::before {
  -webkit-mask: var(--ic) center/contain no-repeat;
  background: var(--wp--preset--color--primary);
  content: "";
  flex: none;
  height: 1.25rem;
  mask: var(--ic) center/contain no-repeat;
  width: 1.25rem;
}
.nxt-footer .sf__ic--phone {
  --ic: url("assets/img/icons/phone.svg");
}
.nxt-footer .sf__ic--mail {
  --ic: url("assets/img/icons/mail.svg");
}
.nxt-footer .sf__yt {
  align-items: center;
  color: var(--wp--preset--color--primary);
  display: inline-flex;
  font-weight: 700;
  gap: var(--wp--preset--spacing--30, 0.625rem);
}
.nxt-footer .sf__yt::before {
  -webkit-mask: url("assets/img/icons/youtube.svg") center/contain no-repeat;
  background: #ff0000;
  content: "";
  flex: none;
  height: var(--wp--preset--spacing--50, 1.5rem);
  mask: url("assets/img/icons/youtube.svg") center/contain no-repeat;
  width: var(--wp--preset--spacing--50, 1.5rem);
}
.nxt-footer .sf__bar {
  align-items: center;
  border-top: 1px solid var(--wp--preset--color--line);
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--30, 0.625rem) var(--wp--preset--spacing--60, clamp(2.25rem, 1.14vw + 1.96rem, 2.75rem));
  justify-content: space-between;
  max-width: var(--wp--style--global--wide-size);
  padding: var(--wp--preset--spacing--50, 1.5rem) 0;
}
.nxt-footer .sf__bar .ladezeit {
  margin: 0;
  max-width: none;
  width: auto;
}
.nxt-footer .sf__bar .wp-block-navigation__container {
  gap: var(--wp--preset--spacing--50, 1.5rem);
}
.nxt-footer .sf__legal {
  display: flex;
  gap: var(--wp--preset--spacing--50, 1.5rem);
  order: 2;
}
.nxt-footer .ladezeit b {
  color: var(--wp--preset--color--contrast);
}

/* #region Basis */
p {
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

:target {
  scroll-margin-top: 7rem;
}

/* #endregion Basis */

/*# sourceMappingURL=style.css.map */
