.netzpolitik-cta:has(.campaign-landtagswahl2026) {
	max-width: 100vw;
	margin-right: calc(var(--wp--preset--spacing--40) * -1) !important;
	margin-left: calc(var(--wp--preset--spacing--40) * -1) !important;
}

@keyframes landtagswahl2026-banner-in {
	from {
		transform: translateY(-200%);
	}

	to {
		transform: translateY(0);
	}
}

.campaign-landtagswahl2026 {
	--landtagswahl2026-red: light-dark(#ff0057, #ff0055);
	--landtagswahl2026-yellow: light-dark(#ffff51, #adad00);
	--stripe-width: 45px;
	--stripe-height: 20px;


	/* Fix Auto-p-bug */
	p[data-legacy="np_legacy_autop"] {
		margin: 0;
	}

	.stripes {
		height: var(--stripe-height);
		width: 100%;
		background-color: var(--landtagswahl2026-red);
		background-image: repeating-linear-gradient(45deg, var(--landtagswahl2026-yellow) 0px, var(--landtagswahl2026-yellow) var(--stripe-width), transparent var(--stripe-width), transparent calc(2*var(--stripe-width)));
	}

	.content {
		background-color: var(--landtagswahl2026-red);
		/* display: flex; */
		/* flex-direction: column; */
		/* align-items: center; */
		/* text-align: center; */
		padding: var(--wp--preset--spacing--60);
		color: white;

		p {
			margin-block: 1em;
		}
	}

	.headline {
		font-size: calc(var(--wp--preset--font-size--x-large) * 1.3);
		margin: 0;
	}


	.button {
		background: var(--landtagswahl2026-yellow);
		border: 3px solid black;
		font-size: var(--wp--preset--font-size--medium);
		color: black;
		border-radius: 9999px;
		padding-block: calc(var(--wp--preset--spacing--20) / 2);
		padding-inline: var(--wp--preset--spacing--40);
		font-weight: 700;
		text-wrap: nowrap;
		cursor: pointer;
	}
}

.campaign-landtagswahl2026__stoerer {

	.ltw-2026-stoerer-widget {
		display: none;
		margin-top: 10px;
	}

	display: flex;
	flex-direction: column;
	box-sizing: border-box;

	@media(min-width: 960px) {
		flex-direction: row;
		align-items: stretch;
	}

	.stripes--stoerer {
		@media(min-width: 960px) {
			display: none;
		}
	}

	.chevron {
		display: none;
		width: calc((100vw - var(--wp--style--global--content-size)) / 2);
		height: auto;

		.chevron--top,
		.chevron--bottom {
			width: 100%;
			height: 100%;
			background-color: var(--landtagswahl2026-red);
			background-image: repeating-linear-gradient(45deg, var(--landtagswahl2026-yellow) 0px, var(--landtagswahl2026-yellow) var(--stripe-width), transparent var(--stripe-width), transparent calc(2*var(--stripe-width)));
		}

		.chevron--bottom {
			transform: scaleY(-1);
		}

		.chevron--offset {
			margin-top: -1px;
			/*fix rendering error between adjacent divs with floating pixel value */
		}

		@media(min-width: 960px) {
			display: flex;
			flex-direction: column;
			justify-content: space-around;
		}
	}

	.content__visible {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		font-weight: 700;
		font-size: var(--wp--preset--font-size--large);
		gap: var(--wp--preset--spacing--50);

		.content__row-2 {
			flex-grow: 1;
		}

		.headline {
			margin-top: 0.5em;
		}

		p {
			margin-top: 2em;
			margin-bottom: 2em;
		}

		@media(min-width: 960px) {
			width: var(--wp--style--global--content-size);
			flex-direction: row;
			justify-content: space-between;
			padding: var(--wp--preset--spacing--30);
			padding-inline: var(--wp--preset--spacing--50);
			text-align: left;
			font-size: var(--wp--preset--font-size--medium);

			.headline {
				margin-top: 0;
			}

			p {
				margin-top: 1em;
				margin-bottom: 0;
			}
		}
	}


	/* note: flex is needed to work against unnecassary <br> that are added in legacy articles */
	.content__row-1,
	.content__row-3 {
		display: flex;
	}

	.image {
		max-width: 120px;
		height: auto;
		transform: rotate(-7deg);
		width: 100%;

		.cls-2 {
			fill: var(--landtagswahl2026-yellow);
		}
	}
}

.campaign-landtagswahl2026__footer {
	.headline {
		font-size: var(--wp--preset--font-size--x-large);
	}

	.content {
		p {
			font-size: var(--wp--preset--font-size--medium);
			line-height: 1.3;
		}
	}
}

.campaign-landtagswahl2026__banner {

	animation: landtagswahl2026-banner-in .6s 1 ease-out;

	&:target {
		display: none;
	}

	.content__inner {
		text-align: center;
		max-width: var(--wp--style--global--content-size);
		margin-inline: auto;
		padding-right: var(--wp--preset--spacing--30);
		padding-left: var(--wp--preset--spacing--30);
		box-sizing: border-box;
	}

	.headline--desktop {
		font-size: calc(var(--wp--preset--font-size--xx-large) * 0.75);
		display: none;
	}

	.button {
		display: inline-block;
		margin-block: 0;
	}

	@media(min-width: 960px) {
		.content {
			padding-block: var(--wp--preset--spacing--20);
		}

		.content__inner {
			display: flex;
			justify-content: space-between;
			align-items: center;
			text-align: left;

			.headline--desktop {
				display: block;
			}

			.headline--mobile {
				display: none;
			}

			p {
				margin: 0;
			}
		}
	}
}

/* Campaign specific styles for the landingpage and article */

.ltw26-svg {
	--landtagswahl2026-red: light-dark(#ff0057, #ff0055);
	--landtagswahl2026-yellow: light-dark(#ffff51, #adad00);

	.cls-1 {
		fill: var(--landtagswahl2026-red);
	}

	.cls-2 {
		fill: var(--landtagswahl2026-yellow);
	}
}

.ltw26-svg-height-100 {
	height: 100%;
}
