/* Nur Plugin-Komponenten. Ohne JavaScript sind alle Inhalte sofort sichtbar. */
.ejb-form-panel { --ejb-ink:#202c55; --ejb-yellow:#ffcf4d; color:var(--ejb-ink); background:#fff; border:1px solid #dce3ed; border-radius:18px; padding:clamp(22px,4vw,44px); box-shadow:0 12px 38px rgb(32 44 85 / 5%); }
.ejb-form-panel h2 { font-size:clamp(26px,4vw,36px); line-height:1.2; margin:10px 0 16px; color:var(--ejb-ink); }
.ejb-form-panel h3 { color:var(--ejb-ink); font-size:21px; }
.ejb-kicker { font-size:12px; font-weight:700; letter-spacing:.08em; }
.ejb-form-heading { margin-bottom:28px; }
.ejb-form-heading p { line-height:1.7; }
.ejb-suggestion-form .ejb-field { padding:0; margin:0 0 24px; }
.ejb-field label { display:block; color:var(--ejb-ink); font-size:16px; font-weight:700; line-height:1.5; margin-bottom:9px; }
.ejb-field label span,.ejb-more summary span { font-weight:400; font-size:13px; }
.ejb-field input,.ejb-field select,.ejb-field textarea { display:block; width:100%; max-width:100%; box-sizing:border-box; min-height:50px; border:1px solid #aeb9ca; border-radius:8px; padding:13px 14px; color:var(--ejb-ink); background:#fff; font:inherit; font-size:16px; line-height:1.5; }
.ejb-field textarea { min-height:180px; resize:vertical; }
.ejb-field input::placeholder,.ejb-field textarea::placeholder { color:#667188; opacity:1; }
.ejb-field :is(input,textarea,select):focus-visible,.ejb-more summary:focus-visible,.ejb-submit:focus-visible { outline:3px solid #b27b00; outline-offset:3px; }
.ejb-field small { display:block; font-size:13px; line-height:1.6; margin-top:8px; color:#4e5a73; }
.ejb-form-grid { display:grid; grid-template-columns:1fr 1fr; column-gap:22px; }
.ejb-more { border-top:1px solid #dce3ed; border-bottom:1px solid #dce3ed; padding:14px 0; margin-bottom:24px; }
.ejb-more summary { cursor:pointer; font-weight:700; min-height:32px; line-height:1.8; }
.ejb-more[open] summary { margin-bottom:18px; }
.ejb-more .ejb-field:last-child { margin-bottom:8px; }
.ejb-privacy-note { background:#f3f5f9; border-left:3px solid #ffcf4d; border-radius:8px; padding:20px; margin:4px 0 24px; font-size:14px; line-height:1.7; }
.ejb-privacy-note p { padding-bottom:0; margin:8px 0 0; }
.ejb-submit { cursor:pointer; border:1px solid #e5b32d; border-radius:8px; padding:15px 22px; min-height:52px; background:var(--ejb-yellow); color:var(--ejb-ink); font:inherit; font-size:16px; font-weight:700; text-align:left; transition:background-color 160ms,box-shadow 160ms; }
.ejb-submit:hover { background:#ffdc7d; box-shadow:0 4px 14px rgb(32 44 85 / 10%); }
.ejb-submit span { display:inline-block; margin-left:12px; }
.ejb-form-footnote { margin:14px 0 0; font-size:12px; color:#4e5a73; line-height:1.7; }
.ejb-notice { border:1px solid #c4cede; border-left:4px solid #202c55; border-radius:10px; background:#f3f5f9; padding:22px; margin-bottom:24px; line-height:1.7; }
.ejb-error { border-left-color:#a32d35; background:#fff5f5; }
.ejb-error ul { margin:12px 0; padding-left:22px; }
.ejb-success { border-left-color:#2d684c; background:#f2faf5; }
.ejb-honey { position:absolute !important; left:-10000px !important; width:1px; height:1px; overflow:hidden; }
/* Motion ist nur nach aktiver JS-Prüfung vorhanden, nie als Grundzustand. */
.ejb-motion-card { transition:transform 180ms ease,box-shadow 180ms ease; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .ejb-motion-card:hover { transform:translateY(-2px); box-shadow:0 9px 24px rgb(32 44 85 / 8%); }
}
.ejb-motion-pending { opacity:0; transform:translateY(10px); }
.ejb-motion-visible { animation:ejb-rise var(--ejb-motion-duration,400ms) ease-out both; }
@keyframes ejb-rise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:640px) { .ejb-form-grid { grid-template-columns:1fr; } .ejb-submit { width:100%; } }
@media (prefers-reduced-motion:reduce) {
  .ejb-motion-pending,.ejb-motion-visible { opacity:1 !important; transform:none !important; animation:none !important; }
  .ejb-motion-card,.ejb-submit { transition:none !important; }
}
