/* BP Strategie-Check – Frontend (dunkles Seiten-Design, transparenter Hintergrund) */
.bpsc{
	/* Standard = Variablen des Themes; Fallbacks, falls das Theme sie nicht definiert. */
	--bpsc-accent:var(--gold,#EAC66E);--bpsc-accent-hover:color-mix(in srgb,var(--bpsc-accent) 65%,#fff);
	--bpsc-dark:var(--text-primary,#F2EDE4);--bpsc-muted:var(--text-faint,#9e9e9e);
	--bpsc-card:transparent;--bpsc-border:rgba(234,198,110,.14);--bpsc-field:rgba(255,255,255,.03);
	--bpsc-btn-text:var(--black,#0A0A0A);--bpsc-radius:0px;
	--bpsc-heading:var(--serif,'EB Garamond',Georgia,serif);--bpsc-sans:var(--sans,'Geist',system-ui,sans-serif);
	font-family:var(--bpsc-sans);
	box-sizing:border-box;width:100%;max-width:100%;
	background:var(--bpsc-card);color:var(--bpsc-dark);
	font-size:15px;line-height:1.5;text-align:left;
}
.bpsc *,.bpsc *::before,.bpsc *::after{box-sizing:border-box}
.bpsc--boxed{padding:36px 34px 40px;border:1px solid var(--bpsc-border)}
.bpsc--shadow{box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.bpsc [hidden]{display:none!important}
.bpsc .bpsc-form{margin:0;padding:0}
.bpsc .bpsc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Schrittleiste */
.bpsc .bpsc-steps-nav{
	display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0 0 44px;padding:0;
	border-top:1px solid color-mix(in srgb,var(--bpsc-accent) 45%,transparent);
	border-bottom:1px solid var(--bpsc-border);
}
.bpsc .bpsc-nav{border-top-color:var(--bpsc-border)}
.bpsc .bpsc-steps-nav--hidden{display:none}
.bpsc .bpsc-steps-nav li{flex:1 1 0;min-width:0;margin:0;padding:0;list-style:none}
.bpsc .bpsc-steps-nav li::before{content:none}
.bpsc .bpsc-tab{
	display:flex;align-items:baseline;gap:10px;width:100%;margin:0;padding:18px 8px 18px 0;
	background:none;border:0;border-radius:0;box-shadow:none;cursor:pointer;text-align:left;
	font:inherit;color:var(--bpsc-muted);opacity:.55;transition:opacity .25s,color .25s;
}
.bpsc .bpsc-tab:hover,.bpsc .bpsc-tab:focus{background:none}
.bpsc .bpsc-tab:disabled{cursor:default}
.bpsc .bpsc-tab-no{font-family:var(--bpsc-heading);font-size:15px;color:var(--bpsc-accent)}
.bpsc .bpsc-tab-label{font-family:var(--bpsc-sans);font-size:10px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bpsc .bpsc-tab.is-done{opacity:1;color:var(--bpsc-accent)}
.bpsc .bpsc-tab.is-active{opacity:1;color:var(--bpsc-dark)}

/* Schritt */
.bpsc .bpsc-step{border:0;margin:0;padding:0;min-width:0;animation:bpsc-in .35s ease both}
@keyframes bpsc-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bpsc .bpsc-step{animation:none}}

.bpsc .bpsc-title{
	display:block;float:none;width:100%;padding:0;margin:0 0 8px;border:0;
	font-family:var(--bpsc-heading);font-weight:400;font-size:clamp(28px,2.6vw,38px);line-height:1.1;letter-spacing:-.01em;text-transform:none;color:var(--bpsc-dark);
}
.bpsc .bpsc-sub{margin:0 0 34px;font-family:var(--bpsc-sans);font-size:16px;line-height:1.6;color:var(--bpsc-muted)}
.bpsc .bpsc-title:last-child,.bpsc .bpsc-title + .bpsc-field{margin-top:0}
.bpsc .bpsc-step > .bpsc-title + .bpsc-field,.bpsc .bpsc-step > .bpsc-title + .bpsc-row{margin-top:26px}

.bpsc .bpsc-field{margin:0 0 30px}
.bpsc .bpsc-label{display:block;margin:0 0 10px;font-family:var(--bpsc-sans);font-size:10px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--bpsc-muted)}

/* Auswahl-Buttons */
.bpsc .bpsc-chips{display:flex;flex-wrap:wrap;gap:8px}
.bpsc .bpsc-chip{position:relative;margin:0;cursor:pointer}
.bpsc .bpsc-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.bpsc .bpsc-chip span{
	display:block;padding:13px 20px;
	background:var(--bpsc-field);border:1px solid var(--bpsc-border);border-radius:var(--bpsc-radius);
	font-family:var(--bpsc-sans);font-size:15px;font-weight:400;letter-spacing:0;color:var(--bpsc-dark);
	transition:border-color .3s,background .3s,color .3s;
}
.bpsc .bpsc-chip:hover span{border-color:var(--bpsc-accent)}
.bpsc .bpsc-chip input:checked + span{background:var(--bpsc-accent);border-color:var(--bpsc-accent);color:var(--bpsc-btn-text)}
.bpsc .bpsc-chip input:focus-visible + span{outline:1px solid var(--bpsc-accent);outline-offset:3px}

/* Eingabefelder */
.bpsc .bpsc-input,.bpsc .bpsc-select{
	display:block;width:100%;max-width:520px;height:auto;margin:0;padding:15px 18px;
	background-color:var(--bpsc-field);color:var(--bpsc-dark);font-family:var(--bpsc-sans);font-size:16px;line-height:1.4;
	border:1px solid var(--bpsc-border);border-radius:var(--bpsc-radius);box-shadow:none;
	transition:border-color .3s,background-color .3s;
}
.bpsc .bpsc-row .bpsc-input{max-width:none}
.bpsc textarea.bpsc-input{height:auto;padding:14px 16px;max-width:none}
.bpsc .bpsc-select{
	-webkit-appearance:none;appearance:none;padding-right:44px;cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23eac66e' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 18px center;
}
.bpsc .bpsc-select option{background:var(--dark-2,#161616);color:var(--bpsc-dark)}
.bpsc .bpsc-input:focus,.bpsc .bpsc-select:focus{outline:0;border-color:color-mix(in srgb,var(--bpsc-accent) 55%,transparent);background-color:color-mix(in srgb,var(--bpsc-accent) 3%,transparent);box-shadow:none}
.bpsc .bpsc-input:-webkit-autofill{-webkit-text-fill-color:var(--bpsc-dark);box-shadow:0 0 0 60px var(--dark-2,#161616) inset;caret-color:var(--bpsc-dark)}
.bpsc .bpsc-row{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.bpsc .bpsc-step--contact > .bpsc-field .bpsc-input{max-width:none}

/* Einwilligung */
.bpsc .bpsc-consent{display:flex;align-items:flex-start;gap:14px;margin:0;font-family:var(--bpsc-sans);font-size:13px;line-height:1.55;font-weight:400;letter-spacing:normal;text-transform:none;color:var(--bpsc-muted);cursor:pointer}
.bpsc .bpsc-consent input{
	-webkit-appearance:none;appearance:none;flex:0 0 auto;width:20px;height:20px;margin:1px 0 0;padding:0;cursor:pointer;border-radius:0;
	background:var(--bpsc-field);border:1px solid color-mix(in srgb,var(--bpsc-accent) 50%,transparent);transition:background-color .25s,border-color .25s;
}
.bpsc .bpsc-consent input:hover{border-color:var(--bpsc-accent)}
.bpsc .bpsc-consent input:checked{
	border-color:var(--bpsc-accent);background-color:color-mix(in srgb,var(--bpsc-accent) 10%,transparent);
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l4 4 8-8' stroke='%23EAC66E' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:center;background-size:13px;
}
.bpsc .bpsc-consent input:focus-visible{outline:2px solid color-mix(in srgb,var(--bpsc-accent) 70%,transparent);outline-offset:2px}
.bpsc .bpsc-consent a{color:var(--bpsc-accent);text-decoration:underline;text-underline-offset:3px}
.bpsc .bpsc-consent a:hover{color:var(--bpsc-accent-hover)}
.bpsc .bpsc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.bpsc .bpsc-error{margin:0 0 20px;font-size:13px;color:#e0796b}

/* Navigation */
.bpsc .bpsc-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:20px;padding-top:32px;border-top:1px solid var(--bpsc-border)}
.bpsc .bpsc-back,.bpsc .bpsc-next{
	min-height:0;margin:0;padding:18px 50px;cursor:pointer;border-radius:var(--bpsc-radius);box-shadow:none;
	font-family:var(--bpsc-sans);font-size:11px;font-weight:400;line-height:1.4;letter-spacing:.22em;text-transform:uppercase;text-align:center;
	transition:background .3s,border-color .3s,color .3s,opacity .3s,transform .2s;
}
.bpsc .bpsc-back{background:transparent;color:rgba(200,193,183,.8);border:1px solid color-mix(in srgb,var(--bpsc-accent) 35%,transparent);padding:17px 38px}
.bpsc .bpsc-back:hover:not(:disabled){background:transparent;border-color:var(--bpsc-accent);color:var(--bpsc-accent)}
.bpsc .bpsc-back:disabled{visibility:hidden}
.bpsc .bpsc-next{background:var(--bpsc-accent);color:var(--bpsc-btn-text);border:0;margin-left:auto}
.bpsc .bpsc-next:hover:not(:disabled){background:var(--bpsc-accent-hover);color:var(--bpsc-btn-text);transform:translateY(-2px)}
.bpsc .bpsc-next:disabled{opacity:.5;cursor:default}

/* Erfolg */
.bpsc .bpsc-success{padding:10px 0;outline:0}
.bpsc .bpsc-success .bpsc-title{margin-bottom:14px}
.bpsc .bpsc-success p{margin:0;max-width:620px;font-family:var(--bpsc-sans);font-size:18px;line-height:1.8;color:var(--text-muted,#c8c8c8)}
.bpsc .bpsc-success-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:24px;border:1px solid var(--bpsc-accent);color:var(--bpsc-accent);font-size:20px}

@media (max-width:640px){
	.bpsc--boxed{padding:26px 20px 30px}
	.bpsc .bpsc-title{font-size:26px}
	.bpsc .bpsc-row{grid-template-columns:1fr}
	.bpsc .bpsc-tab-label{display:none}
	.bpsc .bpsc-tab.is-active .bpsc-tab-label{display:block}
	.bpsc .bpsc-steps-nav li{flex:0 0 auto;margin-right:18px}
	.bpsc .bpsc-steps-nav{margin-bottom:32px}
	.bpsc .bpsc-back{padding:17px 24px}.bpsc .bpsc-next{padding:18px 32px}
	.bpsc .bpsc-chip span{padding:10px 14px}
}
