/* JE Anfrageformular, sitemweit, 19.09.2026 */
:root{ --je-error:#8c2f22; }
.je-page .je-contact-form,.je-home .je-contact-form{margin-top:48px;text-align:left;}
.je-page .je-contact-form .ff-el-group,.je-home .je-contact-form .ff-el-group{margin-bottom:22px;}
.je-page .je-contact-form .ff-el-input--label label,.je-home .je-contact-form .ff-el-input--label label{font-family:var(--je-font-body);font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600;color:var(--je-text);}
.je-page .je-contact-form .ff-el-form-control,.je-home .je-contact-form .ff-el-form-control{width:100%;border:1px solid var(--je-border);border-radius:0;background:var(--je-bg);padding:13px 16px;font-family:var(--je-font-body);font-size:15px;color:var(--je-text);box-shadow:none;transition:border-color .2s ease;}
.je-page .je-contact-form .ff-el-form-control:focus,.je-home .je-contact-form .ff-el-form-control:focus{border-color:var(--je-text);}
.je-page .je-contact-form select.ff-el-form-control,.je-home .je-contact-form select.ff-el-form-control{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231c1c1a' stroke-width='1.4' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;}
.je-page .je-contact-form .ff-btn-submit,.je-home .je-contact-form .ff-btn-submit{min-height:48px;padding:14px 30px;background:var(--je-sage) !important;color:var(--je-on-sage) !important;font-family:var(--je-font-body);font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;border:1px solid var(--je-sage) !important;border-radius:0 !important;transition:background .25s ease,border-color .25s ease;}
.je-page .je-contact-form .ff-btn-submit:hover,.je-home .je-contact-form .ff-btn-submit:hover{background:var(--je-sage-dark) !important;border-color:var(--je-sage-dark) !important;}
.je-page .je-contact-form .ff_submit_btn_wrapper,.je-home .je-contact-form .ff_submit_btn_wrapper{text-align:center;margin-top:8px;}
.je-page .je-contact-form .ff-message-success,.je-home .je-contact-form .ff-message-success{border:1px solid var(--je-sage);background:var(--je-bg-alt);padding:20px;font-family:var(--je-font-body);text-align:center;color:var(--je-text);}
.je-page .je-contact-form .ff-el-is-required label:after,.je-home .je-contact-form .ff-el-is-required label:after{color:var(--je-error);margin-left:4px;font-weight:700;}
.je-page .je-contact-form .je-form-legend,.je-home .je-contact-form .je-form-legend{font-family:var(--je-font-body);font-size:13px;color:var(--je-text-muted);margin:0 0 20px;}
.je-page .je-contact-form .ff-el-form-control.ff-el-is-error,.je-home .je-contact-form .ff-el-form-control.ff-el-is-error{border-color:var(--je-error);border-width:2px;background:#fbf6f5;}
.je-page .je-contact-form .text-danger,.je-home .je-contact-form .text-danger{color:var(--je-error);font-family:var(--je-font-body);font-size:13px;font-weight:600;margin-top:6px;display:block;}
.je-page .je-contact-form .error,.je-home .je-contact-form .error{color:var(--je-error);font-family:var(--je-font-body);font-size:13px;}
.je-page .je-contact-form .ff-el-is-error .ff-el-input--label label,.je-home .je-contact-form .ff-el-is-error .ff-el-input--label label{color:var(--je-error);}
.je-page .je-contact-form .ff-el-group.ff-el-form-check label,.je-home .je-contact-form .ff-el-group.ff-el-form-check label{text-transform:none;letter-spacing:0;font-size:14px;font-weight:400;color:var(--je-text-muted);line-height:1.6;}
.je-page .je-contact-form .ff-el-form-check-input,.je-home .je-contact-form .ff-el-form-check-input{width:20px;height:20px;accent-color:var(--je-sage-dark);margin-right:10px;}
.je-page .je-contact-form .ff-el-form-check,.je-home .je-contact-form .ff-el-form-check{display:flex;align-items:flex-start;gap:4px;min-height:44px;}
.je-page .je-contact-form .ff-custom_html a,.je-home .je-contact-form .ff-custom_html a{color:var(--je-text);text-decoration:underline;text-underline-offset:3px;}

/* je-check-label-gap: Abstand unter der Ueberschrift bei Checkbox-/Radio-Gruppen */
.fluentform .ff-el-group:has(.ff-el-form-check-input) > .ff-el-input--label{display:block;margin-bottom:28px;}

/* Danke-Popup nach Absenden der Anfrage */
.je-thanks{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(28,28,26,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .22s ease;font-family:var(--je-font-body);}
.je-thanks[hidden]{display:none;}
.je-thanks.is-visible{opacity:1;}
.je-thanks-card{width:100%;max-width:440px;background:var(--je-bg-alt,#fff);border:1px solid var(--je-border,#dddad3);padding:52px 36px 44px;text-align:center;outline:none;box-shadow:0 24px 60px rgba(28,28,26,.18);transform:translateY(12px) scale(.98);transition:transform .28s var(--je-ease-out,ease);}
.je-thanks.is-visible .je-thanks-card{transform:none;}
.je-thanks-icon{width:60px;height:60px;margin:0 auto 26px;border:1px solid var(--je-sage,#b2b8ac);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--je-text,#1c1c1a);background:var(--je-bg,#f2f1ee);}
.je-thanks-icon svg{width:26px;height:26px;}
.je-thanks-card h2{font-family:var(--je-font-display);font-weight:400;font-size:clamp(24px,5vw,30px);line-height:1.25;letter-spacing:.3px;margin:0 0 14px;color:var(--je-text,#1c1c1a);}
.je-thanks-card p{margin:0 0 32px;color:var(--je-text-muted,#6b6b67);font-family:var(--je-font-body);font-size:16px;font-weight:300;line-height:1.7;}
.je-thanks-close{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 34px;background:var(--je-sage,#b2b8ac);color:var(--je-on-sage,#1c1c1a);font-family:var(--je-font-body);font-size:12px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;border:1px solid var(--je-sage,#b2b8ac);border-radius:0;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform 120ms var(--je-ease-out,ease);}
.je-thanks-close:hover{background:var(--je-sage-dark,#8f968a);border-color:var(--je-sage-dark,#8f968a);}
.je-thanks-close:active{transform:scale(.97);}
.je-thanks-close:focus-visible{outline:2px solid var(--je-text,#1c1c1a);outline-offset:3px;}
.je-thanks-open{overflow:hidden;}
@media (prefers-reduced-motion:reduce){.je-thanks,.je-thanks-card,.je-thanks-close{transition:none;}}
