
/* MellowTech CMS – zentrale, templateunabhängige Frontend-Komponenten */
.cms-block-error-diagnostic{--cms-error-accent:var(--mt-primary,#e9282e);--cms-error-signal:var(--mt-secondary,#ff9f1c);--cms-error-text:var(--mt-text,currentColor);--cms-error-muted:var(--mt-muted,#6c757d);--cms-error-card:var(--mt-card-bg,var(--mt-content-bg,var(--bs-body-bg,#fff)));--cms-error-border:var(--mt-input-border,var(--bs-border-color,rgba(127,127,127,.28)));position:relative;overflow:hidden;width:100%;padding:clamp(2rem,4vw,4.5rem) 0;color:var(--cms-error-text);background:transparent}
.cms-error-diagnostic-grid{position:relative;z-index:1;display:grid!important;grid-template-columns:minmax(280px,.9fr) minmax(380px,1.1fr)!important;align-items:center;gap:clamp(2rem,6vw,6rem);width:100%}
.cms-error-diagnostic-eyebrow{display:inline-flex!important;align-items:center;gap:.65rem;margin:0 0 1.15rem;color:var(--cms-error-signal);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.cms-error-diagnostic-eyebrow:before{content:"";width:.55rem;height:.55rem;flex:0 0 .55rem;border-radius:50%;background:currentColor;box-shadow:0 0 13px rgba(255,159,28,.55);animation:cms-error-blink 1.3s infinite}
.cms-content .cms-error-diagnostic-code,.cms-error-diagnostic-code{margin:0 0 1.6rem!important;color:var(--cms-error-text);font-size:clamp(4.2rem,9vw,7.8rem)!important;font-weight:900!important;line-height:.86!important;letter-spacing:-.075em!important}
.cms-error-diagnostic-code span{display:block!important;margin-bottom:.75rem;color:transparent!important;-webkit-text-stroke:1px rgba(127,127,127,.55);font-size:.42em!important;letter-spacing:-.035em}
.cms-error-diagnostic-lead{max-width:560px;margin:0 0 2rem!important;color:var(--cms-error-muted);font-size:clamp(1rem,1.8vw,1.22rem)!important;line-height:1.7!important}
.cms-error-diagnostic-lead strong{color:var(--cms-error-text)}
.cms-error-diagnostic-actions{display:flex!important;flex-wrap:wrap;gap:.8rem}
.cms-error-diagnostic-actions .btn{min-height:52px;display:inline-flex!important;align-items:center;justify-content:center;padding:.7rem 1.35rem;font-weight:800}
.cms-error-diagnostic-visual{position:relative!important;min-height:440px;display:flex!important;align-items:center;justify-content:center}
.cms-error-diagnostic-number{position:absolute!important;top:50%;left:50%;transform:translate(-50%,-56%);z-index:0;color:rgba(127,127,127,.035);-webkit-text-stroke:1px rgba(127,127,127,.07);font-size:clamp(12rem,25vw,25rem)!important;font-weight:900;line-height:1;letter-spacing:-.09em;user-select:none}
.cms-error-diagnostic-scene{position:relative!important;z-index:2;width:min(560px,100%);height:330px}
.cms-error-diagnostic-floor{position:absolute!important;left:15%;right:15%;bottom:56px;height:58px;border-radius:50%;background:rgba(233,40,46,.18);filter:blur(42px)}
.cms-error-diagnostic-car{position:absolute!important;left:5%;right:5%;bottom:72px;height:130px}
.cms-error-diagnostic-car-body{position:absolute!important;left:7%;right:0;bottom:15px;height:76px;border-radius:48px 55px 20px 18px;background:linear-gradient(180deg,#31363b 0%,#1b1f23 48%,#101215 100%);box-shadow:inset 0 1px rgba(255,255,255,.12),0 22px 40px rgba(0,0,0,.45)}
.cms-error-diagnostic-roof{position:absolute!important;width:49%;height:80px;left:32%;bottom:72px;border-radius:90px 80px 5px 5px;background:linear-gradient(135deg,#343a40,#15181c);clip-path:polygon(18% 0,73% 0,100% 100%,0 100%)}
.cms-error-diagnostic-window{position:absolute!important;width:38%;height:57px;left:38%;bottom:80px;clip-path:polygon(13% 0,72% 0,100% 100%,0 100%);background:linear-gradient(150deg,rgba(93,120,133,.75),rgba(15,22,27,.95))}
.cms-error-diagnostic-hood{position:absolute!important;width:27%;height:12px;right:3%;bottom:84px;border-radius:5px 22px 3px 0;background:#33383d;transform-origin:right center;transform:rotate(-21deg)}
.cms-error-diagnostic-bumper{position:absolute!important;width:20%;height:9px;right:-2%;bottom:23px;border-radius:8px;background:#070809}
.cms-error-diagnostic-headlight{position:absolute!important;right:5%;bottom:61px;width:34px;height:16px;border-radius:4px 15px 5px 4px;background:#ffb526;box-shadow:0 0 18px rgba(255,181,38,.65),20px 4px 40px rgba(255,181,38,.2)}
.cms-error-diagnostic-wheel{position:absolute!important;bottom:0;width:69px;height:69px;border:15px solid #08090a!important;border-radius:50%;background:#42474c;box-shadow:inset 0 0 0 5px #191c1f,0 10px 20px rgba(0,0,0,.5)}
.cms-error-diagnostic-wheel:after{content:"";position:absolute;width:14px;height:14px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#777d83}
.cms-error-diagnostic-wheel-left{left:18%}.cms-error-diagnostic-wheel-right{right:13%}
.cms-error-diagnostic-smoke{position:absolute!important;right:15%;top:28px;width:70px;height:70px}
.cms-error-diagnostic-smoke span{position:absolute!important;display:block!important;width:35px;height:35px;border-radius:50%;background:rgba(180,185,190,.15);filter:blur(5px);animation:cms-error-smoke 3.6s infinite ease-out}
.cms-error-diagnostic-smoke span:nth-child(2){left:20px;animation-delay:1.1s}.cms-error-diagnostic-smoke span:nth-child(3){left:-13px;animation-delay:2.1s}
.cms-error-diagnostic-warning{position:absolute!important;right:0;top:8px;width:205px;padding:.9rem 1rem;border:1px solid var(--cms-error-border);border-radius:.85rem;background:var(--cms-error-card);box-shadow:0 15px 50px rgba(0,0,0,.18);transform:rotate(3deg);animation:cms-error-float 4s ease-in-out infinite}
.cms-error-diagnostic-warning-label{margin-bottom:.45rem;color:var(--cms-error-signal);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.cms-error-diagnostic-warning-text{color:var(--cms-error-text);font-size:.9rem;font-weight:700;line-height:1.45}
.cms-error-diagnostic-status{position:absolute!important;left:0;bottom:6px;display:flex!important;align-items:center;gap:.7rem;padding:.75rem .9rem;border:1px solid var(--cms-error-border);border-radius:.75rem;color:var(--cms-error-muted);background:var(--cms-error-card);font-size:.77rem}
.cms-error-diagnostic-status strong{display:block;margin-bottom:.1rem;color:var(--cms-error-text);font-size:.82rem}.cms-error-diagnostic-status-icon{color:var(--cms-error-accent);font-size:1.15rem}
.cms-error-diagnostic-road{position:absolute!important;bottom:40px;left:2.5%;width:95%;height:2px;background:linear-gradient(90deg,transparent,rgba(127,127,127,.18),rgba(127,127,127,.18),transparent)}
@keyframes cms-error-blink{50%{opacity:.25}}
@keyframes cms-error-smoke{0%{transform:translate(0,20px) scale(.55);opacity:0}25%{opacity:.65}100%{transform:translate(25px,-70px) scale(1.7);opacity:0}}
@keyframes cms-error-float{50%{transform:rotate(1deg) translateY(-9px)}}
@media (max-width:900px){.cms-error-diagnostic-grid{grid-template-columns:1fr!important;gap:1.5rem}.cms-error-diagnostic-content{text-align:center}.cms-error-diagnostic-eyebrow,.cms-error-diagnostic-actions{justify-content:center}.cms-error-diagnostic-lead{margin-left:auto!important;margin-right:auto!important}.cms-error-diagnostic-visual{min-height:360px}}
@media (max-width:520px){.cms-block-error-diagnostic{padding:1.5rem 0}.cms-error-diagnostic-actions{flex-direction:column}.cms-error-diagnostic-actions .btn{width:100%}.cms-error-diagnostic-visual{min-height:300px}.cms-error-diagnostic-scene{transform:scale(.78);transform-origin:center center}.cms-error-diagnostic-warning{right:-22px}}
@media (prefers-reduced-motion:reduce){.cms-block-error-diagnostic *,.cms-block-error-diagnostic *:before,.cms-block-error-diagnostic *:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
/* MellowTech 404 legacy/system block (CSP-safe external styles) */
.mt404-custom,
.mt404-custom * {
    box-sizing: border-box;
}

.mt404-custom {
    --mt404-bg: #090b0d;
    --mt404-card: rgba(20, 23, 27, .88);
    --mt404-text: #f5f5f5;
    --mt404-muted: #969da6;
    --mt404-red: #e9282e;
    --mt404-orange: #ff9f1c;
    --mt404-line: rgba(255, 255, 255, .08);

    position: relative;
    overflow: hidden;
    margin: 0;
    padding: clamp(2rem, 2vw, 3rem) 0;
    min-height: min(700px, 82vh);
    color: inherit;
    background: transparent;
}

.mt404-custom__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(280px, .9fr) minmax(380px, 1.1fr);
    align-items: center;
    gap: clamp(2rem, 6vw, 6rem);
    max-width: 1180px;
    margin: 0 auto;
}

.mt404-custom__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-bottom: 1.15rem;
    color: var(--mt404-orange);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.mt404-custom__eyebrow::before {
    content: "";
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--mt404-orange);
    box-shadow: 0 0 13px var(--mt404-orange);
    animation: mt404-blink 1.3s infinite;
}

.mt404-custom h1 {
    margin: 0 0 1.6rem;
    color: inherit;
    font-size: clamp(4.2rem, 9vw, 7.8rem);
    font-weight: 900;
    line-height: .86;
    letter-spacing: -.075em;
}

.mt404-custom h1 span {
    display: block;
    margin-bottom: .75rem;
    color: transparent;
    -webkit-text-stroke: 1px rgba(255,255,255,.28);
    font-size: .42em;
    letter-spacing: -.035em;
}

.mt404-custom__lead {
    max-width: 560px;
    margin: 0 0 2rem;
    color: var(--bs-secondary-color, var(--mt404-muted));
    font-size: clamp(1rem, 1.8vw, 1.22rem);
    line-height: 1.7;
}

.mt404-custom__lead strong {
    color: inherit;
}

.mt404-custom__actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.mt404-custom__btn {
    min-height: 52px;
    padding: 0 1.35rem;
    border: 1px solid currentColor;
    border-radius: .7rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    color: inherit !important;
    background: transparent;
    text-decoration: none !important;
    font-weight: 800;
    transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.mt404-custom__btn:hover {
    transform: translateY(-2px);
    background: rgba(127,127,127,.10);
    border-color: currentColor;
}

.mt404-custom__btn--primary {
    border-color: transparent;
    color: #fff !important;
    background: var(--mt404-red);
    box-shadow: 0 8px 35px rgba(233,40,46,.24);
}

.mt404-custom__btn--primary:hover {
    background: #ff3138;
    box-shadow: 0 12px 45px rgba(233,40,46,.34);
}

.mt404-custom__visual {
    position: relative;
    min-height: 440px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mt404-custom__number {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -56%);
    z-index: 0;
    color: rgba(255,255,255,.018);
    -webkit-text-stroke: 1px rgba(255,255,255,.04);
    font-size: clamp(12rem, 25vw, 25rem);
    font-weight: 900;
    letter-spacing: -.09em;
    user-select: none;
}

.mt404-custom__scene {
    position: relative;
    z-index: 2;
    width: min(560px, 100%);
    height: 330px;
}

.mt404-custom__floor-light {
    position: absolute;
    left: 15%;
    right: 15%;
    bottom: 56px;
    height: 58px;
    border-radius: 50%;
    background: rgba(233,40,46,.18);
    filter: blur(42px);
}

.mt404-custom__car {
    position: absolute;
    left: 5%;
    right: 5%;
    bottom: 72px;
    height: 130px;
}

.mt404-custom__car-body {
    position: absolute;
    left: 7%;
    right: 0;
    bottom: 15px;
    height: 76px;
    border-radius: 48px 55px 20px 18px;
    background: linear-gradient(180deg, #31363b 0%, #1b1f23 48%, #101215 100%);
    box-shadow: inset 0 1px rgba(255,255,255,.12), 0 22px 40px rgba(0,0,0,.55);
}

.mt404-custom__roof {
    position: absolute;
    width: 49%;
    height: 80px;
    left: 32%;
    bottom: 72px;
    border-radius: 90px 80px 5px 5px;
    background: linear-gradient(135deg, #343a40, #15181c);
    clip-path: polygon(18% 0, 73% 0, 100% 100%, 0 100%);
}

.mt404-custom__window {
    position: absolute;
    width: 38%;
    height: 57px;
    left: 38%;
    bottom: 80px;
    clip-path: polygon(13% 0, 72% 0, 100% 100%, 0 100%);
    background: linear-gradient(150deg, rgba(93,120,133,.75), rgba(15,22,27,.95));
}

.mt404-custom__hood {
    position: absolute;
    width: 27%;
    height: 12px;
    right: 3%;
    bottom: 84px;
    border-radius: 5px 22px 3px 0;
    background: #33383d;
    transform-origin: right center;
    transform: rotate(-21deg);
}

.mt404-custom__bumper {
    position: absolute;
    width: 20%;
    height: 9px;
    right: -2%;
    bottom: 23px;
    border-radius: 8px;
    background: #070809;
}

.mt404-custom__headlight {
    position: absolute;
    right: 5%;
    bottom: 61px;
    width: 34px;
    height: 16px;
    border-radius: 4px 15px 5px 4px;
    background: #ffb526;
    box-shadow: 0 0 18px rgba(255,181,38,.65), 20px 4px 40px rgba(255,181,38,.2);
}

.mt404-custom__wheel {
    position: absolute;
    bottom: 0;
    width: 69px;
    height: 69px;
    border: 15px solid #08090a;
    border-radius: 50%;
    background: #42474c;
    box-shadow: inset 0 0 0 5px #191c1f, 0 10px 20px rgba(0,0,0,.5);
}

.mt404-custom__wheel::after {
    content: "";
    position: absolute;
    width: 14px;
    height: 14px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: #777d83;
}

.mt404-custom__wheel--left { left: 18%; }
.mt404-custom__wheel--right { right: 13%; }

.mt404-custom__smoke {
    position: absolute;
    right: 15%;
    top: 28px;
    width: 70px;
    height: 70px;
}

.mt404-custom__smoke span {
    position: absolute;
    display: block;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: rgba(180,185,190,.15);
    filter: blur(5px);
    animation: mt404-smoke 3.6s infinite ease-out;
}

.mt404-custom__smoke span:nth-child(2) { left: 20px; animation-delay: 1.1s; }
.mt404-custom__smoke span:nth-child(3) { left: -13px; animation-delay: 2.1s; }

.mt404-custom__warning {
    position: absolute;
    right: 0;
    top: 8px;
    width: 205px;
    padding: .9rem 1rem;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: .85rem;
    background: rgba(14,16,19,.82);
    backdrop-filter: blur(15px);
    box-shadow: 0 15px 50px rgba(0,0,0,.35);
    transform: rotate(3deg);
    animation: mt404-float 4s ease-in-out infinite;
}

.mt404-custom__warning-label {
    margin-bottom: .45rem;
    color: var(--mt404-orange);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.mt404-custom__warning-text {
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.45;
}

.mt404-custom__diagnostic {
    position: absolute;
    left: 0;
    bottom: 6px;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .75rem .9rem;
    border: 1px solid var(--mt404-line);
    border-radius: .75rem;
    color: var(--mt404-muted);
    background: rgba(13,15,17,.84);
    backdrop-filter: blur(15px);
    font-size: .77rem;
}

.mt404-custom__diagnostic strong {
    display: block;
    margin-bottom: .1rem;
    color: #fff;
    font-size: .82rem;
}

.mt404-custom__road {
    position: absolute;
    bottom: 40px;
    width: 95%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.1), rgba(255,255,255,.1), transparent);
}

@keyframes mt404-blink {
    50% { opacity: .25; }
}

@keyframes mt404-smoke {
    0%   { transform: translate(0, 20px) scale(.55); opacity: 0; }
    25%  { opacity: .65; }
    100% { transform: translate(25px, -70px) scale(1.7); opacity: 0; }
}

@keyframes mt404-float {
    50% { transform: rotate(1deg) translateY(-9px); }
}

@media (max-width: 900px) {
    .mt404-custom {
        padding: 2rem 1.25rem;
    }

    .mt404-custom__grid {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .mt404-custom__content {
        text-align: center;
    }

    .mt404-custom__eyebrow,
    .mt404-custom__actions {
        justify-content: center;
    }

    .mt404-custom__lead {
        margin-left: auto;
        margin-right: auto;
    }

    .mt404-custom__visual {
        min-height: 360px;
    }
}

@media (max-width: 520px) {
    .mt404-custom {
        padding: 1.5rem 1rem;
    }

    .mt404-custom__actions {
        flex-direction: column;
    }

    .mt404-custom__btn {
        width: 100%;
    }

    .mt404-custom__visual {
        min-height: 300px;
    }

    .mt404-custom__scene {
        transform: scale(.78);
        transform-origin: center center;
    }

    .mt404-custom__warning {
        right: -22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mt404-custom *,
    .mt404-custom *::before,
    .mt404-custom *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

.mt404-custom__diagnostic-icon { color: #e9282e; font-size: 1.15rem; }

/* Wartungsseite · Layout wird vom Page Builder 2.0 gesteuert. */
body.cms-maintenance-page .cms-system-page-content{min-height:100vh}
body.cms-maintenance-page .cms-builder-page-root{min-height:100vh}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen{min-height:100vh;display:flex}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen>.cms-builder-section-inner{display:flex;flex-direction:column}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen.cms-builder-content-y-center>.cms-builder-section-inner{justify-content:center}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen.cms-builder-content-y-end>.cms-builder-section-inner{justify-content:flex-end}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen.cms-builder-content-y-start>.cms-builder-section-inner{justify-content:flex-start}

.cms-text-justify{text-align:justify!important}

/* Content-Block-Vorlagen "Text links/rechts + Bild" (system/includes/blocks.php):
   Das eingesetzte Bild folgt dem globalen Eckenradius aus dem Design-Hub,
   analog zu den "Radius: Global"-Optionen der Page-Builder-Blöcke weiter
   unten, statt fest eckig zu bleiben. */
.cms-block-text-image img,
.cms-block-image-text img{border-radius:var(--mt-global-radius,.75rem)}


/* Page Builder 2.0 · sichere, templatebasierte Layout-Primitiven */
.cms-builder-page-root{width:100%}
.cms-builder-section{
  width:min(var(--mt-main-content-width,var(--mt-content-width,1320px)),calc(100% - 2rem));
  margin-inline:auto;
  background:transparent;
}
.cms-builder-section-inner{width:100%;margin-inline:auto}
.cms-builder-width-narrow{width:min(720px,calc(100% - 2rem))}
.cms-builder-width-medium{width:min(960px,calc(100% - 2rem))}
.cms-builder-width-wide{width:min(1200px,calc(100% - 2rem))}
.cms-builder-width-full{width:100%;max-width:none}
.cms-builder-space-top-0{padding-top:0}.cms-builder-space-top-16{padding-top:16px}.cms-builder-space-top-32{padding-top:32px}.cms-builder-space-top-48{padding-top:48px}.cms-builder-space-top-64{padding-top:64px}.cms-builder-space-top-96{padding-top:96px}
.cms-builder-space-bottom-0{padding-bottom:0}.cms-builder-space-bottom-16{padding-bottom:16px}.cms-builder-space-bottom-32{padding-bottom:32px}.cms-builder-space-bottom-48{padding-bottom:48px}.cms-builder-space-bottom-64{padding-bottom:64px}.cms-builder-space-bottom-96{padding-bottom:96px}
.cms-builder-columns{display:grid;gap:clamp(1rem,2vw,2rem);align-items:start}
.cms-builder-cols-1{grid-template-columns:minmax(0,1fr)}
.cms-builder-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-builder-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cms-builder-block+.cms-builder-block{margin-top:1rem}
.cms-builder-block-heading>:last-child,.cms-builder-block-text>:last-child,.cms-builder-block-image{margin-bottom:0}
.cms-builder-block-image{text-align:center}
.cms-builder-image{max-width:100%;height:auto}
.cms-builder-block-button{display:flex;align-items:center}
.cms-builder-spacer-16{height:16px}.cms-builder-spacer-32{height:32px}.cms-builder-spacer-48{height:48px}.cms-builder-spacer-64{height:64px}.cms-builder-spacer-96{height:96px}
.cms-builder-divider{border-color:var(--mt-global-border,var(--bs-border-color));opacity:1}
@media(max-width:767.98px){
  .cms-builder-cols-2,.cms-builder-cols-3{grid-template-columns:1fr}
  .cms-builder-section,.cms-builder-width-narrow,.cms-builder-width-medium,.cms-builder-width-wide{width:calc(100% - 1.5rem)}
  .cms-builder-width-full{width:100%}
  .cms-builder-section-inner{width:100%}
}



.cms-builder-section{border-style:solid}
.cms-builder-border-global{border-color:var(--mt-global-border,var(--mt-card-border-color,var(--bs-border-color)));}
.cms-builder-border-none{border-color:transparent!important;border-width:0!important}
.cms-builder-border-width-1{border-width:1px}.cms-builder-border-width-2{border-width:2px}.cms-builder-border-width-3{border-width:3px}
.cms-builder-border-position-all{border-style:solid}
.cms-builder-border-position-top{border-style:solid none none none}
.cms-builder-border-position-right{border-style:none solid none none}
.cms-builder-border-position-bottom{border-style:none none solid none}
.cms-builder-border-position-left{border-style:none none none solid}
.cms-builder-border-position-vertical{border-style:solid none solid none}
.cms-builder-border-position-horizontal{border-style:none solid none solid}
.cms-builder-radius-global{border-radius:var(--mt-global-radius,0)}.cms-builder-radius-none{border-radius:0}.cms-builder-radius-small{border-radius:.375rem}.cms-builder-radius-medium{border-radius:.75rem}.cms-builder-radius-large{border-radius:1.25rem}
.cms-builder-shadow-none{box-shadow:none}.cms-builder-shadow-soft{box-shadow:0 .25rem .75rem color-mix(in srgb,var(--mt-global-shadow-color,#000) 12%,transparent)}.cms-builder-shadow-medium{box-shadow:0 .6rem 1.5rem color-mix(in srgb,var(--mt-global-shadow-color,#000) 18%,transparent)}.cms-builder-shadow-strong{box-shadow:0 1rem 2.5rem color-mix(in srgb,var(--mt-global-shadow-color,#000) 25%,transparent)}
.cms-builder-cols-2.cms-builder-ratio-1-2{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.cms-builder-cols-2.cms-builder-ratio-2-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.cms-builder-cols-2.cms-builder-ratio-1-3{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}.cms-builder-cols-2.cms-builder-ratio-3-1{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}
.cms-builder-cols-3.cms-builder-ratio-1-2-1{grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}
.cms-builder-align-start{text-align:left}.cms-builder-align-center{text-align:center}.cms-builder-align-end{text-align:right}.cms-builder-align-justify{text-align:justify}
.cms-builder-block-button.cms-builder-align-start{justify-content:flex-start}.cms-builder-block-button.cms-builder-align-center{justify-content:center}.cms-builder-block-button.cms-builder-align-end{justify-content:flex-end}.cms-builder-button-full{width:100%}
.cms-builder-block-image.cms-builder-align-start{text-align:left}.cms-builder-block-image.cms-builder-align-center{text-align:center}.cms-builder-block-image.cms-builder-align-end{text-align:right}.cms-builder-image-size-small .cms-builder-image{width:45%;max-width:320px}.cms-builder-image-size-medium .cms-builder-image{width:65%;max-width:560px}.cms-builder-image-size-large .cms-builder-image{width:85%;max-width:840px}.cms-builder-image-size-full .cms-builder-image{width:100%}
@media(max-width:767.98px){.cms-builder-cols-2.cms-builder-ratio-1-2,.cms-builder-cols-2.cms-builder-ratio-2-1,.cms-builder-cols-2.cms-builder-ratio-1-3,.cms-builder-cols-2.cms-builder-ratio-3-1,.cms-builder-cols-3.cms-builder-ratio-1-2-1{grid-template-columns:1fr}}


/* Page Builder 2.0 · responsive section settings */
@media(min-width:992px){
  .cms-builder-section.cms-builder-hide-desktop{display:none!important}
}
@media(min-width:768px) and (max-width:991.98px){
  .cms-builder-section.cms-builder-hide-tablet{display:none!important}
  .cms-builder-section.cms-builder-tablet-space-top-0{padding-top:0}
  .cms-builder-section.cms-builder-tablet-space-top-16{padding-top:16px}
  .cms-builder-section.cms-builder-tablet-space-top-32{padding-top:32px}
  .cms-builder-section.cms-builder-tablet-space-top-48{padding-top:48px}
  .cms-builder-section.cms-builder-tablet-space-top-64{padding-top:64px}
  .cms-builder-section.cms-builder-tablet-space-top-96{padding-top:96px}
  .cms-builder-section.cms-builder-tablet-space-bottom-0{padding-bottom:0}
  .cms-builder-section.cms-builder-tablet-space-bottom-16{padding-bottom:16px}
  .cms-builder-section.cms-builder-tablet-space-bottom-32{padding-bottom:32px}
  .cms-builder-section.cms-builder-tablet-space-bottom-48{padding-bottom:48px}
  .cms-builder-section.cms-builder-tablet-space-bottom-64{padding-bottom:64px}
  .cms-builder-section.cms-builder-tablet-space-bottom-96{padding-bottom:96px}
}
@media(max-width:767.98px){
  .cms-builder-section.cms-builder-hide-mobile{display:none!important}
  .cms-builder-section.cms-builder-mobile-space-top-0{padding-top:0}
  .cms-builder-section.cms-builder-mobile-space-top-16{padding-top:16px}
  .cms-builder-section.cms-builder-mobile-space-top-32{padding-top:32px}
  .cms-builder-section.cms-builder-mobile-space-top-48{padding-top:48px}
  .cms-builder-section.cms-builder-mobile-space-top-64{padding-top:64px}
  .cms-builder-section.cms-builder-mobile-space-top-96{padding-top:96px}
  .cms-builder-section.cms-builder-mobile-space-bottom-0{padding-bottom:0}
  .cms-builder-section.cms-builder-mobile-space-bottom-16{padding-bottom:16px}
  .cms-builder-section.cms-builder-mobile-space-bottom-32{padding-bottom:32px}
  .cms-builder-section.cms-builder-mobile-space-bottom-48{padding-bottom:48px}
  .cms-builder-section.cms-builder-mobile-space-bottom-64{padding-bottom:64px}
  .cms-builder-section.cms-builder-mobile-space-bottom-96{padding-bottom:96px}
}


/* Page Builder 2.0 · responsive block settings */
@media(min-width:992px){
  .cms-builder-block.cms-builder-block-hide-desktop{display:none!important}
}
@media(min-width:768px) and (max-width:991.98px){
  .cms-builder-block.cms-builder-block-hide-tablet{display:none!important}
  .cms-builder-block.cms-builder-tablet-align-start{text-align:left}
  .cms-builder-block.cms-builder-tablet-align-center{text-align:center}
  .cms-builder-block.cms-builder-tablet-align-end{text-align:right}
  .cms-builder-block.cms-builder-tablet-align-justify{text-align:justify}
  .cms-builder-block-button.cms-builder-tablet-align-start{justify-content:flex-start}
  .cms-builder-block-button.cms-builder-tablet-align-center{justify-content:center}
  .cms-builder-block-button.cms-builder-tablet-align-end{justify-content:flex-end}
}
@media(max-width:767.98px){
  .cms-builder-block.cms-builder-block-hide-mobile{display:none!important}
  .cms-builder-block.cms-builder-mobile-align-start{text-align:left}
  .cms-builder-block.cms-builder-mobile-align-center{text-align:center}
  .cms-builder-block.cms-builder-mobile-align-end{text-align:right}
  .cms-builder-block.cms-builder-mobile-align-justify{text-align:justify}
  .cms-builder-block-button.cms-builder-mobile-align-start{justify-content:flex-start}
  .cms-builder-block-button.cms-builder-mobile-align-center{justify-content:center}
  .cms-builder-block-button.cms-builder-mobile-align-end{justify-content:flex-end}
}



.cms-builder-card-surface{
  height:100%;
  padding:var(--mt-card-padding,1.5rem);
  background:var(--mt-card-bg,var(--bs-body-bg));
  color:var(--mt-card-text,var(--bs-body-color));
  border:1px solid var(--mt-card-border-color,var(--bs-border-color));
  border-radius:var(--mt-card-radius,var(--mt-global-radius,.75rem));
  box-shadow:var(--mt-card-shadow,none);
}
.cms-builder-card-title{margin:0 0 .75rem}
.cms-builder-card-text{margin:0 0 1rem}
.cms-builder-card-text:last-child{margin-bottom:0}



.cms-builder-block-icontext{display:flex;gap:1rem}
.cms-builder-icontext-layout-left{flex-direction:row;align-items:center}
/* Bei "Icon oben" wirkte der Standard-Abstand (1rem, wie bei "Icon links") zwischen
   Icon und Überschrift zu groß, da die Überschrift hier direkt darunter steht. */
.cms-builder-icontext-layout-top{flex-direction:column;gap:.5rem}
.cms-builder-icontext-layout-top.cms-builder-align-start{align-items:flex-start;text-align:left}
.cms-builder-icontext-layout-top.cms-builder-align-center{align-items:center;text-align:center}
.cms-builder-icontext-layout-top.cms-builder-align-end{align-items:flex-end;text-align:right}
.cms-builder-icontext-layout-left.cms-builder-align-start{justify-content:flex-start;text-align:left}
.cms-builder-icontext-layout-left.cms-builder-align-center{justify-content:center;text-align:left}
.cms-builder-icontext-layout-left.cms-builder-align-end{justify-content:flex-end;text-align:left}
.cms-builder-icontext-icon{
  flex:0 0 auto;
  color:var(--mt-primary,var(--bs-primary));
  line-height:1;
}
.cms-builder-icontext-size-small .cms-builder-icontext-icon{font-size:1.25rem}
.cms-builder-icontext-size-normal .cms-builder-icontext-icon{font-size:1.75rem}
.cms-builder-icontext-size-large .cms-builder-icontext-icon{font-size:2.5rem}
.cms-builder-icontext-content{min-width:0}
.cms-builder-icontext-title{margin:0 0 .45rem}
.cms-builder-icontext-text{margin:0}


.cms-builder-block-gallery{display:grid}
.cms-builder-gallery-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-builder-gallery-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cms-builder-gallery-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cms-builder-gallery-gap-small{gap:.5rem}.cms-builder-gallery-gap-normal{gap:1rem}.cms-builder-gallery-gap-large{gap:1.5rem}
.cms-builder-gallery-item{margin:0;min-width:0}.cms-builder-gallery-item img{display:block;width:100%;height:auto}
.cms-builder-gallery-radius-global .cms-builder-gallery-item img{border-radius:var(--mt-global-radius,.75rem)}
.cms-builder-gallery-radius-none .cms-builder-gallery-item img{border-radius:0}
@media(max-width:767.98px){.cms-builder-block-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}


.cms-builder-card-accent-enabled .cms-builder-card-surface{
  border-top-width:var(--cms-card-accent-width,3px);
  border-top-color:var(--cms-card-accent-color,#0d6efd);
}
.cms-builder-card-accent-width-2{--cms-card-accent-width:2px}
.cms-builder-card-accent-width-3{--cms-card-accent-width:3px}
.cms-builder-card-accent-width-4{--cms-card-accent-width:4px}
.cms-builder-card-accent-width-5{--cms-card-accent-width:5px}
.cms-card-accent-top{
  border-top-width:var(--cms-card-accent-width,3px)!important;
  border-top-color:var(--cms-card-accent-color,#0d6efd)!important;
}
.cms-builder-block-feedback .cms-feedback-block{margin-top:0;margin-bottom:0}

.cms-builder-card-accent-enabled .cms-builder-card-surface{
  border-left-color:var(--mt-card-border-color,var(--bs-border-color))!important;
  border-right-color:var(--mt-card-border-color,var(--bs-border-color))!important;
  border-bottom-color:var(--mt-card-border-color,var(--bs-border-color))!important;
}


.cms-builder-featurelist-title{margin:0 0 1rem}
.cms-builder-featurelist-items{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.cms-builder-featurelist-item{display:flex;align-items:flex-start;gap:.7rem}
.cms-builder-featurelist-icon{flex:0 0 auto;color:var(--mt-primary,var(--bs-primary));line-height:1.5}
.cms-builder-featurelist-text{min-width:0}
.cms-builder-featurelist-style-card .cms-builder-card-surface{height:100%}



@media (min-width:768px) and (max-width:991.98px){
  .cms-builder-section.cms-builder-tablet-cols-1 .cms-builder-columns{grid-template-columns:1fr}
  .cms-builder-section.cms-builder-tablet-cols-2 .cms-builder-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767.98px){
  .cms-builder-section.cms-builder-mobile-cols-1 .cms-builder-columns{grid-template-columns:1fr}
  .cms-builder-section.cms-builder-mobile-cols-2 .cms-builder-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-builder-section.cms-builder-mobile-cols-inherit.cms-builder-section .cms-builder-cols-2.cms-builder-ratio-1-1{grid-template-columns:1fr 1fr}
  .cms-builder-section.cms-builder-mobile-cols-inherit.cms-builder-section .cms-builder-cols-2.cms-builder-ratio-1-2{grid-template-columns:1fr 2fr}
  .cms-builder-section.cms-builder-mobile-cols-inherit.cms-builder-section .cms-builder-cols-2.cms-builder-ratio-2-1{grid-template-columns:2fr 1fr}
  .cms-builder-section.cms-builder-mobile-cols-inherit.cms-builder-section .cms-builder-cols-2.cms-builder-ratio-1-3{grid-template-columns:1fr 3fr}
  .cms-builder-section.cms-builder-mobile-cols-inherit.cms-builder-section .cms-builder-cols-2.cms-builder-ratio-3-1{grid-template-columns:3fr 1fr}
  .cms-builder-section.cms-builder-mobile-cols-inherit.cms-builder-section .cms-builder-cols-3.cms-builder-ratio-1-1-1{grid-template-columns:1fr 1fr 1fr}
  .cms-builder-section.cms-builder-mobile-cols-inherit.cms-builder-section .cms-builder-cols-3.cms-builder-ratio-1-2-1{grid-template-columns:1fr 2fr 1fr}
}



.cms-builder-column-card{
  padding:var(--mt-card-padding,1.5rem);
  background:var(--mt-card-bg,var(--bs-body-bg));
  color:var(--mt-card-text,var(--bs-body-color));
  border:1px solid var(--mt-card-border-color,var(--bs-border-color));
  border-radius:var(--mt-card-radius,var(--mt-global-radius,.75rem));
  box-shadow:var(--mt-card-shadow,none);
}
.cms-builder-column-card.cms-builder-card-accent-enabled{
  border-top-width:var(--cms-card-accent-width,3px);
}
.cms-builder-column-card.cms-builder-card-accent-enabled{
  border-left-color:var(--mt-card-border-color,var(--bs-border-color))!important;
  border-right-color:var(--mt-card-border-color,var(--bs-border-color))!important;
  border-bottom-color:var(--mt-card-border-color,var(--bs-border-color))!important;
}



.cms-builder-column{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.cms-builder-column-align-start{justify-content:flex-start}
.cms-builder-column-align-center{justify-content:center}
.cms-builder-column-align-end{justify-content:flex-end}
.cms-builder-equal-height .cms-builder-columns{align-items:stretch}
.cms-builder-equal-height .cms-builder-column{height:100%}
.cms-builder-equal-height .cms-builder-column-card{height:100%}



.cms-builder-gap-none .cms-builder-columns{gap:0}
.cms-builder-gap-small .cms-builder-columns{gap:.75rem}
.cms-builder-gap-normal .cms-builder-columns{gap:clamp(1rem,2vw,2rem)}
.cms-builder-gap-large .cms-builder-columns{gap:clamp(1.5rem,3vw,3rem)}
@media (min-width:768px) and (max-width:991.98px){
  .cms-builder-tablet-gap-none .cms-builder-columns{gap:0}
  .cms-builder-tablet-gap-small .cms-builder-columns{gap:.75rem}
  .cms-builder-tablet-gap-normal .cms-builder-columns{gap:clamp(1rem,2vw,2rem)}
  .cms-builder-tablet-gap-large .cms-builder-columns{gap:clamp(1.5rem,3vw,3rem)}
}
@media (max-width:767.98px){
  .cms-builder-mobile-gap-none .cms-builder-columns{gap:0}
  .cms-builder-mobile-gap-small .cms-builder-columns{gap:.75rem}
  .cms-builder-mobile-gap-normal .cms-builder-columns{gap:1rem}
  .cms-builder-mobile-gap-large .cms-builder-columns{gap:1.5rem}
}



.cms-builder-column-card.cms-builder-column-padding-none{padding:0}
.cms-builder-column-card.cms-builder-column-padding-small{padding:.75rem}
.cms-builder-column-card.cms-builder-column-padding-normal{padding:var(--mt-card-padding,1.5rem)}
.cms-builder-column-card.cms-builder-column-padding-large{padding:clamp(1.5rem,3vw,2.5rem)}
@media (min-width:768px) and (max-width:991.98px){
  .cms-builder-column-card.cms-builder-column-tablet-padding-none{padding:0}
  .cms-builder-column-card.cms-builder-column-tablet-padding-small{padding:.75rem}
  .cms-builder-column-card.cms-builder-column-tablet-padding-normal{padding:var(--mt-card-padding,1.5rem)}
  .cms-builder-column-card.cms-builder-column-tablet-padding-large{padding:clamp(1.5rem,3vw,2.5rem)}
}
@media (max-width:767.98px){
  .cms-builder-column-card.cms-builder-column-mobile-padding-none{padding:0}
  .cms-builder-column-card.cms-builder-column-mobile-padding-small{padding:.75rem}
  .cms-builder-column-card.cms-builder-column-mobile-padding-normal{padding:var(--mt-card-padding,1.5rem)}
  .cms-builder-column-card.cms-builder-column-mobile-padding-large{padding:2rem}
}



.cms-builder-column-card.cms-builder-column-radius-none{border-radius:0}
.cms-builder-column-card.cms-builder-column-radius-small{border-radius:.375rem}
.cms-builder-column-card.cms-builder-column-radius-medium{border-radius:.75rem}
.cms-builder-column-card.cms-builder-column-radius-large{border-radius:1.25rem}
.cms-builder-column-card.cms-builder-column-shadow-none{box-shadow:none}
.cms-builder-column-card.cms-builder-column-shadow-soft{box-shadow:0 .25rem .75rem rgba(0,0,0,.08)}
.cms-builder-column-card.cms-builder-column-shadow-medium{box-shadow:0 .5rem 1.25rem rgba(0,0,0,.12)}
.cms-builder-column-card.cms-builder-column-shadow-strong{box-shadow:0 .75rem 2rem rgba(0,0,0,.18)}



.cms-builder-stats-title{margin:0 0 1rem}
.cms-builder-stats-grid{display:grid;gap:clamp(.75rem,1.5vw,1.25rem)}
.cms-builder-stats-cols-2 .cms-builder-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-builder-stats-cols-3 .cms-builder-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.cms-builder-stats-cols-4 .cms-builder-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.cms-builder-stats-item{min-width:0}
.cms-builder-stats-value{font-size:clamp(1.75rem,3vw,2.75rem);font-weight:700;line-height:1.05;color:var(--mt-primary,var(--bs-primary))}
.cms-builder-stats-label{margin-top:.4rem;color:var(--mt-muted,var(--bs-secondary-color));line-height:1.45}
.cms-builder-stats-style-card .cms-builder-stats-item{
  padding:var(--mt-card-padding,1.5rem);
  background:var(--mt-card-bg,var(--bs-body-bg));
  color:var(--mt-card-text,var(--bs-body-color));
  border:1px solid var(--mt-card-border-color,var(--bs-border-color));
  border-radius:var(--mt-card-radius,var(--mt-global-radius,.75rem));
  box-shadow:var(--mt-card-shadow,none);
}
.cms-builder-stats-style-card.cms-builder-card-accent-enabled .cms-builder-stats-item{border-top-width:var(--cms-card-accent-width,3px)}
@media (max-width:767.98px){
  .cms-builder-stats-cols-3 .cms-builder-stats-grid,
  .cms-builder-stats-cols-4 .cms-builder-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:479.98px){
  .cms-builder-stats-grid{grid-template-columns:1fr!important}
}



.cms-builder-block-cta{text-align:left}
.cms-builder-block-cta.cms-builder-align-center{text-align:center}
.cms-builder-block-cta.cms-builder-align-end{text-align:right}
.cms-builder-cta-surface{
  padding:clamp(1.5rem,3vw,2.5rem);
  background:var(--mt-card-bg,var(--bs-body-bg));
  color:var(--mt-card-text,var(--bs-body-color));
  border:1px solid var(--mt-card-border-color,var(--bs-border-color));
  border-radius:var(--mt-card-radius,var(--mt-global-radius,.75rem));
  box-shadow:var(--mt-card-shadow,none);
}
.cms-builder-block-cta.cms-builder-card-accent-enabled .cms-builder-cta-surface{
  border-top-width:var(--cms-card-accent-width,3px);
}
.cms-builder-cta-title{margin:0 0 .75rem}
.cms-builder-cta-text{margin:0;line-height:1.65}
.cms-builder-cta-actions{margin-top:1.25rem}



.cms-builder-block-notice{
  --cms-notice-accent:var(--mt-border,var(--bs-border-color));
  display:flex;
  align-items:flex-start;
  gap:1rem;
  padding:1rem 1.125rem;
  border:1px solid var(--mt-card-border-color,var(--bs-border-color));
  border-left:4px solid var(--cms-notice-accent);
  border-radius:var(--mt-card-radius,var(--mt-global-radius,.75rem));
  background:var(--mt-card-bg,var(--bs-body-bg));
  color:var(--mt-card-text,var(--bs-body-color));
}
.cms-builder-notice-tone-primary{--cms-notice-accent:var(--mt-primary,var(--bs-primary))}
.cms-builder-notice-tone-success{--cms-notice-accent:var(--bs-success,#198754)}
.cms-builder-notice-tone-warning{--cms-notice-accent:var(--bs-warning,#ffc107)}
.cms-builder-notice-icon{flex:0 0 auto;color:var(--cms-notice-accent);font-size:1.25rem;line-height:1.35}
.cms-builder-notice-content{min-width:0}
.cms-builder-notice-title{margin:0 0 .35rem;font-size:1.05em}
.cms-builder-notice-text{margin:0;line-height:1.6}
.cms-builder-block-notice.cms-builder-align-center{
  flex-direction:column;
  align-items:center;
  text-align:center;
  border-left-width:1px;
  border-top:4px solid var(--cms-notice-accent);
}



.cms-builder-card-surface,
.cms-builder-column-card,
.cms-builder-stats-style-card .cms-builder-stats-item,
.cms-builder-cta-surface{
  background:var(--mt-card-bg,var(--bs-body-bg))!important;
  color:var(--mt-card-text,var(--bs-body-color))!important;
  border-style:solid!important;
  border-color:var(--mt-card-border-color,var(--bs-border-color))!important;
  border-width:var(--mt-card-border-widths,1px)!important;
  border-radius:var(--mt-card-radius,var(--mt-global-radius,.75rem))!important;
  box-shadow:var(--mt-card-shadow,none)!important;
}
.cms-builder-card-surface,
.cms-builder-column-card,
.cms-builder-stats-style-card .cms-builder-stats-item,
.cms-builder-cta-surface{
  border-top-style:solid!important;
  border-top-width:var(--mt-card-top-border-effective-width,var(--mt-card-border-top-width,1px))!important;
  border-top-color:var(--mt-card-top-border-effective-color,var(--mt-card-border-color,var(--bs-border-color)))!important;
}

/* Ein bewusst aktivierter Builder-Akzent überschreibt gezielt den globalen oberen Rahmen. */
.cms-builder-card-accent-enabled .cms-builder-card-surface,
.cms-builder-column-card.cms-builder-card-accent-enabled,
.cms-builder-stats-style-card.cms-builder-card-accent-enabled .cms-builder-stats-item,
.cms-builder-block-cta.cms-builder-card-accent-enabled .cms-builder-cta-surface{
  border-top-style:solid!important;
  border-top-width:var(--cms-card-accent-width,3px)!important;
  border-top-color:var(--cms-card-accent-color,#0d6efd)!important;
}





.cms-builder-column-align-center,
.cms-builder-column-align-end{align-self:stretch}
.cms-builder-block-icon{display:flex;width:100%;line-height:1}
.cms-builder-block-icon.cms-builder-align-start{justify-content:flex-start}
.cms-builder-block-icon.cms-builder-align-center{justify-content:center}
.cms-builder-block-icon.cms-builder-align-end{justify-content:flex-end}
.cms-builder-icon-only{display:inline-flex;align-items:center;justify-content:center;color:var(--mt-primary,var(--bs-primary))}
.cms-builder-icon-color-own .cms-builder-icon-only{color:inherit}
.cms-builder-icon-size-small .cms-builder-icon-only{font-size:1.5rem}
.cms-builder-icon-size-normal .cms-builder-icon-only{font-size:2.25rem}
.cms-builder-icon-size-large .cms-builder-icon-only{font-size:3.25rem}
.cms-builder-icon-size-xl .cms-builder-icon-only{font-size:4.5rem}
@media (min-width:768px) and (max-width:991.98px){
  .cms-builder-block-icon.cms-builder-tablet-align-start{justify-content:flex-start}
  .cms-builder-block-icon.cms-builder-tablet-align-center{justify-content:center}
  .cms-builder-block-icon.cms-builder-tablet-align-end{justify-content:flex-end}
}
@media (max-width:767.98px){
  .cms-builder-block-icon.cms-builder-mobile-align-start{justify-content:flex-start}
  .cms-builder-block-icon.cms-builder-mobile-align-center{justify-content:center}
  .cms-builder-block-icon.cms-builder-mobile-align-end{justify-content:flex-end}
}



.cms-builder-block-iconheadingtext{
  display:flex;
  flex-direction:column;
  gap:.55rem;
  width:100%;
}
.cms-builder-block-iconheadingtext.cms-builder-align-start{align-items:flex-start;text-align:left}
.cms-builder-block-iconheadingtext.cms-builder-align-center{align-items:center;text-align:center}
.cms-builder-block-iconheadingtext.cms-builder-align-end{align-items:flex-end;text-align:right}
.cms-builder-iht-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--mt-primary,var(--bs-primary));
  line-height:1;
}
.cms-builder-iht-size-small .cms-builder-iht-icon{font-size:1.5rem}
.cms-builder-iht-size-normal .cms-builder-iht-icon{font-size:2.25rem}
.cms-builder-iht-size-large .cms-builder-iht-icon{font-size:3.25rem}
.cms-builder-iht-size-xl .cms-builder-iht-icon{font-size:4.5rem}
.cms-builder-iht-heading{margin:.15rem 0 0}
.cms-builder-iht-text{margin:0;line-height:1.6}
@media (min-width:768px) and (max-width:991.98px){
  .cms-builder-block-iconheadingtext.cms-builder-tablet-align-start{align-items:flex-start;text-align:left}
  .cms-builder-block-iconheadingtext.cms-builder-tablet-align-center{align-items:center;text-align:center}
  .cms-builder-block-iconheadingtext.cms-builder-tablet-align-end{align-items:flex-end;text-align:right}
}
@media (max-width:767.98px){
  .cms-builder-block-iconheadingtext.cms-builder-mobile-align-start{align-items:flex-start;text-align:left}
  .cms-builder-block-iconheadingtext.cms-builder-mobile-align-center{align-items:center;text-align:center}
  .cms-builder-block-iconheadingtext.cms-builder-mobile-align-end{align-items:flex-end;text-align:right}
}



.cms-builder-column.cms-builder-column-card{
  align-self:stretch;
}
.cms-builder-column.cms-builder-column-card.cms-builder-column-align-start{
  justify-content:flex-start!important;
}
.cms-builder-column.cms-builder-column-card.cms-builder-column-align-center{
  justify-content:center!important;
}
.cms-builder-column.cms-builder-column-card.cms-builder-column-align-end{
  justify-content:flex-end!important;
}
.cms-builder-column.cms-builder-column-card>.cms-builder-block:first-child{
  margin-top:0!important;
}



.cms-builder-column{
  display:flex;
  flex-direction:column;
}
.cms-builder-column-content{
  width:100%;
  min-width:0;
}
.cms-builder-column-align-start>.cms-builder-column-content{
  margin-top:0;
  margin-bottom:auto;
}
.cms-builder-column-align-center>.cms-builder-column-content{
  margin-top:auto;
  margin-bottom:auto;
}
.cms-builder-column-align-end>.cms-builder-column-content{
  margin-top:auto;
  margin-bottom:0;
}
.cms-builder-column-card>.cms-builder-column-content>.cms-builder-block:first-child{
  margin-top:0!important;
}
.cms-builder-column-card>.cms-builder-column-content>.cms-builder-block:last-child{
  margin-bottom:0;
}



@media (min-width:768px) and (max-width:991.98px){
  .cms-builder-gallery-tablet-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-builder-gallery-tablet-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cms-builder-gallery-tablet-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:767.98px){
  .cms-builder-block-gallery.cms-builder-gallery-mobile-cols-1{grid-template-columns:minmax(0,1fr)}
  .cms-builder-block-gallery.cms-builder-gallery-mobile-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-builder-block-gallery.cms-builder-gallery-mobile-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cms-builder-block-gallery.cms-builder-gallery-mobile-cols-inherit.cms-builder-gallery-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-builder-block-gallery.cms-builder-gallery-mobile-cols-inherit.cms-builder-gallery-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cms-builder-block-gallery.cms-builder-gallery-mobile-cols-inherit.cms-builder-gallery-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}



.cms-builder-column>.cms-builder-column-content{
  margin-top:0!important;
  margin-bottom:0!important;
}
.cms-builder-column.cms-builder-column-card{
  justify-content:flex-start!important;
}
.cms-builder-column.cms-builder-column-vertical-active.cms-builder-column-align-start{
  justify-content:flex-start!important;
}
.cms-builder-column.cms-builder-column-vertical-active.cms-builder-column-align-center{
  justify-content:center!important;
}
.cms-builder-column.cms-builder-column-vertical-active.cms-builder-column-align-end{
  justify-content:flex-end!important;
}
.cms-builder-column.cms-builder-column-vertical-active.cms-builder-column-align-start>.cms-builder-column-content{
  margin-top:0!important;
  margin-bottom:auto!important;
}
.cms-builder-column.cms-builder-column-vertical-active.cms-builder-column-align-center>.cms-builder-column-content{
  margin-top:auto!important;
  margin-bottom:auto!important;
}
.cms-builder-column.cms-builder-column-vertical-active.cms-builder-column-align-end>.cms-builder-column-content{
  margin-top:auto!important;
  margin-bottom:0!important;
}



.cms-builder-block-heading>h2,
.cms-builder-block-heading>h3,
.cms-builder-block-heading>h4,
.cms-builder-block-text>p:first-child{
  margin-top:0!important;
}
.cms-builder-column-content>.cms-builder-block+.cms-builder-block{
  margin-top:.75rem;
}
.cms-builder-column-content>.cms-builder-block-icon+.cms-builder-block-heading{
  margin-top:.65rem;
}
.cms-builder-column-content>.cms-builder-block-heading+.cms-builder-block-text{
  margin-top:.5rem;
}



.cms-builder-column-content>.cms-builder-block-icon:first-child,
.cms-builder-column-content>.cms-builder-block-iconheadingtext:first-child{
  margin-top:.35rem!important;
}



.cms-builder-icontext-color-own .cms-builder-icontext-icon{
  color:inherit;
}


.cms-builder-equal-height .cms-builder-column-card{
  height:100%;
}
.cms-feedback-list{
  display:grid;
  gap:1.5rem;
  width:100%;
}
.cms-feedback-item{
  min-width:0;
}
.cms-feedback-item+.cms-feedback-item{
  padding-top:1.5rem;
  border-top:1px solid var(--mt-card-border-color,var(--bs-border-color));
}
/* Google-Bewertungen-Block */
.cms-google-reviews{
  padding:1.5rem 0;
}
/* Die gesamte Box soll aussehen wie die uebrigen Cards im Page-Builder: gleicher
   Hintergrund, Rahmen, Eckenradius und Schatten - nicht nur eine Linie im Kopfbereich. */
.cms-google-reviews-surface{
  padding:var(--mt-card-padding,1.5rem);
  background:var(--mt-card-bg,var(--bs-body-bg));
  color:var(--mt-card-text,var(--bs-body-color));
  border:1px solid var(--mt-card-border-color,var(--bs-border-color));
  border-radius:var(--mt-card-radius,var(--mt-global-radius,.75rem));
  box-shadow:var(--mt-card-shadow,none);
}
.cms-google-reviews-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.5rem;
}
/* Optionaler Akzent-Rahmen oben an der Box, analog zur "Rahmen oben"-Option der Cards. */
.cms-google-reviews-surface.cms-google-reviews-head-accent{
  border-top-width:3px;
  border-top-color:var(--cms-google-reviews-accent-color,#0d6efd);
}
.cms-google-reviews-brand{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-weight:600;
  font-size:1.1rem;
}
.cms-google-reviews-brand svg{flex:0 0 auto;}
.cms-google-reviews-score{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}
.cms-google-reviews-score strong{font-size:1.25rem;}
.cms-google-reviews-stars{color:#fbbc04;letter-spacing:.1rem;}
.cms-google-reviews-count{color:var(--mt-muted,var(--bs-secondary-color));font-size:.9rem;}
.cms-google-reviews-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.25rem;
}
.cms-google-reviews-item{
  padding:var(--mt-card-padding,1.5rem);
  background:var(--mt-card-bg,var(--bs-body-bg));
  color:var(--mt-card-text,var(--bs-body-color));
  border:1px solid var(--mt-card-border-color,var(--bs-border-color));
  border-radius:var(--mt-card-radius,var(--mt-global-radius,.75rem));
  box-shadow:var(--mt-card-shadow,none);
}
.cms-google-reviews-item .cms-google-reviews-stars{
  display:block;
  margin-bottom:.5rem;
}
.cms-google-reviews-text{
  margin:0 0 .75rem;
}
.cms-google-reviews-author{
  font-weight:600;
  font-size:.9rem;
}
.cms-google-reviews-cta{
  margin-top:1.5rem;
  text-align:center;
}
/* Page Builder 2.0 · Text + Bild */
.cms-builder-block-textimage{display:grid;align-items:center;gap:var(--mt-content-gap,2rem)}
.cms-builder-textimage-ratio-40-60{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.cms-builder-textimage-ratio-50-50{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cms-builder-textimage-ratio-60-40{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.cms-builder-textimage-image-right.cms-builder-textimage-ratio-40-60{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.cms-builder-textimage-image-right.cms-builder-textimage-ratio-60-40{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.cms-builder-textimage-media{min-width:0}.cms-builder-textimage-image{display:block;width:100%;height:auto}.cms-builder-textimage-heading{margin-top:0}.cms-builder-textimage-text>:last-child,.cms-builder-textimage-content>:last-child{margin-bottom:0}
.cms-builder-textimage-radius-global .cms-builder-textimage-image{border-radius:var(--mt-global-radius,.75rem)}
.cms-builder-textimage-radius-none .cms-builder-textimage-image{border-radius:0}
.cms-builder-textimage-actions{margin-top:1.25rem}
@media(max-width:767.98px){.cms-builder-block-textimage,.cms-builder-textimage-image-right.cms-builder-textimage-ratio-40-60,.cms-builder-textimage-image-right.cms-builder-textimage-ratio-60-40{grid-template-columns:1fr}.cms-builder-textimage-image-right .cms-builder-textimage-media{order:-1}}

/* Page Builder 2.0 · Text + Bild Ausrichtung */
.cms-builder-textimage-vertical-top{align-items:start}
.cms-builder-textimage-vertical-center{align-items:center}
.cms-builder-textimage-vertical-bottom{align-items:end}
.cms-builder-textimage-align-start .cms-builder-textimage-media,.cms-builder-textimage-align-start .cms-builder-textimage-content{text-align:left}
.cms-builder-textimage-align-center .cms-builder-textimage-media,.cms-builder-textimage-align-center .cms-builder-textimage-content{text-align:center}
.cms-builder-textimage-align-end .cms-builder-textimage-media,.cms-builder-textimage-align-end .cms-builder-textimage-content{text-align:right}
.cms-builder-textimage-media .cms-builder-textimage-image{display:inline-block;width:100%}
.cms-builder-textimage-size-small .cms-builder-textimage-image{max-width:45%}
.cms-builder-textimage-size-medium .cms-builder-textimage-image{max-width:65%}
.cms-builder-textimage-size-large .cms-builder-textimage-image{max-width:85%}
.cms-builder-textimage-size-full .cms-builder-textimage-image{max-width:100%}

/* Page Builder 2.0 · Wartungsseite / Wartungs-Highlight */
body.cms-maintenance-page .cms-system-page-content{min-height:100vh}
body.cms-maintenance-page .cms-builder-page-root{min-height:100vh}
body.cms-maintenance-page .cms-builder-section{position:relative;isolation:isolate}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen{min-height:100vh;display:flex}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen>.cms-builder-section-inner{display:flex;flex-direction:column}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen.cms-builder-content-y-center>.cms-builder-section-inner{justify-content:center}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen.cms-builder-content-y-end>.cms-builder-section-inner{justify-content:flex-end}
body.cms-maintenance-page .cms-builder-section.cms-builder-min-height-screen.cms-builder-content-y-start>.cms-builder-section-inner{justify-content:flex-start}
body.cms-maintenance-page .cms-builder-section>.cms-builder-section-inner{position:relative;z-index:2}

/* Atmosphärische Hintergründe: reine CSS-Effekte, keine externen Assets. */
body.cms-maintenance-page .cms-builder-section[class*="cms-builder-maintenance-effect-"]{overflow:hidden}
body.cms-maintenance-page .cms-builder-section[class*="cms-builder-maintenance-effect-"]::before,
body.cms-maintenance-page .cms-builder-section[class*="cms-builder-maintenance-effect-"]::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1}
body.cms-maintenance-page .cms-builder-maintenance-effect-none::before,
body.cms-maintenance-page .cms-builder-maintenance-effect-none::after{display:none}
body.cms-maintenance-page .cms-builder-maintenance-effect-gradient::before{background:
 radial-gradient(circle at 18% 22%,color-mix(in srgb,var(--mt-primary,#0d6efd) 24%,transparent),transparent 36%),
 radial-gradient(circle at 82% 78%,color-mix(in srgb,var(--mt-primary,#0d6efd) 15%,transparent),transparent 42%),
 linear-gradient(135deg,color-mix(in srgb,var(--mt-primary,#0d6efd) 8%,transparent),transparent 55%)}
body.cms-maintenance-page .cms-builder-maintenance-effect-fog::before{inset:-20%;background:
 radial-gradient(ellipse at 15% 60%,color-mix(in srgb,var(--mt-card-bg,#fff) 28%,transparent),transparent 45%),
 radial-gradient(ellipse at 70% 35%,color-mix(in srgb,var(--mt-primary,#0d6efd) 14%,transparent),transparent 42%),
 radial-gradient(ellipse at 85% 75%,color-mix(in srgb,var(--mt-card-bg,#fff) 20%,transparent),transparent 40%);
 filter:blur(36px);animation:cms-maintenance-fog 16s ease-in-out infinite alternate}
body.cms-maintenance-page .cms-builder-maintenance-effect-particles::before{opacity:.65;background-image:radial-gradient(circle,color-mix(in srgb,var(--mt-primary,#0d6efd) 70%,white) 1px,transparent 1.5px);background-size:48px 48px}
body.cms-maintenance-page .cms-builder-maintenance-effect-particles::after{opacity:.35;background-image:radial-gradient(circle,color-mix(in srgb,var(--mt-primary,#0d6efd) 55%,transparent) 1px,transparent 2px);background-size:83px 83px;background-position:21px 17px;animation:cms-maintenance-particles 18s linear infinite}
body.cms-maintenance-page .cms-builder-maintenance-effect-grid::before{opacity:.24;background-image:linear-gradient(color-mix(in srgb,var(--mt-primary,#0d6efd) 42%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--mt-primary,#0d6efd) 42%,transparent) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,transparent,black 25%,black 75%,transparent)}
body.cms-maintenance-page .cms-builder-maintenance-effect-waves::before{inset:auto -10% 8%;height:42%;border-radius:50%;border:1px solid color-mix(in srgb,var(--mt-primary,#0d6efd) 48%,transparent);box-shadow:0 -30px 80px color-mix(in srgb,var(--mt-primary,#0d6efd) 12%,transparent);transform:rotate(-5deg);animation:cms-maintenance-wave 9s ease-in-out infinite alternate}
body.cms-maintenance-page .cms-builder-maintenance-effect-waves::after{inset:auto -10% 2%;height:36%;border-radius:50%;border-top:1px solid color-mix(in srgb,var(--mt-primary,#0d6efd) 30%,transparent);transform:rotate(4deg);animation:cms-maintenance-wave 12s ease-in-out infinite alternate-reverse}

.cms-builder-block-maintenancehero{--cms-maintenance-accent:var(--mt-primary,#0d6efd);display:flex;justify-content:center;width:100%}
.cms-builder-maintenance-surface{position:relative;width:100%;padding:clamp(1.75rem,5vw,3.5rem);text-align:center;overflow:hidden;background:var(--mt-card-bg,var(--mt-body-bg,#fff));color:var(--mt-card-text,var(--mt-text,#212529));border-style:solid;border-color:var(--mt-card-border-color,#dee2e6);border-width:1px;border-radius:var(--mt-card-radius,var(--mt-global-radius,16px));box-shadow:var(--mt-card-shadow,none);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.cms-builder-maintenance-surface::before{content:"";position:absolute;inset:0 0 auto;height:var(--cms-maintenance-top-accent,3px);background:var(--cms-maintenance-accent);pointer-events:none}
.cms-builder-maintenance-top-accent-none .cms-builder-maintenance-surface{--cms-maintenance-top-accent:0px}.cms-builder-maintenance-top-accent-1 .cms-builder-maintenance-surface{--cms-maintenance-top-accent:1px}.cms-builder-maintenance-top-accent-2 .cms-builder-maintenance-surface{--cms-maintenance-top-accent:2px}.cms-builder-maintenance-top-accent-3 .cms-builder-maintenance-surface{--cms-maintenance-top-accent:3px}.cms-builder-maintenance-top-accent-4 .cms-builder-maintenance-surface{--cms-maintenance-top-accent:4px}.cms-builder-maintenance-top-accent-6 .cms-builder-maintenance-surface{--cms-maintenance-top-accent:6px}
.cms-builder-maintenance-width-compact .cms-builder-maintenance-surface{max-width:520px}
.cms-builder-maintenance-width-medium .cms-builder-maintenance-surface{max-width:680px}
.cms-builder-maintenance-width-wide .cms-builder-maintenance-surface{max-width:840px}
.cms-builder-maintenance-width-full .cms-builder-maintenance-surface{max-width:none}
.cms-builder-maintenance-height-medium .cms-builder-maintenance-surface{min-height:420px;display:flex;flex-direction:column;justify-content:center}
.cms-builder-maintenance-height-tall .cms-builder-maintenance-surface{min-height:560px;display:flex;flex-direction:column;justify-content:center}
.cms-builder-maintenance-border-none .cms-builder-maintenance-surface{border-width:0}
.cms-builder-maintenance-border-light .cms-builder-maintenance-surface{border-width:1px}
.cms-builder-maintenance-border-strong .cms-builder-maintenance-surface{border-width:2px;border-color:color-mix(in srgb,var(--cms-maintenance-accent) 55%,var(--mt-card-border-color,#dee2e6))}
.cms-builder-maintenance-frame-accent-1 .cms-builder-maintenance-surface{border-width:1px;border-color:var(--cms-maintenance-accent)}.cms-builder-maintenance-frame-accent-2 .cms-builder-maintenance-surface{border-width:2px;border-color:var(--cms-maintenance-accent)}.cms-builder-maintenance-frame-accent-3 .cms-builder-maintenance-surface{border-width:3px;border-color:var(--cms-maintenance-accent)}.cms-builder-maintenance-frame-accent-4 .cms-builder-maintenance-surface{border-width:4px;border-color:var(--cms-maintenance-accent)}.cms-builder-maintenance-frame-accent-6 .cms-builder-maintenance-surface{border-width:6px;border-color:var(--cms-maintenance-accent)}
.cms-builder-maintenance-radius-small .cms-builder-maintenance-surface{border-radius:10px}
.cms-builder-maintenance-radius-medium .cms-builder-maintenance-surface{border-radius:18px}
.cms-builder-maintenance-radius-large .cms-builder-maintenance-surface{border-radius:30px}
.cms-builder-maintenance-card-effect-glow .cms-builder-maintenance-surface{box-shadow:0 0 34px color-mix(in srgb,var(--cms-maintenance-accent) 38%,transparent),0 18px 50px rgba(0,0,0,.18)}
.cms-builder-maintenance-card-effect-softglow .cms-builder-maintenance-surface{box-shadow:0 0 55px color-mix(in srgb,var(--cms-maintenance-accent) 18%,transparent),0 20px 60px rgba(0,0,0,.14)}
.cms-builder-maintenance-card-effect-glass .cms-builder-maintenance-surface{background:color-mix(in srgb,var(--mt-card-bg,var(--mt-body-bg,#fff)) 72%,transparent);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}
.cms-builder-maintenance-card-effect-float .cms-builder-maintenance-surface{box-shadow:0 28px 70px rgba(0,0,0,.22);animation:cms-maintenance-float 5s ease-in-out infinite}
.cms-builder-maintenance-card-effect-neon .cms-builder-maintenance-surface{border-color:var(--cms-maintenance-accent);box-shadow:0 0 8px color-mix(in srgb,var(--cms-maintenance-accent) 80%,transparent),0 0 34px color-mix(in srgb,var(--cms-maintenance-accent) 34%,transparent),inset 0 0 24px color-mix(in srgb,var(--cms-maintenance-accent) 8%,transparent)}
.cms-builder-maintenance-card-effect-shimmer .cms-builder-maintenance-surface::after{content:"";position:absolute;inset:-45% auto -45% -38%;width:26%;background:linear-gradient(90deg,transparent,color-mix(in srgb,#fff 42%,transparent),transparent);transform:skewX(-18deg);animation:cms-maintenance-shimmer 4.8s ease-in-out infinite;pointer-events:none}
.cms-builder-maintenance-card-effect-breathe .cms-builder-maintenance-surface{animation:cms-maintenance-breathe 3.6s ease-in-out infinite}
.cms-builder-maintenance-card-effect-spotlight .cms-builder-maintenance-surface::after{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--cms-maintenance-accent) 24%,transparent),transparent 38%);animation:cms-maintenance-spotlight 7s ease-in-out infinite alternate;pointer-events:none}
.cms-builder-maintenance-icon-motion-rock .cms-builder-maintenance-icon i{animation:cms-maintenance-icon-rock 2.2s ease-in-out infinite;transform-origin:center}
.cms-builder-maintenance-icon-motion-spin .cms-builder-maintenance-icon i{animation:cms-maintenance-icon-spin 7s linear infinite}
.cms-builder-maintenance-icon-motion-pulse .cms-builder-maintenance-icon i{animation:cms-maintenance-icon-pulse 2s ease-in-out infinite}
.cms-builder-maintenance-media{margin:0 auto 1.35rem;width:100%}.cms-builder-maintenance-media img{display:block;width:auto;max-width:100%;margin:auto;object-fit:contain}
.cms-builder-maintenance-image-small .cms-builder-maintenance-media{max-width:160px}.cms-builder-maintenance-image-small .cms-builder-maintenance-media img{max-height:110px}
.cms-builder-maintenance-image-medium .cms-builder-maintenance-media{max-width:260px}.cms-builder-maintenance-image-medium .cms-builder-maintenance-media img{max-height:150px}
.cms-builder-maintenance-image-large .cms-builder-maintenance-media{max-width:380px}.cms-builder-maintenance-image-large .cms-builder-maintenance-media img{max-height:220px}
.cms-builder-maintenance-image-xl .cms-builder-maintenance-media{max-width:540px}.cms-builder-maintenance-image-xl .cms-builder-maintenance-media img{max-height:320px}
.cms-builder-maintenance-icon{width:64px;height:64px;margin:0 auto 1rem;display:grid;place-items:center;border-radius:50%;font-size:1.55rem;color:var(--cms-maintenance-accent);background:color-mix(in srgb,var(--cms-maintenance-accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--cms-maintenance-accent) 28%,var(--mt-card-border-color,#dee2e6));box-shadow:0 0 24px color-mix(in srgb,var(--cms-maintenance-accent) 12%,transparent)}
.cms-builder-maintenance-status{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;margin-bottom:.85rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mt-muted,#6c757d)}
.cms-builder-maintenance-title{margin:0;font-size:clamp(2rem,5vw,3.6rem);line-height:1.08;letter-spacing:-.035em}
.cms-builder-maintenance-text{max-width:620px;margin:1rem auto 0;font-size:clamp(1rem,2vw,1.12rem);line-height:1.7;color:var(--mt-muted,var(--mt-text,#6c757d))}
.cms-builder-maintenance-pulse{display:flex;justify-content:center;gap:.45rem;margin:1.4rem 0 0}.cms-builder-maintenance-pulse span{width:7px;height:7px;border-radius:50%;background:var(--cms-maintenance-accent);animation:cms-builder-maintenance-pulse 1.5s ease-in-out infinite}.cms-builder-maintenance-pulse span:nth-child(2){animation-delay:.18s}.cms-builder-maintenance-pulse span:nth-child(3){animation-delay:.36s}
.cms-builder-maintenance-actions{margin-top:1.5rem}
.cms-builder-block-maintenancehero.cms-builder-maintenance-color-own .btn-primary{--bs-btn-bg:var(--cms-maintenance-accent);--bs-btn-border-color:var(--cms-maintenance-accent);--bs-btn-hover-bg:color-mix(in srgb,var(--cms-maintenance-accent) 84%,black);--bs-btn-hover-border-color:color-mix(in srgb,var(--cms-maintenance-accent) 84%,black)}
@keyframes cms-builder-maintenance-pulse{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
@keyframes cms-maintenance-fog{0%{transform:translate3d(-3%,0,0) scale(1)}100%{transform:translate3d(4%,2%,0) scale(1.08)}}
@keyframes cms-maintenance-particles{to{background-position:104px -83px}}
@keyframes cms-maintenance-wave{0%{transform:translateX(-2%) rotate(-4deg) scaleY(.85)}100%{transform:translateX(3%) rotate(3deg) scaleY(1.05)}}
@keyframes cms-maintenance-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes cms-maintenance-shimmer{0%,18%{left:-38%;opacity:0}35%{opacity:.9}58%,100%{left:120%;opacity:0}}
@keyframes cms-maintenance-breathe{0%,100%{box-shadow:0 0 24px color-mix(in srgb,var(--cms-maintenance-accent) 10%,transparent),0 18px 50px rgba(0,0,0,.13)}50%{box-shadow:0 0 58px color-mix(in srgb,var(--cms-maintenance-accent) 30%,transparent),0 22px 60px rgba(0,0,0,.18)}}
@keyframes cms-maintenance-spotlight{0%{transform:translate3d(-8%,-5%,0) scale(.92)}100%{transform:translate3d(10%,7%,0) scale(1.08)}}
@keyframes cms-maintenance-icon-rock{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
@keyframes cms-maintenance-icon-spin{to{transform:rotate(360deg)}}
@keyframes cms-maintenance-icon-pulse{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.14);opacity:1}}
@media(max-width:767.98px){.cms-builder-maintenance-surface{padding:1.5rem}.cms-builder-maintenance-height-medium .cms-builder-maintenance-surface,.cms-builder-maintenance-height-tall .cms-builder-maintenance-surface{min-height:0}}
@media(prefers-reduced-motion:reduce){.cms-builder-maintenance-pulse span,.cms-builder-maintenance-effect-fog::before,.cms-builder-maintenance-effect-particles::after,.cms-builder-maintenance-effect-waves::before,.cms-builder-maintenance-effect-waves::after,.cms-builder-maintenance-card-effect-float .cms-builder-maintenance-surface,.cms-builder-maintenance-card-effect-shimmer .cms-builder-maintenance-surface::after,.cms-builder-maintenance-card-effect-breathe .cms-builder-maintenance-surface,.cms-builder-maintenance-card-effect-spotlight .cms-builder-maintenance-surface::after,.cms-builder-maintenance-icon-motion-rock .cms-builder-maintenance-icon i,.cms-builder-maintenance-icon-motion-spin .cms-builder-maintenance-icon i,.cms-builder-maintenance-icon-motion-pulse .cms-builder-maintenance-icon i{animation:none}}

/* Optionales Download-Modul */
.cms-download-preview{aspect-ratio:16/9;object-fit:cover}


body.cms-maintenance-page .cms-builder-maintenance-effect-contours::before{
  inset:-18%;
  opacity:.42;
  background:
    repeating-radial-gradient(ellipse at 14% 78%,transparent 0 52px,color-mix(in srgb,var(--mt-primary,#0d6efd) 36%,transparent) 53px 54px,transparent 55px 78px),
    repeating-radial-gradient(ellipse at 87% 22%,transparent 0 64px,color-mix(in srgb,var(--mt-primary,#0d6efd) 25%,transparent) 65px 66px,transparent 67px 96px),
    repeating-radial-gradient(ellipse at 72% 94%,transparent 0 88px,color-mix(in srgb,var(--mt-primary,#0d6efd) 18%,transparent) 89px 90px,transparent 91px 126px);
  transform:rotate(-9deg) scale(1.08);
}
body.cms-maintenance-page .cms-builder-maintenance-effect-contours::after{
  inset:-12%;
  opacity:.24;
  background:
    repeating-radial-gradient(ellipse at 35% 18%,transparent 0 78px,color-mix(in srgb,var(--mt-primary,#0d6efd) 24%,transparent) 79px 80px,transparent 81px 112px),
    linear-gradient(118deg,transparent 49.85%,color-mix(in srgb,var(--mt-primary,#0d6efd) 16%,transparent) 50%,transparent 50.15%);
  background-size:auto,38rem 38rem;
  transform:rotate(6deg);
}
.cms-builder-maintenance-width-slim .cms-builder-maintenance-surface{max-width:400px}
.cms-builder-maintenance-width-narrow .cms-builder-maintenance-surface{max-width:470px}
.cms-builder-maintenance-system-panel{width:100%;margin:1.55rem auto 0;border:1px solid color-mix(in srgb,var(--cms-maintenance-accent) 22%,var(--mt-card-border-color,#dee2e6));border-radius:14px;background:color-mix(in srgb,var(--mt-card-bg,var(--mt-body-bg,#fff)) 92%,var(--cms-maintenance-accent) 8%);overflow:hidden;text-align:left;box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 5%,transparent)}
.cms-builder-maintenance-system-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.72rem .85rem;font-size:.84rem}
.cms-builder-maintenance-system-row+.cms-builder-maintenance-system-row{border-top:1px solid color-mix(in srgb,var(--cms-maintenance-accent) 12%,var(--mt-card-border-color,#dee2e6))}
.cms-builder-maintenance-system-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;color:var(--cms-maintenance-accent);background:color-mix(in srgb,var(--cms-maintenance-accent) 9%,transparent);border:1px solid color-mix(in srgb,var(--cms-maintenance-accent) 18%,transparent)}
.cms-builder-maintenance-system-label{min-width:0;font-weight:650;color:var(--mt-card-text,var(--mt-text,#212529))}
.cms-builder-maintenance-system-state{white-space:nowrap;font-size:.76rem;color:color-mix(in srgb,var(--cms-maintenance-accent) 68%,var(--mt-card-text,var(--mt-text,#212529)))}
.cms-builder-maintenance-footer-note{margin-top:1rem;font-size:.78rem;color:var(--mt-muted,#6c757d)}
.cms-builder-maintenance-width-slim .cms-builder-maintenance-surface{padding:clamp(1.35rem,4vw,2rem)}
.cms-builder-maintenance-width-slim .cms-builder-maintenance-title{font-size:clamp(1.75rem,4.5vw,2.35rem)}
.cms-builder-maintenance-width-slim .cms-builder-maintenance-text{font-size:.96rem;line-height:1.6}
@media(max-width:575.98px){.cms-builder-maintenance-system-row{grid-template-columns:30px minmax(0,1fr);gap:.55rem}.cms-builder-maintenance-system-state{grid-column:2;white-space:normal;margin-top:-.15rem}.cms-builder-maintenance-width-slim .cms-builder-maintenance-surface,.cms-builder-maintenance-width-narrow .cms-builder-maintenance-surface{max-width:100%}}



.cms-download-card .cms-download-preview{
  display:block;
  width:calc(100% - 2rem);
  aspect-ratio:4/3;
  height:auto;
  margin:1rem 1rem 0;
  border-radius:max(0px,calc(var(--mt-card-radius,12px) - 2px));
  object-fit:contain;
  background:var(--mt-card-bg,var(--bs-body-bg));
}
.cms-download-card .card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  background:var(--mt-card-bg,var(--bs-body-bg));
}



.cms-download-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.5rem;
}
.cms-download-grid-item{min-width:0}
.cms-download-card{height:100%}
@media(max-width:991.98px){
  .cms-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:575.98px){
  .cms-download-grid{grid-template-columns:1fr}
}

/* Lightbox: templateunabhängige Bildansicht, aktuell für die Angebots-Bildergalerie
   genutzt. Öffnet Bilder in einem Overlay statt in einem neuen Tab; Struktur wird
   von site.js dynamisch erzeugt und an document.body angehängt. */
html.cms-lightbox-open{overflow:hidden}
.cms-lightbox{position:fixed;inset:0;z-index:1085;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem)}
.cms-lightbox[hidden]{display:none}
.cms-lightbox-backdrop{position:absolute;inset:0;background:rgba(10,12,16,.92)}
.cms-lightbox-figure{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.75rem;max-width:100%;max-height:100%;margin:0}
.cms-lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 8rem);width:auto;height:auto;border-radius:.5rem;box-shadow:0 1.5rem 3rem rgba(0,0,0,.45);background:rgba(255,255,255,.04)}
.cms-lightbox-caption{max-width:min(70ch,90vw);margin:0;color:#f2f3f5;font-size:.9rem;text-align:center;opacity:.85}
.cms-lightbox-caption[hidden]{display:none}
.cms-lightbox-close,.cms-lightbox-nav{position:absolute;z-index:2;display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(20,22,27,.55);color:#fff;font-size:1.1rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.cms-lightbox-close:hover,.cms-lightbox-nav:hover,.cms-lightbox-close:focus-visible,.cms-lightbox-nav:focus-visible{background:rgba(20,22,27,.85);border-color:rgba(255,255,255,.6)}
.cms-lightbox-close{top:clamp(.75rem,3vw,1.75rem);right:clamp(.75rem,3vw,1.75rem)}
.cms-lightbox-nav[hidden]{display:none}
.cms-lightbox-prev{left:clamp(.5rem,2vw,1.5rem)}
.cms-lightbox-next{right:clamp(.5rem,2vw,1.5rem)}
@media(max-width:575.98px){
  .cms-lightbox-close,.cms-lightbox-nav{width:2.35rem;height:2.35rem;font-size:1rem}
  .cms-lightbox-image{max-height:calc(100vh - 6.5rem)}
}
