/**
 * Spendenmodul v1.0.0
 * Bootstrap-5-Ergänzungen ohne Tailwind.
 */
.mm-spende {
    --sky-50: #e2edf4;
    --sky-100: #c5d8e6;
    --sky-500: #2f516a;
    --sky-600: #29475d;
    --sky-700: #233d50;
    --emerald-50: #e8f3e2;
    --emerald-100: #d2e7c7;
    --emerald-500: #79b255;
    --emerald-600: #6ca04c;
    --emerald-700: #5f8e43;
    --accent: #f59e0b;
    --accent2: #f97316;
    --soft: #fffbeb;
    --soft2: #fff7ed;
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, var(--soft), #fff 50%, var(--soft2));
}
.mm-spende--design-emerald-sky {
    --accent: #2f516a;
    --accent2: var(--sky-500);
    --soft: #e2f3ff;
    --soft2: var(--sky-50);
}
.mm-spende--design-neutral {
    --accent: #6b7280;
    --accent2: #374151;
    --soft: #f9fafb;
    --soft2: #f3f4f6;
}
.mm-spende--space-compact {
    padding-block: 4rem;
}
.mm-spende--space-default {
    padding-block: 5rem;
}
.mm-spende--space-large {
    padding-block: 6rem;
}
.mm-spende__container {
    position: relative;
    z-index: 1;
    padding-inline: 1rem;
}
.mm-spende__container--wide {
    max-width: 80rem;
    margin-inline: auto;
}
.mm-spende__container--fluid {
    padding-inline: clamp(1rem, 4vw, 3rem);
}
.mm-spende__blobs {
    position: absolute;
    inset: 0;
    opacity: .22;
    pointer-events: none;
}
.mm-spende__blobs span {
    position: absolute;
    border-radius: 999rem;
    filter: blur(3rem);
    animation: mm-spende-pulse 5s ease-in-out infinite;
    background: var(--accent);
}
.mm-spende__blobs span:first-child {
    top: 5rem;
    right: 2rem;
    width: 24rem;
    height: 24rem;
}
.mm-spende__blobs span:last-child {
    bottom: 5rem;
    left: 2rem;
    width: 20rem;
    height: 20rem;
    animation-delay: 1s;
    background: var(--accent2);
}
@keyframes mm-spende-pulse {
    0%, 100% {
    transform: scale(1);
    opacity: .8;
}
50% {
    transform: scale(1.08);
    opacity: .45;
}
}.mm-spende__header {
    text-align: center;
    margin-bottom: 4rem;
}
.mm-spende__badge, .mm-spende-donate__header span {
    display: inline-flex;
    margin-bottom: 1rem;
    padding: .5rem 1rem;
    border-radius: 999rem;
    background: #fef3c7;
    color: #b45309;
    font-size: .875rem;
    font-weight: 800;
}
.mm-spende__title {
    margin: 0 0 1.25rem;
    color: #111827;
    font-size: clamp(2rem, 5vw, 3.25rem);
    font-weight: 900;
    line-height: 1.12;
}
.mm-spende__title span {
    color: transparent;
    background: linear-gradient(90deg, var(--accent), var(--accent2));
    -webkit-background-clip: text;
    background-clip: text;
}
.mm-spende__intro {
    max-width: 48rem;
    margin: 0 auto;
    color: #4b5563;
    font-size: clamp(1rem, 2vw, 1.25rem);
    line-height: 1.75;
}
.mm-spende-impact {
    position: relative;
    overflow: hidden;
    margin-bottom: 4rem;
    padding: 2.5rem;
    border-radius: 1.75rem;
    background: linear-gradient(135deg, var(--accent), var(--accent2));
    box-shadow: 0 1.5rem 3rem rgba(15, 23, 42, .18);
}
.mm-spende-impact__bg {
    position: absolute;
    inset: 0;
    opacity: .12;
    background: radial-gradient(circle at 85% 10%, #fff 0, transparent 18rem), radial-gradient(circle at 0 100%, #fff 0, transparent 16rem);
}
.mm-spende-impact__grid {
    position: relative;
    display: grid;
    gap: 2.5rem;
    align-items: center;
}
.mm-spende-impact__content h3 {
    margin: 0 0 1rem;
    color: #fff;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 900;
}
.mm-spende-impact__content>p {
    margin: 0 0 2rem;
    color: rgba(255, 255, 255, .82);
    font-size: 1.1rem;
    line-height: 1.7;
}
.mm-spende-impact__items {
    display: grid;
    gap: 1rem;
}
.mm-spende-impact-item {
    display: flex;
    gap: 1rem;
    padding: 1rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(.4rem);
    color: #fff;
}
.mm-spende-impact-item>span {
    font-size: 1.7rem;
    line-height: 1;
    flex: 0 0 auto;
}
.mm-spende-impact-item strong {
    display: block;
    margin-bottom: .25rem;
}
.mm-spende-impact-item p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    font-size: .9rem;
    line-height: 1.55;
}
.mm-spende-impact__image, .mm-spende-impact__placeholder {
    display: block;
    width: 100%;
    height: 14rem;
    border-radius: 1rem;
    object-fit: cover;
    box-shadow: 0 1rem 2rem rgba(15, 23, 42, .18);
}
.mm-spende-impact__placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .18);
    font-size: 5rem;
}
.mm-spende-impact__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.mm-spende-impact__stats div {
    padding: 1.25rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .2);
    text-align: center;
    color: #fff;
}
.mm-spende-impact__stats strong {
    display: block;
    font-size: 2rem;
    line-height: 1;
}
.mm-spende-impact__stats span {
    display: block;
    margin-top: .25rem;
    color: rgba(255, 255, 255, .75);
    font-size: .875rem;
}
.mm-spende-donatewrap {
    max-width: 48rem;
    margin-inline: auto;
}
.mm-spende-donate {
    padding: 2rem;
    border: 1px solid #fef3c7;
    border-radius: 1.75rem;
    background: #fff;
    box-shadow: 0 1.25rem 2.5rem rgba(15, 23, 42, .12);
}
.mm-spende-donate__header {
    text-align: center;
    margin-bottom: 2rem;
}
.mm-spende-donate__header h3 {
    margin: 0 0 .75rem;
    color: #111827;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 900;
}
.mm-spende-donate__header p {
    margin: 0;
    color: #4b5563;
}
.mm-spende-paypal {
    padding: 1.5rem;
    border: 2px solid #dbeafe;
    border-radius: 1rem;
    background: #eff6ff;
}
.mm-spende-paypal__top {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.25rem;
}
.mm-spende-paypal__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .75rem;
    background: #2563eb;
    color: #fff;
    font-weight: 900;
}
.mm-spende-paypal__icon img {
    width: 1.5rem;
    height: 1.5rem;
    object-fit: contain;
}
.mm-spende-paypal__top strong, .mm-spende-paypal__top span {
    display: block;
}
.mm-spende-paypal__top span {
    color: #6b7280;
    font-size: .8rem;
}
.mm-spende-paypal__top em {
    margin-left: auto;
    padding: .3rem .55rem;
    border-radius: .6rem;
    background: #f3f4f6;
    color: #9ca3af;
    font-size: .75rem;
    font-style: normal;
	border: 1px solid var(--color-sky-100);
}
.mm-spende-paypal__button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    width: 100%;
    padding: 1rem 1.5rem;
    border-radius: 1rem;
    background: #2563eb;
    color: #fff;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 .75rem 1.5rem rgba(37, 99, 235, .25);
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.mm-spende-paypal__button:hover {
    background: #1d4ed8;
    color: #fff;
    text-decoration: none;
    transform: translateY(-.08rem) scale(1.02);
    box-shadow: 0 1rem 1.75rem rgba(37, 99, 235, .32);
}
.mm-spende-paypal__button img {
    width: 1.75rem;
    height: 1.75rem;
    object-fit: contain;
}
.mm-spende-paypal__badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}
.mm-spende-paypal__badges span {
    color: #9ca3af;
    font-size: .78rem;
}
.mm-spende-bank {
    margin-top: 2rem;
    padding: 1.75rem;
    border: 1px solid #fef3c7;
    border-radius: 1.5rem;
    background: #fff;
    box-shadow: 0 .75rem 1.5rem rgba(15, 23, 42, .08);
}
.mm-spende-bank h4 {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 1rem;
    color: #111827;
    font-size: 1.25rem;
    font-weight: 900;
}
.mm-spende-bank h4 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: .55rem;
    background: #fef3c7;
}
.mm-spende-bank__grid {
    display: grid;
    gap: 1rem;
}
.mm-spende-bank__grid div {
    padding: 1rem;
    border-radius: .85rem;
    background: #fffbeb;
}
.mm-spende-bank__grid span {
    display: block;
    margin-bottom: .25rem;
    color: #6b7280;
    font-size: .85rem;
}
.mm-spende-bank__grid strong {
    display: block;
    color: #1f2937;
    font-size: .95rem;
}
.mm-spende-bank__mono {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
.mm-spende-thanks {
    position: relative;
    overflow: hidden;
    margin-top: 4rem;
    padding: 2.5rem;
    border-radius: 1.75rem;
    background: linear-gradient(135deg, var(--accent), var(--accent2));
    color: #fff;
    box-shadow: 0 1.25rem 2.5rem rgba(15, 23, 42, .15);
}
.mm-spende-thanks__bg {
    position: absolute;
    inset: 0;
    opacity: .12;
    background: radial-gradient(circle at 85% 0, #fff 0, transparent 16rem);
}
.mm-spende-thanks__inner {
    position: relative;
    max-width: 48rem;
    margin-inline: auto;
    text-align: center;
}
.mm-spende-thanks__icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}
.mm-spende-thanks h3 {
    margin: 0 0 1rem;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    font-weight: 900;
}
.mm-spende-thanks>*, .mm-spende-thanks p {
    color: rgba(255, 255, 255, .82);
    line-height: 1.7;
}
.mm-spende-thanks blockquote {
    margin: 2rem 0 0;
    padding: 1.5rem;
    border-radius: 1rem;
    background: rgba(255, 255, 255, .15);
    text-align: left;
}
.mm-spende-thanks blockquote p {
    margin: 0 0 .75rem;
    color: #fff;
    font-style: italic;
    font-size: 1.05rem;
}
.mm-spende-thanks cite {
    color: #fde68a;
    font-style: normal;
    font-weight: 800;
}
.mm-spende--animate .mm-spende__header, .mm-spende--animate .mm-spende-impact, .mm-spende--animate .mm-spende-donatewrap, .mm-spende--animate .mm-spende-thanks {
    opacity: 0;
    transform: translateY(1rem);
    transition: opacity .55s ease, transform .55s ease;
}
.mm-spende--animate.is-visible .mm-spende__header, .mm-spende--animate.is-visible .mm-spende-impact, .mm-spende--animate.is-visible .mm-spende-donatewrap, .mm-spende--animate.is-visible .mm-spende-thanks {
    opacity: 1;
    transform: translateY(0);
}
.mm-spende-paypal__form {
	margin: 0;
	padding: 0;
	width: 100%;
}

button.mm-spende-paypal__button {
	width: 100%;
	border: 0;
	font: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
@media (min-width:992px) {
    .mm-spende-impact__grid {
    grid-template-columns: 1fr 1fr;
}
.mm-spende-bank__grid {
    grid-template-columns: 1fr 1fr;
}
}@media (max-width:767.98px) {
    .mm-spende-impact, .mm-spende-donate, .mm-spende-bank, .mm-spende-thanks {
    padding: 1.5rem;
}
.mm-spende-impact__stats {
    grid-template-columns: 1fr;
}
}@media (prefers-reduced-motion:reduce) {
    .mm-spende__blobs span, .mm-spende-paypal__button, .mm-spende--animate .mm-spende__header, .mm-spende--animate .mm-spende-impact, .mm-spende--animate .mm-spende-donatewrap, .mm-spende--animate .mm-spende-thanks {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
}
}
