/* Birgit Formulare */
.bf{
	--bf-primary:#5971EE;--bf-accent:#DB09C6;--bf-text:#42423F;--bf-bg-light:#ECEEFF;
	max-width:680px;margin:1.5em auto;color:var(--bf-text);
	font-family:inherit;line-height:1.55;
}
.bf *{box-sizing:border-box}
.bf__title{color:var(--bf-primary);font-size:1.45em;margin:0 0 .4em}
.bf__intro{margin:0 0 1.4em;font-size:1.02em}
.bf__hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}

.bf__field{margin:0 0 1.3em}
.bf__label{display:block;font-weight:600;margin-bottom:.35em}
.bf__req{color:var(--bf-accent);margin-left:2px}
.bf__help{margin:.1em 0 .5em;font-size:.9em;opacity:.75}

.bf textarea,.bf input[type="text"],.bf input[type="email"]{
	width:100%;padding:.7em .8em;border:1.5px solid #d9ddf5;border-radius:9px;
	font-size:1em;font-family:inherit;color:var(--bf-text);background:#fff;
	transition:border-color .15s;
}
.bf textarea:focus,.bf input[type="text"]:focus,.bf input[type="email"]:focus{
	outline:none;border-color:var(--bf-primary);
}
.bf textarea{resize:vertical;min-height:70px}

.bf__options{display:flex;flex-direction:column;gap:.5em}
.bf__opt{
	display:flex;align-items:flex-start;gap:.6em;padding:.65em .85em;
	border:1.5px solid #d9ddf5;border-radius:9px;cursor:pointer;background:#fff;
	transition:border-color .15s,background .15s;
}
.bf__opt:hover{border-color:var(--bf-primary);background:var(--bf-bg-light)}
.bf__opt input{margin-top:.2em;accent-color:var(--bf-primary);flex:0 0 auto}
.bf__opt input:checked + span{font-weight:600}
.bf__opt:has(input:checked){border-color:var(--bf-primary);background:var(--bf-bg-light)}

.bf__contact{
	margin:1.8em 0 1.2em;padding:1.3em 1.4em;border-radius:12px;
	background:var(--bf-bg-light);
}
.bf__contact-title{margin:0 0 .9em;color:var(--bf-primary);font-size:1.1em}
.bf__contact .bf__field:last-of-type{margin-bottom:.9em}
.bf__consent{display:flex;align-items:flex-start;gap:.6em;font-size:.9em;cursor:pointer}
.bf__consent input{margin-top:.2em;accent-color:var(--bf-primary);flex:0 0 auto}

.bf__field.has-error textarea,
.bf__field.has-error input,
.bf__field.has-error .bf__opt{border-color:var(--bf-accent)}
.bf__consent.has-error,
.has-error > .bf__consent{color:var(--bf-accent)}

.bf__actions{margin:1.4em 0 .4em}
.bf__btn{
	display:inline-block;background:var(--bf-primary);color:#fff;border:0;
	padding:.85em 1.8em;border-radius:10px;font-size:1.02em;font-weight:600;
	cursor:pointer;font-family:inherit;transition:opacity .15s;text-decoration:none;
}
.bf__btn:hover{opacity:.9;color:#fff}
.bf__btn:disabled{opacity:.6;cursor:default}
.bf__btn--accent{background:var(--bf-accent)}

.bf__msg{margin-top:.8em;font-size:.95em}
.bf__msg--err{color:var(--bf-accent);font-weight:600}

.bf__done{
	padding:1.6em 1.5em;border-radius:12px;background:var(--bf-bg-light);
	text-align:center;font-size:1.08em;
}
.bf__done-inner{margin-bottom:1em}
.bf__meetergo{margin-top:.4em}

.bf-hidden{display:none !important}

.bf--error{
	max-width:680px;margin:1em auto;padding:1em 1.2em;border-radius:9px;
	background:#FFEBEE;border-left:4px solid #C62828;color:#B71C1C;
}
