.wp-site-blocks > footer {
	display: none;
}

.tp {
	background: #FDF8F5;
	color: #2A1F2E;
	font-family: "DM Sans", system-ui, sans-serif;
	max-width: none !important;
	width: auto !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	overflow-x: hidden;
}

.tp * {
	box-sizing: border-box;
}

.tp-in {
	max-width: 1060px;
	margin: 0 auto;
	padding: 0 32px;
}

.tp h1,.tp h2,.tp h3 {
	font-family: "Fraunces", Georgia, serif;
	font-weight: 800;
	letter-spacing: -.02em;
	margin: 0;
}

.tp-hero {
	padding: 96px 0 76px;
	text-align: center;
	background: radial-gradient(60% 70% at 18% 8%, rgba(244,168,198,0.55), rgba(244,168,198,0) 68%), radial-gradient(56% 64% at 84% 4%, rgba(203,190,238,0.5), rgba(203,190,238,0) 68%), radial-gradient(70% 60% at 50% 100%, rgba(169,201,232,0.38), rgba(169,201,232,0) 70%);
}

.tp-badge {
	display: inline-block;
	font-size: 12px;
	letter-spacing: .18em;
	font-weight: 700;
	text-transform: uppercase;
	color: #CE3C7C;
	background: #ffffff;
	border: 1px solid #F4A8C6;
	border-radius: 999px;
	padding: 8px 16px;
	margin-bottom: 24px;
}

.tp h1 {
	font-size: 64px;
	line-height: .95;
	margin-bottom: 18px;
}

.tp h1 em {
	font-style: italic;
	color: #CE3C7C;
}

.tp-lead {
	font-size: 19px;
	line-height: 1.5;
	max-width: 600px;
	margin: 0 auto 30px;
}

.tp-zahlen {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 44px;
	margin-top: 34px;
}

.tp-zahl {
	text-align: center;
}

.tp-zahl b {
	display: block;
	font-family: "Fraunces", Georgia, serif;
	font-size: 34px;
	line-height: 1;
}

.tp-zahl span {
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #7A6E80;
}

.tp-btn {
	display: inline-block;
	background: #CE3C7C !important;
	color: #ffffff !important;
	font-weight: 700;
	font-size: 16px;
	padding: 15px 32px;
	border-radius: 999px;
	text-decoration: none !important;
}

.tp-sec {
	padding: 78px 0;
}

.tp-sec.weiss {
	background: #ffffff;
	border-top: 1px solid #EADFE4;
	border-bottom: 1px solid #EADFE4;
}

.tp h2 {
	font-size: 38px;
	line-height: 1.1;
	margin-bottom: 12px;
}

.tp-sub {
	color: #7A6E80;
	font-size: 16px;
	line-height: 1.6;
	max-width: 560px;
	margin: 0 0 34px;
}

.tp-liste {
	display: grid;
	grid-gap: 14px;
	gap: 14px;
}

.tp-karte {
	display: grid;
	grid-template-columns: 88px 1fr auto;
	grid-gap: 26px;
	gap: 26px;
	align-items: center;
	background: #FDF8F5;
	border: 1px solid #EADFE4;
	border-radius: 18px;
	padding: 18px 20px;
}

.tp-sec.weiss .tp-karte {
	background: #ffffff;
}

.tp-datum {
	text-align: center;
	background: linear-gradient(160deg,#F4A8C6,#CBBEEE);
	border-radius: 13px;
	padding: 9px 4px;
}

.tp-datum b {
	display: block;
	font-family: "Fraunces", Georgia, serif;
	font-size: 24px;
	line-height: 1;
}

.tp-datum span {
	font-size: 11px;
	letter-spacing: .09em;
	text-transform: uppercase;
	font-weight: 700;
}

.tp-wo h3 {
	font-size: 22px;
	margin-bottom: 3px;
}

.tp-wo p {
	margin: 0;
	color: #7A6E80;
	font-size: 15px;
	line-height: 1.4;
}

.tp-kauf {
	display: inline-block;
	white-space: nowrap;
	background: #2A1F2E !important;
	color: #ffffff !important;
	font-weight: 700;
	font-size: 14px;
	padding: 12px 22px;
	border-radius: 999px;
	text-decoration: none !important;
	text-align: center;
}

.tp-kauf small {
	display: block;
	font-weight: 400;
	font-size: 11px;
	opacity: .75;
}

.tp-punkte {
	display: grid;
	grid-gap: 16px;
	gap: 16px;
	grid-template-columns: repeat(auto-fit,minmax(228px,1fr));
}

.tp-punkt {
	background: #FDF8F5;
	border: 1px solid #EADFE4;
	border-radius: 18px;
	padding: 26px 24px;
}

.tp-sec.weiss .tp-punkt {
	background: #ffffff;
}

.tp-punkt h3 {
	font-size: 18px;
	margin-bottom: 8px;
}

.tp-punkt p {
	margin: 0;
	color: #7A6E80;
	line-height: 1.6;
	font-size: 15px;
}

.tp-faq {
	border-top: 1px solid #EADFE4;
}

.tp-faq details {
	border-bottom: 1px solid #EADFE4;
	padding: 18px 0;
}

.tp-faq summary {
	cursor: pointer;
	font-weight: 700;
	font-size: 17px;
	list-style: none;
}

.tp-faq summary::-webkit-details-marker {
	display: none;
}

.tp-faq p {
	margin: 12px 0 0;
	color: #7A6E80;
	line-height: 1.65;
}

.tp-fuss {
	background: #2A1F2E;
	color: #EDE6EF;
	padding: 64px 0 34px;
	text-align: center;
}

.tp-fuss h2 {
	color: #ffffff;
	margin-bottom: 14px;
}

.tp-fuss p {
	color: #B4A9B8;
	line-height: 1.6;
	margin: 0 auto 22px;
	max-width: 520px;
}

.tp-fuss a {
	color: #ffffff;
}

.tp-klein {
	font-size: 13px;
	color: #8C8091;
	line-height: 1.6;
	margin-top: 30px;
	padding-top: 22px;
	border-top: 1px solid rgba(255,255,255,0.13);
}

@media (max-width:640px) {
	.tp h1 {
		font-size: 38px;
	}
	
	.tp h2 {
		font-size: 27px;
	}
	
	.tp-hero {
		padding: 56px 0 48px;
	}
	
	.tp-sec {
		padding: 52px 0;
	}
	
	.tp-in {
		padding: 0 20px;
	}
	
	.tp-zahlen {
		gap: 20px;
	}
	
	.tp-karte {
		grid-template-columns: 66px 1fr;
		gap: 14px;
	}
	
	.tp-kauf {
		grid-column: 1 / span 2;
		margin-top: 6px;
	}
}

.tp-zurueck {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	color: #CE3C7C !important;
	text-decoration: none !important;
	margin-bottom: 18px;
}

.tp-text {
	max-width: 720px;
}

.tp-text h1 {
	font-size: 44px;
	margin-bottom: 24px;
}

.tp-text h2 {
	font-size: 22px;
	margin: 34px 0 10px;
}

.tp-text p {
	color: #4A3F4E;
	line-height: 1.7;
	margin: 0 0 14px;
	font-size: 16px;
}

.tp-text a {
	color: #CE3C7C;
}

.tp-fuss .tp-klein a {
	color: #EDE6EF;
}

@media (max-width:640px) {
	.tp-text h1 {
		font-size: 32px;
	}
}

.wp-site-blocks > header {
	background: #FDF8F5;
	border-bottom: 1px solid #EADFE4;
	padding: 14px 0 !important;
}

.wp-site-blocks > header .wp-block-navigation {
	display: none !important;
}

.wp-site-blocks > header .wp-block-buttons {
	display: none !important;
}

.wp-site-blocks > header .wp-block-site-title {
	margin: 0;
}

.wp-site-blocks > header .wp-block-site-title a {
	font-family: "Fraunces", Georgia, serif;
	font-weight: 800;
	font-size: 20px;
	color: #2A1F2E !important;
	text-decoration: none !important;
	letter-spacing: -.01em;
}

.wp-site-blocks > header .wp-block-group {
	gap: 0 !important;
}