/* FassadenPur Lead-Quiz – Frontend */

.fpq{
	--fpq-primary:#5fae34;
	--fpq-primary-dark:#4f9a2a;
	--fpq-ink:#1f2937;
	--fpq-muted:#6b7280;
	--fpq-line:#e5e7eb;
	--fpq-bg:#ffffff;
	--fpq-radius:18px;
	--fpq-shadow:0 18px 50px rgba(0,0,0,.10),0 6px 16px rgba(0,0,0,.06);

	max-width:640px;
	margin:0 auto;
	box-sizing:border-box;
	font-family:inherit;
	color:var(--fpq-ink);
	line-height:1.5;
}
.fpq *,.fpq *::before,.fpq *::after{ box-sizing:border-box; }

.fpq-loading{ padding:40px; text-align:center; color:var(--fpq-muted); }

/* Card */
.fpq-card{
	background:var(--fpq-bg);
	border:1px solid var(--fpq-line);
	border-radius:var(--fpq-radius);
	box-shadow:var(--fpq-shadow);
	padding:28px;
	overflow:hidden;
}
@media (min-width:600px){ .fpq-card{ padding:36px 40px; } }

/* Fortschritt */
.fpq-progress{ margin-bottom:22px; }
.fpq-progress-top{
	display:flex; justify-content:space-between; align-items:center;
	font-size:13px; color:var(--fpq-muted); margin-bottom:8px;
}
.fpq-progress-bar{
	height:8px; border-radius:999px; background:var(--fpq-line); overflow:hidden;
}
.fpq-progress-fill{
	height:100%; width:0; border-radius:999px;
	background:var(--fpq-primary);
	transition:width .35s cubic-bezier(.4,0,.2,1);
}

/* Intro */
.fpq-intro-title,.fpq-step-title,.fpq-success-title{
	font-size:23px; font-weight:800; margin:0 0 6px; line-height:1.25; letter-spacing:-.01em;
}
.fpq-intro-text{ color:var(--fpq-muted); margin:0 0 22px; }

/* Steps */
.fpq-step{ animation:fpq-in .28s ease; }
@keyframes fpq-in{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }
.fpq-step-title{ margin-bottom:18px; }

/* Auswahl-Kacheln */
.fpq-options{ display:grid; gap:12px; }
.fpq-option{
	display:flex; align-items:center; gap:14px;
	width:100%; text-align:left;
	padding:16px 18px;
	background:#fff;
	border:2px solid var(--fpq-line);
	border-radius:14px;
	font-size:16px; font-weight:600; color:var(--fpq-ink);
	cursor:pointer;
	transition:border-color .15s,background .15s,transform .08s,box-shadow .15s;
}
.fpq-option:hover{ border-color:var(--fpq-primary); background:rgba(95,174,52,.05); }
.fpq-option:active{ transform:scale(.99); }
.fpq-option .fpq-radio{
	flex:0 0 auto; width:22px; height:22px; border-radius:50%;
	border:2px solid var(--fpq-line); position:relative; transition:border-color .15s;
}
.fpq-option.is-selected{
	border-color:var(--fpq-primary);
	background:rgba(95,174,52,.08);
	box-shadow:0 0 0 3px rgba(95,174,52,.12);
}
.fpq-option.is-selected .fpq-radio{ border-color:var(--fpq-primary); }
.fpq-option.is-selected .fpq-radio::after{
	content:""; position:absolute; inset:4px; border-radius:50%; background:var(--fpq-primary);
}

/* Eingabefelder */
.fpq-field{ margin-bottom:20px; }
.fpq-field label{ display:block; font-weight:600; font-size:14px; margin-bottom:9px; color:var(--fpq-ink); }
/* !important + .fpq-Präfix: überschreibt Theme-/Divi-Input-Styles */
.fpq .fpq-input{
	box-sizing:border-box !important;
	width:100% !important;
	height:auto !important;
	padding:18px 22px !important;
	margin:0 !important;
	border:2px solid var(--fpq-line) !important;
	border-radius:14px !important;
	font-size:16px !important;
	line-height:1.4 !important;
	font-family:inherit !important;
	color:var(--fpq-ink) !important;
	background:#f9fafb !important;
	box-shadow:none !important;
	transition:border-color .15s,box-shadow .15s,background .15s !important;
}
.fpq .fpq-input::placeholder{ color:#9ca3af !important; }
.fpq .fpq-input:hover{ border-color:#d1d5db !important; }
.fpq .fpq-input:focus{
	outline:none !important; border-color:var(--fpq-primary) !important; background:#fff !important;
	box-shadow:0 0 0 4px rgba(95,174,52,.15) !important;
}
.fpq .fpq-input.fpq-invalid{ border-color:#e23b3b !important; background:#fff !important; box-shadow:0 0 0 4px rgba(226,59,59,.12) !important; }

/* Consent */
.fpq-consent{ display:flex; gap:11px; align-items:flex-start; font-size:14px; line-height:1.55; color:var(--fpq-muted); margin-top:10px; }
.fpq-consent input{ margin-top:3px; width:18px; height:18px; flex:0 0 auto; accent-color:var(--fpq-primary); }
.fpq-consent a{ color:var(--fpq-primary-dark); }

/* Fehlermeldung */
.fpq-error{
	display:none; margin-top:14px; padding:11px 14px;
	background:#fdecec; color:#b42323; border-radius:10px; font-size:14px;
}
.fpq-error.is-visible{ display:block; }

/* Navigation */
.fpq-nav{ display:flex; gap:12px; align-items:center; margin-top:24px; }
.fpq-btn{
	appearance:none; border:none; cursor:pointer;
	font-family:inherit; font-size:16px; font-weight:700;
	padding:14px 26px; border-radius:999px;
	transition:background .15s,transform .08s,opacity .15s;
}
.fpq-btn:active{ transform:translateY(1px); }
.fpq-next,.fpq-submit{
	background:var(--fpq-primary); color:#fff; margin-left:auto;
	box-shadow:0 8px 20px rgba(95,174,52,.30);
}
.fpq-next:hover,.fpq-submit:hover{ background:var(--fpq-primary-dark); }
.fpq-back{
	background:transparent; color:var(--fpq-muted);
	padding:14px 10px;
}
.fpq-back:hover{ color:var(--fpq-ink); }
.fpq-btn[disabled]{ opacity:.6; cursor:default; }

/* Erfolg */
.fpq-success{ text-align:center; padding:18px 6px; animation:fpq-in .3s ease; }
.fpq-success-check{
	width:74px; height:74px; margin:0 auto 18px; border-radius:50%;
	background:rgba(95,174,52,.12); display:flex; align-items:center; justify-content:center;
}
.fpq-success-check svg{ width:38px; height:38px; color:var(--fpq-primary); }
.fpq-success-text{ color:var(--fpq-muted); max-width:420px; margin:0 auto; }

/* Mobile */
@media (max-width:480px){
	.fpq-card{ padding:22px 18px; }
	.fpq-intro-title,.fpq-step-title,.fpq-success-title{ font-size:20px; }
	.fpq-btn{ padding:13px 20px; font-size:15px; }
	.fpq-option{ padding:14px 15px; font-size:15px; }
}
