/**
 * Kinderpark Integrationsfelder – Bootstrap-5-Ergänzungen, ohne Tailwind-Abhängigkeit.
 */
.mm-kpi {
	--mm-kpi-start: #ecfdf5;
	--mm-kpi-middle: #fff;
	--mm-kpi-end: #f0fdfa;
	position: relative;
	overflow: hidden;
}
.mm-kpi--bg-gradient,
.mm-kpi--bg-custom { background-image: linear-gradient(215deg, var(--mm-kpi-start), var(--mm-kpi-middle) 50%, var(--mm-kpi-end)); }
.mm-kpi--bg-white { background-color: #fff; }
.mm-kpi--bg-light { background-color: #f8f9fa; }
.mm-kpi--space-compact { padding-block: 3.5rem; }
.mm-kpi--space-default { padding-block: 4rem; }
.mm-kpi--space-large { padding-block: 5rem; }
.mm-kpi__decoration { position: absolute; inset: 0; opacity: .2; pointer-events: none; }
.mm-kpi__blob { position: absolute; display: block; border-radius: 50%; filter: blur(4rem); animation: mm-kpi-pulse 4.5s ease-in-out infinite; }
.mm-kpi__blob--one { top: 4rem; left: 2rem; width: 20rem; height: 20rem; background: #a7f3d0; }
.mm-kpi__blob--two { right: 2rem; bottom: 4rem; width: 24rem; height: 24rem; background: #99f6e4; animation-delay: 1.5s; }
.mm-kpi__blob--three { top: 50%; left: 50%; width: 16rem; height: 16rem; transform: translate(-50%, -50%); background: #d1fae5; animation-delay: .7s; }
.mm-kpi__container { position: relative; z-index: 1; padding-inline: 1rem; }
.mm-kpi__container--wide { max-width: 80rem; margin-inline: auto; }
.mm-kpi__container--fluid { padding-inline: clamp(1rem, 4vw, 3rem); }
.mm-kpi__header { margin-bottom: 3rem; }
.mm-kpi--header-center .mm-kpi__header { text-align: center; }
.mm-kpi__badge { display: inline-flex; margin-bottom: 1rem; padding: .5rem 1rem; border-radius: 50rem; font-size: .875rem; font-weight: 600; }
.mm-kpi__badge--teal { color: #0f766e; background: #ccfbf1; }
.mm-kpi__badge--emerald { color: #047857; background: #d1fae5; }
.mm-kpi__badge--violet { color: #7c3aed; background: #ede9fe; }
.mm-kpi__badge--amber { color: #b45309; background: #fef3c7; }
.mm-kpi__title { margin: 0 0 1rem; color: #111827; font-size: clamp(1.875rem, 4vw, 2.25rem); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.mm-kpi__intro { max-width: 36rem; margin: 0; color: #4b5563; line-height: 1.65; }
.mm-kpi--header-center .mm-kpi__intro { margin-inline: auto; }
.mm-kpi-card__column { display: flex; }
.mm-kpi--equal-height .mm-kpi-card { height: 100%; }
.mm-kpi-card { --mm-kpi-accent: #10b981; --mm-kpi-soft: #ecfdf5; --mm-kpi-border: #a7f3d0; display: flex; flex-direction: column; align-items: center; width: 100%; border: .125rem solid transparent; color: inherit; background: linear-gradient(135deg, #fff, var(--mm-kpi-soft)); text-align: center; text-decoration: none; transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease; }
.mm-kpi-card--emerald { --mm-kpi-accent: #79b255; --mm-kpi-soft: #d2e7c7; --mm-kpi-border: #6ee7b7; }
.mm-kpi-card--teal { --mm-kpi-accent: #14b8a6; --mm-kpi-soft: #ccfbf1; --mm-kpi-border: #5eead4; }
.mm-kpi-card--sky { --mm-kpi-accent: #0ea5e9; --mm-kpi-soft: #e0f2fe; --mm-kpi-border: #7dd3fc; }
.mm-kpi-card--violet { --mm-kpi-accent: #8b5cf6; --mm-kpi-soft: #ede9fe; --mm-kpi-border: #c4b5fd; }
.mm-kpi-card--amber { --mm-kpi-accent: #f59e0b; --mm-kpi-soft: #fef3c7; --mm-kpi-border: #fcd34d; }
.mm-kpi-card--rose { --mm-kpi-accent: #f43f5e; --mm-kpi-soft: #ffe4e6; --mm-kpi-border: #fda4af; }
.mm-kpi-card--neutral { --mm-kpi-accent: #6b7280; --mm-kpi-soft: #f3f4f6; --mm-kpi-border: #d1d5db; }
.mm-kpi-card--radius-small { border-radius: .75rem; }
.mm-kpi-card--radius-default { border-radius: 1.5rem; }
.mm-kpi-card--radius-large { border-radius: 2rem; }
.mm-kpi-card--padding-compact { padding: 1rem; }
.mm-kpi-card--padding-default { padding: 1.5rem; }
.mm-kpi-card--padding-large { padding: 2rem 1.5rem; }
.mm-kpi-card--hover:hover,
.mm-kpi-card--hover:focus-visible { color: inherit; border-color: var(--mm-kpi-border); box-shadow: 0 1.15rem 2.3rem rgba(15,23,42,.12); transform: translateY(-.2rem); text-decoration: none; }
.mm-kpi-card:focus-visible { outline: .1875rem solid var(--mm-kpi-accent); outline-offset: .15rem; }
.mm-kpi-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 3.5rem; height: 3.5rem; margin: 0 auto 1rem; border-radius: 1rem; color: #fff; background: var(--mm-kpi-accent); font-size: 1.5rem; transition: transform .3s ease; }
.mm-kpi-card--hover:hover .mm-kpi-card__icon,
.mm-kpi-card--hover:focus-visible .mm-kpi-card__icon { transform: scale(1.1); }
.mm-kpi-card__title { margin: 0 0 .5rem; color: #111827; font-size: .875rem; font-weight: 700; line-height: 1.45; }
.mm-kpi-card__text { margin: 0; color: #6b7280; font-size: .75rem; line-height: 1.65; }
.mm-kpi__banner { position: relative; overflow: hidden; margin-top: 3rem; padding: 2rem; border-radius: 1.5rem; color: #fff; }
.mm-kpi__banner--emerald-sky { background: linear-gradient(90deg, #6ca04c, #29475d); }
.mm-kpi__banner--emerald-teal { background: linear-gradient(90deg, #059669, #0d9488); }
.mm-kpi__banner--violet-sky { background: linear-gradient(90deg, #7c3aed, #0284c7); }
.mm-kpi__banner-lights { position: absolute; inset: 0; opacity: .12; }
.mm-kpi__banner-lights::before,
.mm-kpi__banner-lights::after { content: ""; position: absolute; border-radius: 50%; filter: blur(3.5rem); }
.mm-kpi__banner-lights::before { top: -4rem; right: -2rem; width: 16rem; height: 16rem; background: #fff; }
.mm-kpi__banner-lights::after { left: -3rem; bottom: -4rem; width: 12rem; height: 12rem; background: #5eead4; }
.mm-kpi__banner-inner { position: relative; z-index: 1; }
.mm-kpi__banner-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 4rem; height: 4rem; border-radius: 1rem; background: rgba(255,255,255,.2); font-size: 1.75rem; }
.mm-kpi__banner-content { flex: 1 1 auto; }
.mm-kpi__banner-title { margin: 0 0 .5rem; color: #fff; font-size: 1.25rem; font-weight: 700; }
.mm-kpi__banner-text { margin: 0; color: #fff; font-size: .875rem; line-height: 1.7; }
.mm-kpi__banner-button { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .5rem; padding: .75rem 1.5rem; border-radius: 1rem; color: #5f8e43 !important; background: #fff; font-size: .875rem; font-weight: 600; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.mm-kpi__banner-button svg { width: 1rem; height: 1rem; }
.mm-kpi__banner-button:hover,
.mm-kpi__banner-button:focus-visible { color: #047857; box-shadow: 0 .75rem 1.5rem rgba(15,23,42,.15); transform: translateY(-.1rem); text-decoration: none; }
.mm-kpi--animate .mm-kpi__header,
.mm-kpi--animate .mm-kpi-card__column,
.mm-kpi--animate .mm-kpi__banner { opacity: 0; transform: translateY(1rem); transition: opacity .55s ease, transform .55s ease; }
.mm-kpi--animate.is-visible .mm-kpi__header,
.mm-kpi--animate.is-visible .mm-kpi-card__column,
.mm-kpi--animate.is-visible .mm-kpi__banner { opacity: 1; transform: translateY(0); }
.mm-kpi--animate.is-visible .mm-kpi-card__column:nth-child(2) { transition-delay: .06s; }
.mm-kpi--animate.is-visible .mm-kpi-card__column:nth-child(3) { transition-delay: .12s; }
.mm-kpi--animate.is-visible .mm-kpi-card__column:nth-child(4) { transition-delay: .18s; }
.mm-kpi--animate.is-visible .mm-kpi-card__column:nth-child(5) { transition-delay: .24s; }
.mm-kpi--animate.is-visible .mm-kpi__banner { transition-delay: .26s; }
@keyframes mm-kpi-pulse { 0%,100% { opacity: .7; transform: scale(1); } 50% { opacity: 1; transform: scale(1.08); } }
@media (min-width:576px) { .mm-kpi--space-default { padding-block: 6rem; } .mm-kpi--space-large { padding-block: 7rem; } .mm-kpi__banner { padding: 2.5rem; } }
@media (max-width:575.98px) { .mm-kpi-card__column--mobile-full { width: 100%; flex: 0 0 auto; } .mm-kpi__blob--one { left: -9rem; } .mm-kpi__blob--two { right: -11rem; } }
@media (prefers-reduced-motion:reduce) { .mm-kpi__blob { animation: none; } .mm-kpi-card, .mm-kpi-card__icon, .mm-kpi__banner-button, .mm-kpi--animate .mm-kpi__header, .mm-kpi--animate .mm-kpi-card__column, .mm-kpi--animate .mm-kpi__banner { opacity: 1; transform: none; transition: none; } }
