/* Eigene Anpassungen an Farben, Schriften, Abständen und Größen hier ergänzen. */

/* One large mascot takes the place of the home hero phone. */
html[data-page="home"] .layout-kuaed2.bruda-hero-ghost-wrap {
  width: min(46%, 590px);
  height: auto;
  aspect-ratio: 1;
  top: -70px;
  left: 52%;
  overflow: visible;
  pointer-events: none;
}

html[data-page="home"] .bruda-hero-ghost {
  top: 0;
  filter: drop-shadow(0 14px 20px rgb(48 42 36 / 10%));
}

.bruda-hero-ghost img {
  object-fit: contain;
  animation: bruda-hero-float 6s ease-in-out infinite;
  -webkit-user-drag: none;
}

@keyframes bruda-hero-float {
  0%, 100% { transform: translateY(6px) rotate(-3deg); }
  50% { transform: translateY(-10px) rotate(2deg); }
}

@media (max-width: 1199px) {
  html[data-page="home"] .layout-plgg47 { gap: 24px; }
  html[data-page="home"] .layout-1m3xpgc { display: contents; }
  html[data-page="home"] .layout-1ryytuq { order: 0; }
  html[data-page="home"] .layout-v6tdht { order: 2; }
  html[data-page="home"] .layout-kuaed2.bruda-hero-ghost-wrap {
    position: relative;
    order: 1;
    top: auto;
    left: auto;
    width: min(80%, 540px);
    transform: none;
  }
  html[data-page="home"] .layout-1aw63wc-container { order: 3; }
}

@media (max-width: 809px) {
  html[data-page="home"] .layout-kuaed2.bruda-hero-ghost-wrap {
    width: min(100%, 420px);
    margin-block: -10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bruda-hero-ghost img { animation: none; }
}

/* Each accent has its own space above a heading, keeping the content clear. */
html body [data-bruda-sticker-host] {
  padding-top: 100px !important;
  box-sizing: border-box;
}

.bruda-sticker-strip {
  position: absolute;
  inset: 4px 0 auto;
  height: 84px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-inline: clamp(4px, 3vw, 36px);
  pointer-events: none;
  user-select: none;
}

.bruda-sticker-strip[data-sticker-side="left"] { justify-content: flex-start; }
.bruda-sticker-strip[data-sticker-side="right"] { justify-content: flex-end; }
.bruda-sticker-accent {
  display: block;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  transform: rotate(var(--sticker-angle));
}
.bruda-sticker-accent + .bruda-sticker-accent { width: 60px; height: 60px; margin-top: 10px; }
.bruda-sticker-accent img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  -webkit-user-drag: none;
  animation: bruda-sticker-bob var(--sticker-duration) ease-in-out var(--sticker-delay) infinite;
  animation-play-state: paused;
}
[data-bruda-sticker-visible] > .bruda-sticker-strip img { animation-play-state: running; }
html[data-bruda-stickers-paused] .bruda-sticker-accent img { animation-play-state: paused; }
[data-bruda-sticker-host="footer"] > .bruda-sticker-strip { padding-inline: 0; max-width: 220px; }
[data-bruda-sticker-host="cta"] > .bruda-sticker-strip { padding-inline: 0; }

@keyframes bruda-sticker-bob {
  0%, 100% { transform: translateY(3px) rotate(-2deg); }
  50% { transform: translateY(-5px) rotate(2deg); }
}

@media (max-width: 809px) {
  html body [data-bruda-sticker-host] { padding-top: 78px !important; }
  .bruda-sticker-strip { height: 64px; padding-inline: 4px; }
  .bruda-sticker-accent { width: 56px; height: 56px; }
  .bruda-sticker-accent + .bruda-sticker-accent { width: 48px; height: 48px; margin-top: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .bruda-sticker-accent img { animation: none; }
}

/* Freestanding ghost stickers replace the second smartphone illustration. */
.layout-1944sl0:has(.bruda-ghost-scene) {
  height: 490px;
  -webkit-mask: none;
  mask: none;
}

.layout-1h5sq2j-container:has(.bruda-ghost-scene) {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
}

/* Give the large lettering behind the stickers more weight and contrast. */
.layout-1944sl0:has(.bruda-ghost-scene) > [data-design-name="Underlay Text"] {
  -webkit-mask: linear-gradient(rgb(0 0 0 / 85%) 0%, #000 100%);
  mask: linear-gradient(rgb(0 0 0 / 85%) 0%, #000 100%);
}

.layout-1944sl0:has(.bruda-ghost-scene) > [data-design-name="Underlay Text"] .layout-text {
  color: #98b5ed;
  font-weight: 700;
}

.layout-g00XP.bruda-ghost-scene {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(transparent, #000 12%, #000 80%, transparent);
  mask-image: linear-gradient(transparent, #000 12%, #000 80%, transparent);
}

.bruda-ghost-scene::before {
  content: "";
  position: absolute;
  inset: 15% 16% 0;
  background: radial-gradient(ellipse at 50% 72%, #e9f2ff 0%, #f4f8ff 42%, transparent 72%);
  z-index: -1;
}

.bruda-ghost {
  position: absolute;
  left: var(--ghost-x);
  top: var(--ghost-y);
  width: clamp(112px, 18%, 236px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%) rotate(var(--ghost-rotation)) scale(var(--ghost-scale));
  transform-origin: center;
  user-select: none;
}

.bruda-ghost img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  -webkit-user-drag: none;
}

.bruda-ghost-scene[data-ghost-running] .bruda-ghost { will-change: transform, opacity; }

@media (max-width: 809px) {
  .layout-1944sl0:has(.bruda-ghost-scene) { height: 390px; }
  .bruda-ghost { width: clamp(110px, 28%, 160px); }
}

@media (prefers-reduced-motion: reduce) {
  .bruda-ghost-scene { -webkit-mask-image: none; mask-image: none; }
}

/* Das farblich abgestimmte Foto geht weich in das Dot-Blau über. */
.dot-hero-lifestyle {
  background-color: #0040c1;
}

/* Lifestyle-Fotos: gemeinsame Farbwelt, eigene Ausschnitte pro Einsatzort. */
.dot-lifestyle-soon {
  background: #0040c1;
  isolation: isolate;
}

.dot-lifestyle-soon > [data-design-background-image-wrapper] > img {
  object-position: 50% 30% !important;
}

.dot-lifestyle-soon > [data-design-background-image-wrapper]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(0 40 120 / 0%) 24%, rgb(0 40 120 / 16%) 47%, rgb(0 40 120 / 78%) 77%, #0037a8 100%);
  pointer-events: none;
}

.dot-lifestyle-soon > [data-design-name="Pattern"] {
  display: none;
}

.layout-R9xae.dot-lifestyle-soon > [data-design-name="Logo White"] {
  top: 24px;
  right: 24px;
  width: 48px;
}

.layout-R9xae.dot-lifestyle-soon .layout-1khkqti {
  width: 48px;
  height: 48px;
}

.dot-lifestyle-soon :is(.layout-jn6m8g, .layout-3zhzoh-container) {
  z-index: 2;
}

/* Abschluss: Text auf ruhigem Blau, Porträt auf der rechten Seite. */
.layout-hPrPx.dot-lifestyle-cta .layout-1m40fu2 {
  align-items: flex-start;
  justify-content: center;
  min-height: 620px;
  padding: 72px;
  gap: 0;
  background: #0040c1;
  isolation: isolate;
}

.dot-lifestyle-cta .layout-1m40fu2 > [data-design-background-image-wrapper] > img {
  position: absolute;
  right: 0;
  width: 48% !important;
  border-radius: 0 !important;
  object-position: 58% 38% !important;
  /* Fade the image itself: an overlay alone leaves its vertical edge visible. */
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / 8%) 10%, rgb(0 0 0 / 35%) 23%, rgb(0 0 0 / 75%) 36%, #000 48%);
  mask-image: linear-gradient(90deg, transparent 0%, rgb(0 0 0 / 8%) 10%, rgb(0 0 0 / 35%) 23%, rgb(0 0 0 / 75%) 36%, #000 48%);
}

.dot-lifestyle-cta .layout-1m40fu2 > [data-design-background-image-wrapper]::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #0040c1 39%, rgb(0 64 193 / 97%) 48%, rgb(0 64 193 / 55%) 58%, rgb(0 64 193 / 0%) 73%);
  pointer-events: none;
}

.layout-hPrPx.dot-lifestyle-cta .layout-1ov5vhl {
  width: 54%;
  max-width: 610px;
  align-items: flex-start;
  gap: 40px;
  z-index: 1;
}

.layout-hPrPx.dot-lifestyle-cta .layout-ddxo0v {
  align-items: flex-start;
  gap: 24px;
}

.layout-hPrPx.dot-lifestyle-cta .layout-1kaxhvu {
  width: 100%;
  white-space: normal;
}

.dot-lifestyle-cta .layout-ddxo0v :is(h2, p) {
  text-align: left !important;
}

.layout-hPrPx.dot-lifestyle-cta .layout-ddxo0v h2 {
  font-size: clamp(36px, 3.8vw, 56px);
}

.dot-lifestyle-cta :is([data-design-name="CTA Card-1"], [data-design-name="CTA Card-2"]) {
  display: none;
}

.layout-hPrPx.dot-lifestyle-cta .layout-oa8nmb {
  width: 100%;
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

@media (min-width: 810px) and (max-width: 1199.98px) {
  .layout-hPrPx.dot-lifestyle-cta .layout-1m40fu2 {
    padding: 48px;
  }
}

@media (max-width: 809.98px) {
  .layout-R9xae.dot-lifestyle-soon.layout-aonr3i {
    padding: 24px;
  }

  .dot-lifestyle-soon > [data-design-background-image-wrapper] > img {
    height: 78% !important;
    object-position: 50% 0% !important;
  }

  .dot-lifestyle-soon > [data-design-background-image-wrapper]::after {
    background: linear-gradient(180deg, rgb(0 64 193 / 0%) 22%, rgb(0 64 193 / 8%) 38%, rgb(0 55 168 / 85%) 69%, #0037a8 79%);
  }

  .layout-hPrPx.dot-lifestyle-cta .layout-1m40fu2 {
    min-height: 0;
    padding: 36px 24px 0;
  }

  .layout-hPrPx.dot-lifestyle-cta .layout-1ov5vhl {
    width: 100%;
    max-width: none;
    gap: 28px;
  }

  .layout-hPrPx.dot-lifestyle-cta .layout-ddxo0v h2 {
    font-size: clamp(30px, 8vw, 40px);
  }

  .dot-lifestyle-cta .layout-1m40fu2 > [data-design-background-image-wrapper] {
    position: relative !important;
    inset: auto !important;
    order: 2;
    flex: none;
    width: calc(100% + 48px);
    aspect-ratio: 4 / 4.6;
    margin: 12px -24px 0;
    border-radius: 0 !important;
  }

  .dot-lifestyle-cta .layout-1m40fu2 > [data-design-background-image-wrapper] > img {
    width: 100% !important;
    object-position: 50% 38% !important;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgb(0 0 0 / 20%) 8%, rgb(0 0 0 / 65%) 18%, #000 30%);
    mask-image: linear-gradient(180deg, transparent 0%, rgb(0 0 0 / 20%) 8%, rgb(0 0 0 / 65%) 18%, #000 30%);
  }

  .dot-lifestyle-cta .layout-1m40fu2 > [data-design-background-image-wrapper]::after {
    background: linear-gradient(180deg, #0040c1 0%, rgb(0 64 193 / 60%) 12%, rgb(0 64 193 / 0%) 33%);
  }
}

.dot-hero-lifestyle > [data-design-background-image-wrapper] > img {
  width: 100% !important;
  transform: none;
  object-position: 50% 0% !important;
}

.dot-hero-lifestyle > [data-design-background-image-wrapper]::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(180deg, rgb(0 64 193 / 5%) 0%, rgb(0 64 193 / 8%) 28%, rgb(0 64 193 / 40%) 53%, rgb(0 64 193 / 92%) 84%, #0040c1 100%);
  pointer-events: none;
}

.dot-hero-lifestyle [data-design-name$="Ticker"] p {
  color: rgb(255 255 255 / 38%) !important;
}

.dot-hero-lifestyle .layout-xs5nox {
  text-shadow: 0 2px 18px rgb(0 34 112 / 24%);
}

@media (max-width: 809.98px) {
  .dot-hero-lifestyle > [data-design-background-image-wrapper] > img {
    height: 340px !important;
    object-position: 50% 0% !important;
  }

  .dot-hero-lifestyle > [data-design-background-image-wrapper]::after {
    background: linear-gradient(180deg, rgb(0 64 193 / 6%) 0%, rgb(0 64 193 / 12%) 100px, rgb(0 64 193 / 58%) 230px, #0040c1 340px);
  }
}
