.ewa {
	--ewa-ink: var(--wp--preset--color--contrast, #1A1C1E);
	--ewa-bg: var(--wp--preset--color--base, #FBFBFA);
	--ewa-line: var(--wp--preset--color--border-strong, #C9C7C3);
	--ewa-muted: var(--wp--preset--color--text-subtle, #4D5257);
	--ewa-accent: var(--wp--preset--color--accent, #E2622B);
	--ewa-err: #B3261E;
	display: flex; flex-direction: column; gap: 22px;
	color: var(--ewa-ink); font-size: 16px;
}
.ewa fieldset { margin: 0; padding: 0; border: 0; }
.ewa legend { padding: 0 0 12px; font-size: 15px; font-weight: 700; }
.ewa-kind-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: 8px; }
.ewa-kind { position: relative; display: block; cursor: pointer; }
.ewa-kind input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.ewa-kind span {
	display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 16px;
	border: 1px solid var(--ewa-line); border-radius: 14px; background: var(--ewa-bg);
	font-weight: 600; text-align: center;
}
.ewa-kind input:checked + span { background: var(--ewa-ink); color: var(--ewa-bg); border-color: var(--ewa-ink); }
.ewa-kind input:focus-visible + span { outline: 3px solid var(--ewa-accent); outline-offset: 2px; }

.ewa-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.ewa-field { display: flex; flex-direction: column; gap: 8px; font-size: 15px; font-weight: 600; }
.ewa input[type="text"], .ewa input[type="email"], .ewa input[type="tel"], .ewa input[type="number"],
.ewa input[type="date"], .ewa input[type="file"], .ewa select, .ewa textarea {
	width: 100%; box-sizing: border-box; min-height: 52px; padding: 12px 16px;
	border: 1px solid var(--ewa-line); border-radius: 14px; background: var(--ewa-bg);
	font: inherit; font-size: 16px; font-weight: 400; color: var(--ewa-ink);
}
.ewa textarea { min-height: 140px; resize: vertical; }
.ewa input:focus, .ewa select:focus, .ewa textarea:focus { outline: 3px solid var(--ewa-accent); outline-offset: 1px; }
.ewa [aria-invalid="true"] { border-color: var(--ewa-err); }
.ewa-hint { font-size: 13px; font-weight: 400; color: var(--ewa-muted); }
.ewa-err { font-size: 14px; font-weight: 600; color: var(--ewa-err); }
.ewa-alert { margin: 0; padding: 14px 18px; border-radius: 14px; background: #FCE8E4; color: #7A1F12; font-weight: 600; }
.ewa-consent { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.5; color: var(--wp--preset--color--text-muted, #3A3F43); }
.ewa-consent input { width: 22px; height: 22px; margin: 0; flex: none; accent-color: var(--ewa-accent); }
.ewa-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ewa-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 58px; padding: 0 30px;
	border: 0; border-radius: 999px; background: var(--ewa-ink); color: var(--ewa-bg);
	font: inherit; font-size: 17px; font-weight: 700; cursor: pointer; text-decoration: none;
}
.ewa-btn:hover { background: #33373B; color: var(--ewa-bg); }
.ewa-btn-outline { min-height: 48px; background: transparent; color: var(--ewa-ink); border: 1px solid var(--ewa-line); font-size: 16px; }
.ewa-btn-outline:hover { background: var(--wp--preset--color--surface, #EDECEA); color: var(--ewa-ink); }

/* Mit JS: nur passende Felder je Anfrageart zeigen */
.ewa.js [data-show]:not(.is-on) { display: none; }

.ewa-done { padding: 24px 0; }
.ewa-check { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 999px; background: var(--ewa-accent); color: var(--ewa-ink); }
.ewa-done-title { margin: 0; font-size: 32px; }
.ewa-done p { margin: 0; color: var(--wp--preset--color--text-muted, #3A3F43); }
