/* INVI Campus
 * Gemeinsame globale Regeln.
 * Seiteneigene Variablen und Regeln bleiben in den jeweiligen Seiten-Dateien.
 */


/* =========================================================
   FOOTER – HAUPTLAYOUT
   ========================================================= */

.invi-footer-main {
	display: grid !important;

	grid-template-columns:
		minmax(240px, 0.75fr)
		minmax(390px, 1fr)
		auto !important;

	align-items: center !important;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;

	column-gap: 26px !important;
}


/* =========================================================
   FOOTER – BRAND
   ========================================================= */

.invi-footer-brand {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;

	gap: 18px !important;

	margin: 0 !important;
}

.invi-footer-brand-copy {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: center !important;

	gap: 10px !important;

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

.invi-footer-brand p,
.invi-footer-brand-copy p {
	margin: 0 !important;
}


/* =========================================================
   FOOTER – SOCIAL MEDIA
   ========================================================= */

.invi-footer-social {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;

	gap: 8px !important;

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

	list-style: none !important;
}

.invi-footer-social .wp-social-link {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 30px !important;
	height: 30px !important;

	margin: 0 !important;

	background: #FFFFFF !important;
	color: #06038D !important;

	border: 1px solid #DCE6F3 !important;
	border-radius: 999px !important;

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		transform 0.2s ease !important;
}

.invi-footer-social .wp-social-link a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 100% !important;
	height: 100% !important;

	padding: 6px !important;

	color: #06038D !important;
}

.invi-footer-social .wp-social-link svg {
	width: 16px !important;
	height: 16px !important;

	fill: currentColor !important;
}

.invi-footer-social .wp-social-link:hover {
	background: #06038D !important;
	border-color: #06038D !important;

	transform: translateY(-1px);
}

.invi-footer-social .wp-social-link:hover a {
	color: #FFFFFF !important;
}

.invi-footer-social .wp-social-link:focus-within {
	outline: 2px solid #06038D !important;
	outline-offset: 3px !important;
}


/* =========================================================
   FOOTER – KONTAKT
   ========================================================= */

.invi-footer-contact {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-wrap: nowrap !important;

	gap: 20px !important;

	margin: 0 !important;
}

.invi-footer-contact p {
	margin: 0 !important;

	font-size: 14px !important;
	line-height: 1.4 !important;

	white-space: nowrap !important;
}

.invi-footer-contact a {
	text-decoration: none !important;
}

.invi-footer-contact a:hover {
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}


/* =========================================================
   FOOTER – RECHTLICHES
   ========================================================= */

.invi-footer-legal {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;

	gap: 14px !important;

	margin: 0 !important;
}

.invi-footer-legal p {
	margin: 0 !important;

	font-size: 13px !important;
	line-height: 1.4 !important;

	white-space: nowrap !important;
}

.invi-footer-legal p a {
	text-decoration: none !important;
}

.invi-footer-legal p a:hover {
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
}


/* =========================================================
   FOOTER – WIDERRUF BUTTON
   ========================================================= */

.invi-footer-withdraw-wrap {
	display: flex !important;

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

	flex-shrink: 0 !important;
}

.invi-footer-withdraw {
	margin: 0 !important;
}

.invi-footer-withdraw .wp-block-button__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	background: #06038D !important;
	color: #FFFFFF !important;

	border: 1px solid #06038D !important;
	border-radius: 999px !important;

	padding: 9px 17px !important;

	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;

	white-space: nowrap !important;
	text-decoration: none !important;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease !important;
}

.invi-footer-withdraw .wp-block-button__link:hover {
	background: #04026F !important;
	color: #FFFFFF !important;

	transform: translateY(-1px);
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1180px) {

	.invi-footer-main {
		grid-template-columns: 1fr 1fr !important;

		row-gap: 24px !important;
		column-gap: 30px !important;
	}

	.invi-footer-brand {
		justify-self: start !important;
	}

	.invi-footer-contact {
		justify-self: end !important;
		justify-content: flex-end !important;
	}

	.invi-footer-legal {
		grid-column: 1 / -1 !important;

		justify-self: start !important;
		justify-content: flex-start !important;

		flex-wrap: wrap !important;
	}

}


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

@media (max-width: 782px) {

	.invi-footer-main {
		grid-template-columns: 1fr !important;

		row-gap: 26px !important;
	}

	.invi-footer-brand,
	.invi-footer-contact,
	.invi-footer-legal {
		justify-self: start !important;
	}

	.invi-footer-contact {
		flex-wrap: wrap !important;
		justify-content: flex-start !important;

		gap: 10px 18px !important;
	}

	.invi-footer-legal {
		grid-column: auto !important;

		flex-wrap: wrap !important;
		justify-content: flex-start !important;

		gap: 12px 16px !important;
	}

}


/* =========================================================
   KLEINE MOBILE DISPLAYS
   ========================================================= */

@media (max-width: 480px) {

	.invi-footer-brand {
		align-items: flex-start !important;
	}

	.invi-footer-brand-copy {
		padding-top: 2px !important;
	}

	.invi-footer-contact {
		flex-direction: column !important;
		align-items: flex-start !important;

		gap: 8px !important;
	}

	.invi-footer-legal {
		align-items: flex-start !important;
	}

	.invi-footer-withdraw-wrap {
		width: 100% !important;

		margin-top: 4px !important;
	}

}