/* === VARIABLES OVERRIDE === */
.lp__fluestermatte {
  --main-dark: #1a1a1a;
  --bde-headings-color: #1a1a1a;
}

.lp_fluestermatte p,
.lp_fluestermatte h1,
.lp_fluestermatte h2,
.lp_fluestermatte h3 {
  color: var(--main-dark);
}

/* === FONT-SIZES === */

body .lp__fluestermatte p {
  font-size: var(--font-size__regular);
  font-weight: var(--font-weight__regular) !important;
}

body .lp__fluestermatte h1,
body .lp__fluestermatte .txt-large {
  font-size: calc(var(--font-size__x-large) * 1.2 );
  line-height: 1.1;
  }
  
body .lp__fluestermatte h2 {
  font-size: calc(var(--font-size__large) * 1.2 );
  }

body .lp__fluestermatte h3 {
  font-size: calc(var(--font-size__medium-large) * 1.4 );
  font-weight: var(--font-weight__black) !important;
  }

/* === SECTIONS === */

.lp__fluestermatte #story::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0px 0px 0px 50%;
  width: 100vw;
  transform: translateX(-50%);
  pointer-events: none;
  background-color: rgb(255, 255, 255);
  background-image: radial-gradient(rgba(12, 12, 12, 0.173) 1px, transparent 0px);
  background-size: 21px 21px;
  }

.lp__fluestermatte .hero,
.lp__fluestermatte .hero-product {
    min-height: 100svh;
}

.lp__fluestermatte .hero {
    background: linear-gradient(
        180deg,
        #5fb1d1 0%,
        #7cbedb 22%,
        #a8c8df 48%,
        #d6e3eb 72%,
        #f1f1f1 88%,
        #ffffff 100%
        );
}

.lp__fluestermatte .hero h1,
.lp__fluestermatte .hero p {
  text-shadow: 0 4px 32px rgba(24, 53, 80, 0.35);
}

.lp__fluestermatte .hero video {
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: bottom 30%;
      pointer-events: none;
      opacity: clamp(0, calc(1 - var(--sky-exit, 0) * 1.6), 1);
      transition: opacity 220ms linear;
      mask-image: linear-gradient(
        180deg,
        #000 0%,
        #000 55%,
        rgba(0, 0, 0, 0.92) 72%,
        rgba(0, 0, 0, 0.6) 86%,
        rgba(0, 0, 0, 0.18) 96%,
        transparent 100%
      );
      -webkit-mask-image: linear-gradient(
        180deg,
        #000 0%,
        #000 55%,
        rgba(0, 0, 0, 0.92) 72%,
        rgba(0, 0, 0, 0.6) 86%,
        rgba(0, 0, 0, 0.18) 96%,
        transparent 100%
      );
    }

.lp__fluestermatte .hero-interlude {
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.8) 0%,
        rgba(255, 254, 252, 0.94) 25%,
        rgba(253, 246, 234, 1) 50%,
        rgba(250, 238, 220, 1) 75%,
        rgba(246, 228, 206, 1) 90%,
        rgba(241, 218, 196, 1) 100%
      );
}

.lp__fluestermatte .hero-product video {
      position: absolute;
      inset: 0;
      z-index: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 72% center;
      background: #ffffff;
      mask-image: linear-gradient(
        180deg,
        #000 0%,
        #000 58%,
        rgba(0, 0, 0, 0.94) 72%,
        rgba(0, 0, 0, 0.7) 84%,
        rgba(0, 0, 0, 0.35) 93%,
        rgba(0, 0, 0, 0.08) 98%,
        transparent 100%
      );
      -webkit-mask-image: linear-gradient(
        180deg,
        #000 0%,
        #000 58%,
        rgba(0, 0, 0, 0.94) 72%,
        rgba(0, 0, 0, 0.7) 84%,
        rgba(0, 0, 0, 0.35) 93%,
        rgba(0, 0, 0, 0.08) 98%,
        transparent 100%
      );
    }

/* === TILES === */

.tile__main {
  color: var(--main-light);
  padding: var(--grid__x-small);
  border-radius: var(--radius__medium);
  background: var(--brand-color-main);
  box-shadow: 0 16px 48px rgba(188, 12, 39, 0.18);
}

body .tile__main p {
  font-size: var(--font-size__large) !important;
  font-weight: var(--font-weight__black) !important;
}

.tile__light {
  position: relative;
  width: 100%;
  border: 1px solid rgba(220, 220, 220, 0.78);
  padding: var(--grid__x-small);
  border-radius: var(--radius__medium);
  background: var(--main-lightest);
  font-size: var(--font-size__small-reg);
  transition: border 350ms ease-in-out;
}

.tile__small {
    padding: var(--grid__x-small) var(--grid__x-small) !important;
}

.tile__light:hover {
  border: 1px solid var(--brand-color-main);
}

.tile__dark {
  position: relative;
  width: 100%;
  padding: var(--grid__x-small);
  border: 1px solid var(--main-medium);
  border-radius: var(--radius__medium);
  background: #1a1a1aaa;
  backdrop-filter: blur(5px);
  transition: border 350ms ease-in-out;
}

.tile__dark:hover {
  border: 1px solid var(--brand-color-main);
}

.bullet__light {
  position: relative;
  width: 100%;
  padding: calc(var(--grid__x-small) / 2) var(--grid__x-small);
  border: 1px solid rgba(220, 220, 220, 0.78);
  border-radius: var(--radius__medium);
  background: var(--main-lightest);
  font-size: var(--font-size__small-reg);
}

.bullet__light::before {
  content: "+";
  position: absolute;
  top: 50%;
  left: 20px;
  color: var(--brand-color-main);
  font-size: var(--font-size__regular);
  font-weight: 900;
  line-height: 1;
  transform: translateY(-50%);
  }

.bullet__light > * {
  margin-left: var(--font-size__regular);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: calc(var(--grid__x-small) / 2 );
  font-size: var(--font-size__small);
  color: var(--brand-color-main);
  font-weight: var(--font-weight__bold);
  text-transform: uppercase;
}

.txt-light.eyebrow {
  color: var(--main-light) !important;
}

.txt-light.eyebrow::before {
  background: var(--main-light) !important;
}

.eyebrow::before {
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background: var(--brand-color-main);
  transition: width 0.6s cubic-bezier(0.5, 0, 0.2, 1);
}

.eyebrow.is-visible::before {
  width: 48px;
}

/* === BUILD LAYERS === */

.lp__fluestermatte .build-layers {
  display: flex;
  flex-direction: column;
  gap: calc(var(--grid__x-small) / 2);
}

.lp__fluestermatte .build-layers > * {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: var(--grid__x-small);
  padding: var(--grid__x-small) 0;
}

.build-layers .lay__index {
  width: 10%;
  font-size: var(--font-size__medium-large);
  font-weight: var(--font-weight__black);
}

.build-layers .lay__title {
  display: flex;
  flex-direction: column;
  width: 60%;
}

.build-layers .lay__title .title {
  font-size: var(--font-size__medium);
  font-weight: var(--font-weight__black);
  text-align: left;
}

.build-layers .lay__title .subtitle {
  font-size: var(--font-size__regular);
  font-weight: var(--font-weight__regular);
  text-align: left;
}

.build-layers .lay__descr {
  width: 20%;
  font-size: var(--font-size__regular);
  font-weight: var(--font-weight__bold);
  text-align: right;
}

.build-layers .lay-first {
  background-color: var(--main-medium);
  border-top-left-radius: calc(var(--radius__medium) * 0.8);
  border-top-right-radius: calc(var(--radius__medium) * 0.8);
}

.build-layers .lay-n {
  background-color: var(--main-medium);
}

.build-layers .lay-highlight {
  background-color: var(--brand-color-main);
  color: var(--main-light);
}

.build-layers .lay-last {
  background-color: var(--main-medium);
  border-bottom-left-radius: calc(var(--radius__medium) * 0.8);
  border-bottom-right-radius: calc(var(--radius__medium) * 0.8);
}

.build-layers .lay-solo {
  margin-top: var(--grid__x-small);
  background-color: var(--brand-color-main);
  color: var(--main-light);
  border-radius: calc(var(--radius__medium) * 0.8);
}

/* === NAVIGATION === */

nav.lp__fluestermatte {
  border: 1px solid rgba(220, 220, 220, 0.7);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 12px 48px rgba(26, 26, 26, 0.08);
  backdrop-filter: blur(18px);
}

/* === SLIDER === */

#slider--referenzen span.slide-badge {
  position: absolute;
  top: var(--grid__x-small);
  right: var(--grid__x-small);
  padding: calc(var(--grid__x-small) / 2) var(--grid__x-small);
  background-color: var(--brand-color-main);
  color: var(--main-light);
  border-radius: var(--radius__large);
  font-size: var(--font-size__small);
  font-weight: var(--font-weight__black);
}

#detail span.tile-badge {
  position: absolute;
  top: calc(var(--grid__x-small) / 2);
  right: calc(var(--grid__x-small) / 2);
  padding: calc(var(--grid__x-small) / 3) calc(var(--grid__x-small) / 2);
  background-color: var(--brand-color-main);
  color: var(--main-light);
  border-radius: var(--radius__large);
  font-size: var(--font-size__small);
  font-weight: var(--font-weight__black);
}