/* ==========================================================
   INVI CAMPUS – ANGEBOTE
   MASTER CSS
   ========================================================== */

.invi-offers-page {
	--ap-blue: #06038D;
	--ap-blue-dark: #04026F;
	--ap-ink: #172033;
	--ap-muted: #667085;
	--ap-text: #425A82;
	--ap-border: #DCE6F3;
	--ap-soft-blue: #EEF5FF;
	--ap-soft-warm: #F8F4ED;
	--ap-white: #FFFFFF;

	--ap-width: 1200px;
	--ap-radius: 10px;

	width: 100%;

	margin: 0 !important;
	padding: 0 !important;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}


/* ==========================================================
   RESET
   ========================================================== */

.invi-offers-page *,
.invi-offers-page *::before,
.invi-offers-page *::after {
	box-sizing: border-box;
}

.invi-offers-page .wp-block-group,
.invi-offers-page .wp-block-columns,
.invi-offers-page .wp-block-buttons,
.invi-offers-page .wp-block-list {
	margin-block-start: 0;
	margin-block-end: 0;
}

.invi-offers-page a {
	text-decoration: none;
}

.invi-offers-page .wp-block-heading,
.invi-offers-page p,
.invi-offers-page li {
	hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
}


/* ==========================================================
   ICONS
   ========================================================== */

.invi-offers-page .invi-icon-graduation {
	--ap-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 9 12 4l9.5 5L12 14 2.5 9Z'/%3E%3Cpath d='M6 11.2V16c2.8 2.2 9.2 2.2 12 0v-4.8'/%3E%3C/svg%3E");
}

.invi-offers-page .invi-icon-people {
	--ap-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3Ccircle cx='16' cy='8' r='3'/%3E%3Cpath d='M2.5 20v-2c0-3.1 2.4-5.5 5.5-5.5s5.5 2.4 5.5 5.5v2'/%3E%3Cpath d='M11 14.3c1.1-1.1 2.5-1.8 4.7-1.8 3.1 0 5.8 2.4 5.8 5.5v2'/%3E%3C/svg%3E");
}

.invi-offers-page .invi-icon-document {
	--ap-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5h9l3 3V20.5H6z'/%3E%3Cpath d='M15 3.5v4h4'/%3E%3Cpath d='M9 11h6M9 14h6M9 17h4'/%3E%3C/svg%3E");
}

.invi-offers-page .invi-icon-clock {
	--ap-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 7.5v5l3.5 2'/%3E%3C/svg%3E");
}

.invi-offers-page .invi-icon-calendar {
	--ap-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5.5' width='16' height='14' rx='2'/%3E%3Cpath d='M8 3.5v4M16 3.5v4M4 9.5h16M8 13h3M13 13h3M8 16h3'/%3E%3C/svg%3E");
}

.invi-offers-page .invi-icon-book {
	--ap-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5c2.7-.9 5.3-.6 8.5 1.4v12c-3.2-2-5.8-2.3-8.5-1.4z'/%3E%3Cpath d='M20.5 5.5c-2.7-.9-5.3-.6-8.5 1.4v12c3.2-2 5.8-2.3 8.5-1.4z'/%3E%3C/svg%3E");
}

.invi-offers-page .invi-icon-coins {
	--ap-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2306038D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='9' cy='15.5' rx='5' ry='2.5'/%3E%3Cpath d='M4 15.5v3c0 1.4 2.2 2.5 5 2.5s5-1.1 5-2.5v-3'/%3E%3Cellipse cx='15' cy='8' rx='5' ry='2.5'/%3E%3Cpath d='M10 8v6c0 1.4 2.2 2.5 5 2.5s5-1.1 5-2.5V8'/%3E%3C/svg%3E");
}


/* ==========================================================
   HERO
   ========================================================== */

.invi-ap-hero {
	width: 100%;

	min-height: 300px !important;

	margin: 0 !important;

	background: #F7F9FD;
}

.invi-ap-hero .wp-block-cover__image-background {
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;
}

.invi-ap-hero .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}

.invi-ap-hero-inner {
	width: calc(100% - 48px) !important;
	max-width: var(--ap-width) !important;

	min-height: 300px;

	margin-left: auto !important;
	margin-right: auto !important;

	display: flex;

	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.invi-ap-kicker,
.invi-ap-detail-eyebrow,
.invi-ap-course-label {
	margin: 0 0 9px !important;

	color: var(--ap-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	line-height: 1.2;

	letter-spacing: .18em;
	text-transform: uppercase;
}

.invi-ap-hero-title {
	margin: 0 0 10px !important;

	color: var(--ap-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: clamp(52px, 5vw, 72px);
	font-weight: 500;
	line-height: .94;

	letter-spacing: -.035em;
}

.invi-ap-hero-text {
	margin: 0 !important;

	color: var(--ap-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
}


/* ==========================================================
   MAIN
   ========================================================== */

.invi-ap-main {
	width: 100% !important;
	max-width: none !important;

	padding: 18px 24px 16px !important;

	background: #FFFFFF;
}

.invi-ap-container {
	width: 100% !important;
	max-width: var(--ap-width) !important;

	margin-left: auto !important;
	margin-right: auto !important;
}


/* ==========================================================
   COURSE
   ========================================================== */

.invi-ap-course {
	position: relative;

	overflow: visible;

	margin-bottom: 20px !important;

	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius);

	background: #FFFFFF;

	box-shadow:
		0 8px 26px rgba(23,32,51,.025);
}


/* ==========================================================
   COURSE HEADER
   ========================================================== */

.invi-ap-course-head {
	position: relative;

	display: grid !important;

	grid-template-columns: minmax(0,1fr) auto;

	align-items: center;

	min-height: 175px;

	padding: 25px 30px 25px 130px !important;

	gap: 30px;

	overflow: hidden;
}

.invi-ap-course-blue .invi-ap-course-head {
	background:
		linear-gradient(
			115deg,
			#EEF5FF 0%,
			#F8FAFF 63%,
			#E7F0FF 100%
		);
}

.invi-ap-course-warm .invi-ap-course-head {
	background:
		linear-gradient(
			115deg,
			#FBF7EF 0%,
			#FCFAF6 63%,
			#F1ECE3 100%
		);
}

.invi-ap-course-head::before {
	content: "";

	position: absolute;

	left: 30px;
	top: 30px;

	width: 72px;
	height: 72px;

	border-radius: 999px;

	background-color: #E0EBFF;
	background-image: var(--ap-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 39px 39px;
}

.invi-ap-course-warm .invi-ap-course-head::before {
	background-color: #EDE7DC;
}

.invi-ap-course-head::after {
	content: "";

	position: absolute;

	right: -70px;
	bottom: -100px;

	width: 390px;
	height: 200px;

	border-radius: 50%;

	background: rgba(255,255,255,.48);

	pointer-events: none;
}

.invi-ap-course-head-copy,
.invi-ap-course-price {
	position: relative;
	z-index: 2;
}

.invi-ap-course-label {
	margin-bottom: 6px !important;
}

.invi-ap-course-title {
	margin: 0 0 4px !important;

	color: var(--ap-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 42px;
	font-weight: 600;
	line-height: 1;

	letter-spacing: -.025em;
}

.invi-ap-course-subtitle {
	margin: 0 0 9px !important;

	color: var(--ap-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.invi-ap-course-description {
	max-width: 660px;

	margin: 0 !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 13.5px;
	line-height: 1.5;
}


/* ==========================================================
   PRICE
   ========================================================== */

.invi-ap-course-price {
	min-width: 170px;

	padding: 17px 20px !important;

	border: 1px solid rgba(6,3,141,.09);
	border-radius: 9px;

	background: rgba(255,255,255,.78);

	text-align: center;

	box-shadow:
		0 10px 24px rgba(6,3,141,.035);
}

.invi-ap-course-price p {
	margin: 0 !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
}

.invi-ap-course-price h3 {
	margin: 2px 0 3px !important;

	color: var(--ap-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 32px;
	font-weight: 600;
	line-height: 1;
}


/* ==========================================================
   QUICK FACTS
   ========================================================== */

.invi-ap-quick-grid {
	display: grid !important;

	grid-template-columns: repeat(4, minmax(0,1fr));

	border-bottom: 1px solid var(--ap-border);

	background: #FFFFFF;
}

.invi-ap-quick-card {
	position: relative;

	min-height: 132px;

	padding: 22px 18px 18px 67px !important;

	border-right: 1px solid var(--ap-border);
}

.invi-ap-quick-card:last-child {
	border-right: 0;
}

.invi-ap-quick-card::before {
	content: "";

	position: absolute;

	left: 18px;
	top: 20px;

	width: 36px;
	height: 36px;

	border-radius: 999px;

	background-color: #EDF4FF;
	background-image: var(--ap-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 20px 20px;
}

.invi-ap-course-warm .invi-ap-quick-card::before {
	background-color: #F2EDE5;
}

.invi-ap-fact-label {
	margin: 0 0 7px !important;

	color: var(--ap-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

.invi-ap-quick-card > p:not(.invi-ap-fact-label) {
	margin: 0 !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.45;
}

.invi-ap-quick-card strong {
	color: var(--ap-blue);
}


/* ==========================================================
   ACCORDION GRID
   ========================================================== */

.invi-ap-accordion-grid {
	position: relative;
	z-index: 30;

	display: grid !important;

	grid-template-columns: repeat(3, minmax(0,1fr));

	gap: 12px;

	padding: 16px !important;

	background: #FAFBFD;

	overflow: visible !important;
}

.invi-ap-accordion-slot {
	position: relative;

	min-width: 0;

	overflow: visible !important;
}


/* ==========================================================
   ACCORDION BASE
   ========================================================== */

.invi-ap-accordion-item {
	position: relative;

	width: 100%;

	margin: 0 !important;

	overflow: hidden;

	border: 1px solid var(--ap-border);
	border-radius: 8px;

	background: #FFFFFF;

	transition:
		border-color .16s ease,
		box-shadow .16s ease,
		transform .16s ease;
}

.invi-ap-course-blue .invi-ap-accordion-item {
	background:
		linear-gradient(
			120deg,
			#F8FBFF 0%,
			#FFFFFF 75%
		);
}

.invi-ap-course-warm .invi-ap-accordion-item {
	background:
		linear-gradient(
			120deg,
			#FCF9F4 0%,
			#FFFFFF 75%
		);
}


/* ==========================================================
   SUMMARY
   ========================================================== */

.invi-ap-accordion-item summary {
	position: relative;
	z-index: 3;

	display: flex;

	min-height: 82px;

	align-items: center;

	padding: 12px 50px 12px 68px;

	color: var(--ap-blue);

	cursor: pointer;

	list-style: none;

	background: inherit;
}

.invi-ap-accordion-item summary::-webkit-details-marker {
	display: none;
}

.invi-ap-accordion-item summary::before {
	content: "";

	position: absolute;

	left: 16px;
	top: 50%;

	width: 38px;
	height: 38px;

	transform: translateY(-50%);

	border-radius: 999px;

	background-color: #E8F1FF;
	background-image: var(--ap-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 21px 21px;
}

.invi-ap-course-warm .invi-ap-accordion-item summary::before {
	background-color: #F0EAE0;
}

.invi-ap-accordion-item summary::after {
	content: "+";

	position: absolute;

	right: 17px;
	top: 50%;

	transform: translateY(-54%);

	color: var(--ap-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 25px;
	font-weight: 300;
	line-height: 1;
}

.invi-ap-accordion-item[open] summary::after {
	content: "−";
}

.invi-ap-accordion-summary {
	display: flex;

	flex-direction: column;

	gap: 3px;

	min-width: 0;
}

.invi-ap-accordion-summary strong {
	color: var(--ap-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.05;
}

.invi-ap-accordion-summary small {
	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
}


/* ==========================================================
   ACCORDION CONTENT
   ========================================================== */

.invi-ap-accordion-content {
	position: relative;
	z-index: 2;

	padding: 5px 17px 18px !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;

	background: #FFFFFF;
}

.invi-ap-course-warm .invi-ap-accordion-content {
	background: #FFFEFC;
}

.invi-ap-accordion-content > p:not(.invi-ap-inline-link) {
	margin: 0 0 10px !important;

	font-size: 12px;
	line-height: 1.48;
}


/* ==========================================================
   DESKTOP HOVER – ÖFFNET NACH OBEN

   Entscheidender Unterschied:
   flex-direction: column-reverse sorgt dafür,
   dass der Summary-Balken UNTEN bleibt.

   Dadurch bleibt die Maus auf derselben Fläche und
   die Buttons unterhalb bleiben vollständig erreichbar.
   ========================================================== */

@media (min-width: 1001px) and (hover: hover) and (pointer: fine) {

	.invi-ap-accordion-slot {
		height: 82px;
		min-height: 82px;
	}

	.invi-ap-accordion-item {
		height: 82px;
	}

	.invi-ap-accordion-item[open] {
		position: absolute;
		z-index: 300;

		left: 0;
		bottom: 0;

		display: flex;
		flex-direction: column-reverse;

		width: 100%;
		height: auto;
		min-height: 250px;

		overflow: hidden;

		border-color: #BACAE3;

		background: #FFFFFF;

		box-shadow:
			0 -18px 40px rgba(6,3,141,.14);
	}

	.invi-ap-course-warm .invi-ap-accordion-item[open] {
		background: #FFFEFC;
	}

	.invi-ap-accordion-item[open] summary {
		flex: 0 0 82px;

		width: 100%;

		border-top: 1px solid #E2E8F1;

		background:
			linear-gradient(
				120deg,
				#F8FBFF 0%,
				#FFFFFF 75%
			);
	}

	.invi-ap-course-warm .invi-ap-accordion-item[open] summary {
		background:
			linear-gradient(
				120deg,
				#FCF9F4 0%,
				#FFFFFF 75%
			);
	}

	.invi-ap-accordion-item[open] .invi-ap-accordion-content {
		flex: 1 1 auto;

		width: 100%;

		padding-top: 17px !important;
	}

	.invi-ap-accordion-item[open] summary::before {
		background-color: #DCE9FF;
	}

	.invi-ap-course-warm .invi-ap-accordion-item[open] summary::before {
		background-color: #E9E1D5;
	}

	.invi-ap-accordion-item:not([open]):hover {
		border-color: #C4D1E3;

		transform: translateY(-1px);

		box-shadow:
			0 7px 18px rgba(6,3,141,.045);
	}
}


/* ==========================================================
   MODULES
   ========================================================== */

.invi-ap-module {
	position: relative;

	min-height: 64px;

	margin-bottom: 9px !important;

	padding: 10px 10px 10px 49px !important;

	border-radius: 7px;

	background: #F4F8FF;
}

.invi-ap-module:last-child {
	margin-bottom: 0 !important;
}

.invi-ap-module::before {
	content: "";

	position: absolute;

	left: 10px;
	top: 11px;

	width: 30px;
	height: 30px;

	border-radius: 999px;

	background-color: #E2ECFF;
	background-image: var(--ap-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 17px 17px;
}

.invi-ap-module-number {
	margin: 0 0 3px !important;

	color: var(--ap-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 9px;
	font-weight: 800;

	letter-spacing: .13em;
}

.invi-ap-module > p:last-child {
	margin: 0 !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 11px;
	line-height: 1.4;
}


/* ==========================================================
   RULES
   ========================================================== */

.invi-ap-rule {
	margin-bottom: 8px !important;

	padding: 10px 12px !important;

	border-left: 3px solid var(--ap-blue);
	border-radius: 0 6px 6px 0;

	background: #F6F8FC;
}

.invi-ap-rule p {
	margin: 0 !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 11.5px;
	line-height: 1.45;
}

.invi-ap-rule strong {
	color: var(--ap-blue);
}


/* ==========================================================
   LISTS
   ========================================================== */

.invi-ap-list {
	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: 8px 12px;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none;
}

.invi-ap-list-single {
	grid-template-columns: 1fr;
}

.invi-ap-list li {
	position: relative;

	padding-left: 24px;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 11.5px;
	line-height: 1.4;
}

.invi-ap-list li::before {
	content: "✓";

	position: absolute;

	left: 0;
	top: 0;

	display: grid;

	width: 17px;
	height: 17px;

	place-items: center;

	border: 1px solid var(--ap-blue);
	border-radius: 999px;

	color: var(--ap-blue);

	font-size: 9px;
	font-weight: 800;
}


/* ==========================================================
   INLINE LINKS
   ========================================================== */

.invi-ap-inline-link {
	margin: 9px 0 0 !important;

	font-family: Inter, Arial, sans-serif;
	font-size: 11.5px;
	font-weight: 700;
}

.invi-ap-inline-link a {
	color: var(--ap-blue);
}

.invi-ap-inline-link a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* ==========================================================
   TIMELINE
   ========================================================== */

.invi-ap-timeline {
	display: grid !important;

	grid-template-columns: repeat(4, minmax(0,1fr));

	border: 1px solid var(--ap-border);
	border-radius: 7px;

	overflow: hidden;
}

.invi-ap-step {
	position: relative;

	min-height: 84px;

	padding: 14px 10px 12px !important;

	border-right: 1px solid var(--ap-border);

	background: #FAFCFF;
}

.invi-ap-step:last-child {
	border-right: 0;
}

.invi-ap-step-number {
	margin: 0 0 6px !important;

	color: var(--ap-blue);

	font-family: Inter, Arial, sans-serif;
	font-size: 9px;
	font-weight: 800;

	letter-spacing: .15em;
}

.invi-ap-step > p:last-child {
	margin: 0 !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 10.5px;
	line-height: 1.35;
}

.invi-ap-step strong {
	color: var(--ap-blue);
}


/* ==========================================================
   STATIC SECTIONS
   ========================================================== */

.invi-ap-static-section {
	position: relative;
	z-index: 1;

	padding: 0 16px 14px !important;

	background: #FAFBFD;
}

.invi-ap-detail-panel {
	position: relative;

	min-width: 0;

	padding: 22px 23px !important;

	border: 1px solid var(--ap-border);
	border-radius: 8px;

	background: #FFFFFF;
}

.invi-ap-detail-panel h3 {
	margin: 0 0 12px !important;

	color: var(--ap-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.08;

	letter-spacing: -.015em;
}

.invi-ap-detail-panel > p:not(.invi-ap-detail-eyebrow):not(.invi-ap-inline-link) {
	margin: 0 0 10px !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 12.5px;
	line-height: 1.48;
}


/* ==========================================================
   FUNDING
   ========================================================== */

.invi-ap-funding-panel {
	padding-left: 78px !important;

	background:
		linear-gradient(
			130deg,
			#F5F9FF 0%,
			#FFFFFF 75%
		);
}

.invi-ap-funding-panel::before {
	content: "";

	position: absolute;

	left: 22px;
	top: 23px;

	width: 40px;
	height: 40px;

	border-radius: 999px;

	background-color: #E3EDFF;
	background-image: var(--ap-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 23px 23px;
}

.invi-ap-course-warm .invi-ap-funding-panel {
	background:
		linear-gradient(
			130deg,
			#FBF7EF 0%,
			#FFFFFF 75%
		);
}


/* ==========================================================
   ACTIONS
   ========================================================== */

.invi-ap-action-row {
	position: relative;
	z-index: 1;

	padding: 0 16px 16px !important;

	background: #FAFBFD;
}

.invi-ap-actions {
	display: grid !important;

	grid-template-columns: repeat(3, minmax(0,1fr));

	gap: 12px !important;
}

.invi-ap-actions .wp-block-button {
	width: 100%;
}

.invi-ap-actions .wp-block-button__link {
	width: 100%;

	padding: 12px 15px;

	border-radius: 6px;

	font-family: Inter, Arial, sans-serif;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.25;

	text-align: center;

	transition:
		background .16s ease,
		border-color .16s ease,
		transform .16s ease;
}

.invi-ap-primary-button .wp-block-button__link {
	border: 1px solid var(--ap-blue);

	background: var(--ap-blue);
	color: #FFFFFF;
}

.invi-ap-primary-button .wp-block-button__link:hover {
	background: var(--ap-blue-dark);

	transform: translateY(-1px);
}

.invi-ap-secondary-button .wp-block-button__link {
	border: 1px solid var(--ap-blue) !important;

	background: #FFFFFF !important;
	color: var(--ap-blue) !important;
}

.invi-ap-download-button .wp-block-button__link {
	border: 1px solid #CAD6E8 !important;

	background: #F5F8FC !important;
	color: var(--ap-blue) !important;
}

.invi-ap-secondary-button .wp-block-button__link:hover,
.invi-ap-download-button .wp-block-button__link:hover {
	background: #EEF4FD !important;

	transform: translateY(-1px);
}


/* ==========================================================
   BOTTOM CTA
   ========================================================== */

.invi-ap-bottom-cta {
	position: relative;

	overflow: hidden;

	min-height: 100px;

	padding: 17px 25px !important;

	border-radius: 8px;

	background:
		linear-gradient(
			110deg,
			#F5F9FF 0%,
			#EDF5FF 72%,
			#E8F2FF 100%
		);

	gap: 28px !important;
}

.invi-ap-bottom-cta::after {
	content: "";

	position: absolute;

	right: 220px;
	bottom: -85px;

	width: 330px;
	height: 160px;

	border-radius: 50%;

	background: rgba(255,255,255,.55);

	pointer-events: none;
}

.invi-ap-bottom-title,
.invi-ap-bottom-copy,
.invi-ap-bottom-button {
	position: relative;
	z-index: 2;
}

.invi-ap-bottom-title {
	flex: 1 1 auto;

	min-width: 330px;
}

.invi-ap-bottom-title .invi-ap-kicker {
	margin-bottom: 4px !important;

	font-size: 10px;
}

.invi-ap-bottom-title h2 {
	margin: 0 !important;

	color: var(--ap-blue);

	font-family: "Source Serif Pro", Georgia, serif;
	font-size: 34px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: -.02em;
}

.invi-ap-bottom-copy {
	max-width: 390px;

	margin: 0 !important;

	color: var(--ap-text);

	font-family: Inter, Arial, sans-serif;
	font-size: 12px;
	line-height: 1.45;
}

.invi-ap-bottom-button .wp-block-button__link {
	min-width: 210px;

	padding: 12px 20px;

	border-radius: 6px;

	background: var(--ap-blue);
	color: #FFFFFF;

	font-family: Inter, Arial, sans-serif;
	font-size: 12.5px;
	font-weight: 700;
}

.invi-ap-bottom-button .wp-block-button__link:hover {
	background: var(--ap-blue-dark);
}


/* ==========================================================
   CURRENT NAV
   ========================================================== */

.wp-block-navigation-item.current-menu-item > a {
	color: #06038D !important;
}

.wp-block-navigation-item.current-menu-item > a::after {
	content: "";

	display: block;

	height: 2px;

	margin-top: 5px;

	background: #06038D;
}


/* ==========================================================
   TABLET
   Hier ganz bewusst normales Aufklappen nach unten.
   ========================================================== */

@media (max-width: 1000px) {

	.invi-ap-course-head {
		grid-template-columns: 1fr;

		padding-right: 28px !important;
	}

	.invi-ap-course-price {
		width: 190px;

		text-align: left;
	}

	.invi-ap-quick-grid {
		grid-template-columns: 1fr 1fr;
	}

	.invi-ap-quick-card:nth-child(2) {
		border-right: 0;
	}

	.invi-ap-quick-card:nth-child(1),
	.invi-ap-quick-card:nth-child(2) {
		border-bottom: 1px solid var(--ap-border);
	}

	.invi-ap-accordion-grid {
		grid-template-columns: 1fr;
	}

	.invi-ap-accordion-slot {
		height: auto;
		min-height: 0;
	}

	.invi-ap-accordion-item {
		position: relative;

		display: block;

		height: auto;

		overflow: hidden;
	}

	.invi-ap-accordion-item[open] {
		position: relative;

		left: auto;
		bottom: auto;

		display: block;

		width: 100%;

		min-height: 0;

		box-shadow: none;
	}

	.invi-ap-accordion-item[open] summary {
		border-top: 0;
	}

	.invi-ap-actions {
		grid-template-columns: 1fr 1fr;
	}

	.invi-ap-actions .wp-block-button:last-child {
		grid-column: 1 / -1;
	}

	.invi-ap-bottom-cta {
		flex-wrap: wrap !important;
	}

	.invi-ap-bottom-copy {
		max-width: 520px;
	}
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 781px) {

	.invi-ap-hero {
		min-height: 500px !important;
	}

	.invi-ap-hero .wp-block-cover__image-background {
		object-position: 68% center;
	}

	.invi-ap-hero-inner {
		width: calc(100% - 32px) !important;

		min-height: 500px;
	}

	.invi-ap-hero-title {
		font-size: clamp(46px, 13vw, 62px);
	}

	.invi-ap-hero-text br {
		display: none;
	}

	.invi-ap-main {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.invi-ap-course-head {
		padding:
			103px
			20px
			22px !important;

		gap: 18px;
	}

	.invi-ap-course-head::before {
		left: 20px;
		top: 22px;

		width: 58px;
		height: 58px;

		background-size: 31px 31px;
	}

	.invi-ap-course-title {
		font-size: 34px;
	}

	.invi-ap-course-description {
		font-size: 13px;
	}

	.invi-ap-course-price {
		width: 100%;

		padding: 14px 16px !important;

		text-align: left;
	}

	.invi-ap-course-price h3 {
		font-size: 28px;
	}

	.invi-ap-quick-grid {
		grid-template-columns: 1fr;
	}

	.invi-ap-quick-card {
		min-height: 100px;

		padding:
			18px
			17px
			17px
			65px !important;

		border-right: 0;
		border-bottom: 1px solid var(--ap-border);
	}

	.invi-ap-quick-card:last-child {
		border-bottom: 0;
	}

	.invi-ap-quick-card::before {
		left: 17px;
		top: 18px;
	}

	.invi-ap-accordion-grid {
		padding: 12px !important;

		gap: 10px;
	}

	.invi-ap-accordion-item summary {
		min-height: 78px;

		padding-left: 64px;
	}

	.invi-ap-accordion-item summary::before {
		left: 14px;
	}

	.invi-ap-accordion-summary strong {
		font-size: 19px;
	}

	.invi-ap-accordion-content {
		padding:
			4px
			15px
			17px !important;
	}

	.invi-ap-list {
		grid-template-columns: 1fr;
	}

	.invi-ap-timeline {
		grid-template-columns: 1fr;
	}

	.invi-ap-step {
		border-right: 0;
		border-bottom: 1px solid var(--ap-border);
	}

	.invi-ap-step:last-child {
		border-bottom: 0;
	}

	.invi-ap-static-section {
		padding:
			0
			12px
			12px !important;
	}

	.invi-ap-detail-panel {
		padding: 19px 18px !important;
	}

	.invi-ap-detail-panel h3 {
		font-size: 22px;
	}

	.invi-ap-funding-panel {
		padding:
			76px
			18px
			19px !important;
	}

	.invi-ap-funding-panel::before {
		left: 18px;
		top: 18px;
	}

	.invi-ap-action-row {
		padding:
			0
			12px
			12px !important;
	}

	.invi-ap-actions {
		grid-template-columns: 1fr;
	}

	.invi-ap-actions .wp-block-button:last-child {
		grid-column: auto;
	}

	.invi-ap-bottom-cta {
		padding: 23px !important;

		flex-wrap: wrap !important;
	}

	.invi-ap-bottom-title {
		min-width: 0;
	}

	.invi-ap-bottom-title h2 {
		font-size: 31px;
	}

	.invi-ap-bottom-copy {
		max-width: none;
	}

	.invi-ap-bottom-button,
	.invi-ap-bottom-button .wp-block-button,
	.invi-ap-bottom-button .wp-block-button__link {
		width: 100%;
	}
}