/*
Theme Name: NixFertig Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: NixFertig
Description: Child theme of Twenty Twenty-Five.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nixfertig-child
*/

:root {
	--nf-color-primary: #FF9700;
	--nf-color-white: #ffffff;
	--nf-color-neutral-50: #F6F6F6;
	--nf-color-neutral-200: #D9D9D9;
	--nf-color-neutral-800: #222222;
	--nf-color-neutral-900: #1A1A1A;
	--nf-color-neutral-black: #000000;
	--nf-color-blue: #0088FF;
	--nf-color-green: #8BDB9F;
	--nf-color-purple: #6155F5;
}

body {
	font-family: Montserrat;
}

.wp-block-button .wp-block-button__link {
	display: flex;
	padding: 16px 32px;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	background: var(--nf-color-neutral-black);
	color: var(--nf-color-white);
	font-family: Montserrat;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
}

.nixfertig-header-logo {
	display: inline-flex;
	align-items: center;
}

.nixfertig-header-logo img {
	display: block;
	width: 214px;
	height: 32px;
	max-width: 100%;
	aspect-ratio: 214 / 32;
	flex-shrink: 0;
}

@media (max-width: 767px) {
	header.wp-block-template-part > div {
		padding-bottom: 25px!important;
	}

	header.wp-block-template-part .wp-block-group {
		flex-direction: column;
	}
}

main.wp-block-group {
	margin-top: 0 !important;
	background-color: #000;
}

.swiper-slide {
	border-radius: 24px;
	border: 2px solid #1A1A1A;
}

.wp-block-evb-slider .evssSlider > div {
	padding-bottom: 120px !important;
}

.wp-block-evb-slider .swiper.page-bottom .swiper-pagination {
	bottom: 25px;
}

h1 {
	font-size: 56px;
}

h2 {
	font-size: 48px;
}

h3 {
	font-size: 40px;
}

h4 {
	font-size: 32px;
}

@media (max-width: 767px) {
	h1 {
		font-size: 48px;
	}

	h2 {
		font-size: 40px;
	}

	h3 {
		font-size: 32px;
	}

	h4 {
		font-size: 24px;
	}
}

@media (min-width: 768px) {
	.faq-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-rows: auto auto auto;
		grid-template-areas:
        "c1 c2 c3"
        "c1 c5 c3"
        "c4 c5 c6";
		gap: var(--wp--preset--spacing--30, 24px);
		align-items: stretch;
	}

	.faq-grid .card-1 {
		grid-area: c1;
	}

	.faq-grid .card-2 {
		grid-area: c2;
	}

	.faq-grid .card-3 {
		grid-area: c3;
	}

	.faq-grid .card-4 {
		grid-area: c4;
	}

	.faq-grid .card-5 {
		grid-area: c5;
	}

	.faq-grid .card-6 {
		grid-area: c6;
	}
}

@media (max-width: 767px) {
	.faq-grid {
		grid-template-columns: 1fr;
	}

	.faq-grid .card-2 > div {
		padding-bottom: 30px!important;
	}

	.faq-grid .card-3 > div {
		padding-top: 30px!important;
	}
}


.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

.wp-block-accordion-heading__toggle .wp-block-accordion-heading__toggle-title {
	color: #000;
	font-family: Montserrat;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: 28px; /* 116.667% */
}

.wp-block-accordion-heading__toggle-icon {
	color: var(--nf-color-primary);
}

footer.wp-block-template-part {
	margin-top: 0;
}

.nixfertig-footer-tagline {
	color: #FFF;
	font-family: Montserrat;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
}

.nixfertig-footer-nav {
	justify-content: flex-end;
}

.nixfertig-footer-nav .wp-block-navigation__container {
	justify-content: flex-end;
}

.nixfertig-footer-nav a.wp-block-navigation-item__content {
	color: #FFF;
	text-align: right;
	font-family: Montserrat;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.nixfertig-footer-copyright {
	color: #FFF;
	font-family: Montserrat;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	margin-top: 50px;
}


.breakout-wrapper {
	position: relative;
	overflow: hidden;      /* schneidet unten ab */
	padding-top: 80px;     /* reserviert Platz oben, aber OHNE Hintergrund */
}

.breakout-group {
	position: relative;
	/* Hintergrundfarbe bleibt hier unverändert wie bisher */
}

.breakout-image-col {
	position: relative;
	@media (max-width: 767px) {
		display: none;
	}
}

.breakout-image-col img {
	position: absolute;
	top: -125px;
	right: 0;
	width: 100%;
	height: auto;
	z-index: 2;
}

.col-text-bottom {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;   /* NICHT align-self/align-items */
}

.col-content-row {
	flex-direction: row;
	display: flex;
	align-items: center;
	gap: 5px;

	@media (max-width: 767px) {
		margin-bottom: 25px!important;
	}
}

.col-content-row img {
	width: 48px !important;
	height: 48px !important;
	object-fit: contain;
	aspect-ratio: 1 / 1;
}

.col-content-row p {
	color: #000;
	font-family: Montserrat;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: 130%; /* 20.8px */
	margin-top: 0;
	@media (min-width: 768px) {
		width: 60%;
	}
}


@media (min-width: 768px) {
	.nix-scroll-element .stack-card {
		position: sticky;
		top: 0;
		background: var(--nf-color-neutral-50, #F6F6F6);
		border-radius: 24px;
		z-index: 1;
	}
}

@media (max-width: 767px) {
	.nix-scroll-element .stack-card {
		gap: 0;
	}

	.nix-scroll-element .stack-card:not(:first-of-type) > div:first-of-type {
		border: none;
		border-radius: 24px  24px 0 0!important;
	}
	.nix-scroll-element .stack-card:not(:first-of-type) > div:last-of-type img {
		border: none;
		border-radius:  0 0 24px  24px!important;
	}
}

.nix-scroll-element .stack-card:nth-of-type(1) { z-index: 1; }
.nix-scroll-element .stack-card:nth-of-type(2) { z-index: 2; }
.nix-scroll-element .stack-card:nth-of-type(3) { z-index: 3; }
.nix-scroll-element .stack-card:nth-of-type(4) { z-index: 4; }


@media (max-width: 767px) {
	footer.wp-block-template-part .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
		text-align: center;
	}

	footer.wp-block-template-part .nixfertig-footer-nav {
		align-items: center;
	}

	footer.wp-block-template-part .nixfertig-footer-nav ul {
		align-items: center;
	}

	.has-global-padding > .alignfull {
		margin-top: -1px!important;
	}
}

@media (min-width: 768px) {
	.wp-block-evb-slider .swiper-pagination-bullet {
		width: 76px!important;
		height: 4px!important;
	}

	#evssSlider-3 .swiper-pagination .swiper-pagination-bullet {
		border-radius: 0 !important;

	}

	#evssSlider-3 .swiper-pagination {
		gap: 0!important;
	}
}

#evssSlider-3 .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: var(--nf-color-primary) !important;
}


.wpcf7-form-grid {
	display: flex;
	width: 720px;
	max-width: 100%;
	padding: 64px;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
	border-radius: 16px;
	background: #FFF;
	box-shadow: 0 16px 32px 0 rgba(0, 0, 0, 0.10);
	box-sizing: border-box;
	margin: 0 auto;
}

.wpcf7-form-grid p {
	width: 100%;
	margin: 0;
}

/* Vorname / Nachname nebeneinander */
.form-row-half {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	width: 100%;
}

@media (max-width: 767px) {
	.wpcf7-form-grid {
		padding: 32px;
		width: 100%;
	}

	.form-row-half {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* Label */
.wpcf7-form-grid label {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
	color: #000;
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 700;
	line-height: 24px;

}

/* Input-Felder (text/email) */
.wpcf7-form-grid input.wpcf7-form-control:not(.wpcf7-submit) {
	display: flex;
	height: 56px;
	width: 100%;
	padding: 0 20px;
	align-items: center;
	border-radius: 8px;
	background: #F5F5F5;
	border: none;
	box-sizing: border-box;
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-weight: 400;
}

/* Textarea */
.wpcf7-form-grid textarea.wpcf7-form-control {
	display: flex;
	height: 160px;
	width: 100%;
	padding: 20px;
	align-items: flex-start;
	border-radius: 8px;
	background: #F5F5F5;
	border: none;
	box-sizing: border-box;
	font-family: Montserrat, sans-serif;
	font-size: 14px;
	font-weight: 400;
	resize: none;
}

/* Button */
.wpcf7-form-grid input.wpcf7-submit {
	display: flex;
	height: 64px;
	width: 100%;
	padding: 0 32px;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	background: #F79C02;
	border: none;
	cursor: pointer;
	color: #FFF;
	font-family: Montserrat, sans-serif;
	font-size: 16px;
	font-weight: 700;
}

.wpcf7-form-grid input.wpcf7-submit:hover {
	background: #e08c00;
}

/* Subtext unter dem Button */
.wpcf7-form-grid p.form-privacy-note {
	color: #666;
	text-align: center;
	font-family: Montserrat, sans-serif;
	font-size: 14px !important;
	font-style: normal;
	font-weight: 400;
	line-height: 22px;
	margin-top: -32px;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2;
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	display: block;
	border-color: var(--nf-color-green);
	border-radius: 24px;
	padding: 15px;
}