/* WEG Vollmacht Demo v1.3 – einseitiges Formular, alle Stile lokal gekapselt */
.wvf-app {
  --wvf-ink: #20364c;
  --wvf-navy: #0f4270;
  --wvf-strong: #0b3459;
  --wvf-brand: #0f4270;
  --wvf-brand-hover: #0b3459;
  --wvf-mint: #eaf2f9;
  --wvf-muted: #6b7f91;
  --wvf-border: #dfe8f0;
  --wvf-soft: #f5f8fc;
  --wvf-white: #fff;
  --wvf-error: #bd3940;
  --wvf-shadow: 0 24px 80px rgba(15, 66, 112, .12);
  isolation: isolate;
  container-type: inline-size;
  position: relative;
  box-sizing: border-box;
  width: min(1200px, 100%);
  margin: 30px auto 42px;
  border: 1px solid #e1eaf3;
  border-radius: 24px;
  overflow: hidden;
  background: var(--wvf-white);
  box-shadow: var(--wvf-shadow);
  color: var(--wvf-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, Helvetica, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  letter-spacing: normal;
}
.wvf-app, .wvf-app *, .wvf-app *::before, .wvf-app *::after { box-sizing: border-box; }
.wvf-app [hidden] { display: none !important; }
.wvf-app .wvf-icon { width: 21px; height: 21px; flex: 0 0 auto; display: inline-block; vertical-align: middle; }
.wvf-app h1,.wvf-app h2,.wvf-app h3,.wvf-app p { margin: 0; padding: 0; border: none; font-family: inherit; text-transform: none; letter-spacing: normal; }
.wvf-app strong { font-weight: 700; }
.wvf-app button,.wvf-app input { font-family: inherit; }
.wvf-app button { cursor: pointer; }
.wvf-app button:focus-visible,.wvf-app input:focus-visible { outline: 3px solid rgba(15, 66, 112, .25); outline-offset: 2px; }
.wvf-app .wvf-topline { background: #eef5fb; border-bottom: 1px solid #d7e7f4; padding: 10px 26px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px; color: #536f89; font-size: 12px; line-height: 1.5; }
.wvf-app .wvf-topline strong { color: #0f4270; font-weight: 800; }
.wvf-app .wvf-status-dot { background: #246ea4; width: 7px; height: 7px; border-radius: 50%; margin-right: 3px; }
.wvf-app .wvf-layout { display: grid; grid-template-columns: minmax(260px, 35%) minmax(0, 65%); min-height: 865px; }
/* linke Marken-/Infospalte */
.wvf-app .wvf-side { min-height: 100%; padding: 38px 34px 32px; display: flex; flex-direction: column; position: relative; color: #fff; background: var(--wvf-brand); overflow: hidden; }
.wvf-app .wvf-side::before { content: ""; position: absolute; pointer-events: none; width: 460px; height: 460px; top: 35%; right: -300px; border: 1px solid rgba(202, 226, 248, .16); border-radius: 50%; box-shadow: 0 0 0 75px rgba(180, 215, 245, .06), 0 0 0 154px rgba(180, 215, 245, .035); }
.wvf-app .wvf-side::after { content: ""; position: absolute; width: 240px; height: 240px; left: -145px; bottom: -130px; border-radius: 50%; background: rgba(98, 162, 217, .17); pointer-events: none; }
.wvf-app .wvf-side > * { position: relative; z-index: 1; }
.wvf-app .wvf-side__top { display: flex; align-items: center; gap: 12px; }
.wvf-app .wvf-emblem { width: 42px; height: 42px; border-radius: 13px; background: rgba(225, 241, 255, .15); border: 1px solid rgba(226, 243, 255, .25); color: #d7ebff; display: grid; place-items: center; }
.wvf-app .wvf-emblem .wvf-icon { width: 24px; height: 24px; }
.wvf-app .wvf-kicker { font-size: 9px; letter-spacing: .17em; color: #bad2e8; display: block; font-weight: 700; }
.wvf-app .wvf-side__brand { display: block; font-size: 16px; font-weight: 750; color: white; margin-top: -1px; }
.wvf-app .wvf-side__copy { margin-top: 92px; }
.wvf-app .wvf-eyebrow { color: #c9e5ff; font-size: 10px; font-weight: 750; letter-spacing: .19em; display: flex; align-items: center; gap: 9px; }
.wvf-app .wvf-small-rule { width: 20px; height: 1px; background: #c9e5ff; display: inline-block; }
.wvf-app .wvf-side__copy h2 { color: #fff; font-size: clamp(30px, 3.45vw, 47px); line-height: 1.14; letter-spacing: -.055em; font-weight: 750; margin-top: 23px; }
.wvf-app .wvf-side__copy h2 em { color: #c3e4ff; font-weight: 600; font-style: normal; }
.wvf-app .wvf-side__copy p { margin-top: 21px; max-width: 270px; font-size: 14px; line-height: 1.75; color: #d2e3f1; }
.wvf-app .wvf-side__ornament { height: 238px; position: relative; margin-top: 21px; display: flex; justify-content: center; align-items: center; }
.wvf-app .wvf-side__ornament-ring { position: absolute; width: 225px; height: 225px; border: 1px dashed rgba(210, 236, 255, .30); border-radius: 50%; transform: rotate(15deg); }
.wvf-app .wvf-side__ornament-ring::before,.wvf-app .wvf-side__ornament-ring::after { content: ""; position: absolute; border-radius: 50%; }
.wvf-app .wvf-side__ornament-ring::before { width: 9px; height: 9px; top: 31px; left: 29px; background: #c3e4ff; box-shadow: 165px 140px 0 rgba(195, 228, 255, .5); }
.wvf-app .wvf-side__ornament-ring::after { inset: 20px; border: 1px solid rgba(204, 231, 252, .14); }
.wvf-app .wvf-side__ornament-paper { width: 163px; height: 183px; border-radius: 10px; background: #f8fbff; transform: rotate(-6deg); box-shadow: 14px 15px 0 rgba(9, 37, 65, .26), 0 20px 40px rgba(0, 0, 0, .19); position: relative; padding: 24px; }
.wvf-app .wvf-side__ornament-paper .wvf-side__ornament-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; background: #e1eef9; color: #0f4270; margin-bottom: 16px; }
.wvf-app .wvf-side__ornament-paper > span { display: block; width: 100%; height: 6px; background: #e5ecf2; border-radius: 5px; margin-bottom: 9px; }
.wvf-app .wvf-side__ornament-paper > span:nth-of-type(2) { width: 85%; }
.wvf-app .wvf-side__ornament-paper > span:nth-of-type(3) { width: 65%; }
.wvf-app .wvf-side__ornament-seal { position: absolute; bottom: -17px; right: -20px; width: 63px; height: 63px; display: grid; place-items: center; border: 6px solid #0b3459; border-radius: 50%; background: #b7daf6; color: #0b3459; box-shadow: 0 8px 15px rgba(0,0,0,.12); }
.wvf-app .wvf-side__ornament-seal .wvf-icon { width: 25px; height: 25px; stroke-width: 2.5; }
.wvf-app .wvf-side__foot { border-top: 1px solid rgba(210, 233, 251, .22); margin-top: auto; padding-top: 23px; display: grid; gap: 13px; }
.wvf-app .wvf-side__foot-item { color: #dbe9f5; display: flex; gap: 11px; align-items: center; font-size: 12px; }
.wvf-app .wvf-side__foot-item .wvf-icon { width: 16px; height: 16px; color: #c5e2fa; }
/* Hauptbereich */
.wvf-app .wvf-main { min-width: 0; background: #fff; padding: 38px clamp(26px, 4.1vw, 58px) 26px; }
.wvf-app .wvf-main__header { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.wvf-app .wvf-main__eyebrow { font-size: 10px; letter-spacing: .18em; color: #0f4270; font-weight: 800; margin-bottom: 9px; }
.wvf-app .wvf-main__header h1 { font-size: clamp(26px, 2.7vw, 35px); color: #20364c; font-weight: 800; line-height: 1.18; letter-spacing: -.045em; }
.wvf-app .wvf-main__header p { margin-top: 8px; font-size: 13px; color: #74869a; }
.wvf-app .wvf-header-icon { flex: 0 0 49px; width: 49px; height: 49px; border-radius: 14px; display: grid; place-items: center; background: #eaf2f9; color: #0f4270; }
.wvf-app .wvf-header-icon .wvf-icon { height: 25px; width: 25px; }
.wvf-app .wvf-context { background: #f6f9fc; border: 1px solid #e6edf3; padding: 19px 20px 13px; border-radius: 15px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 15px; row-gap: 20px; margin-top: 28px; }
.wvf-app .wvf-context__item { display: flex; min-width: 0; align-items: flex-start; gap: 11px; }
.wvf-app .wvf-context__wide { grid-column: 1 / -1; }
.wvf-app .wvf-context__icon { display: grid; place-items: center; color: #0f4270; width: 31px; height: 31px; flex: 0 0 31px; border-radius: 9px; background: #e7f1fa; }
.wvf-app .wvf-context__icon .wvf-icon { width: 16px; height: 16px; }
.wvf-app .wvf-context__label { display: block; font-size: 10px; color: #7d90a2; margin-bottom: 2px; }
.wvf-app .wvf-context__item strong { display: block; font-size: 12px; line-height: 1.45; font-weight: 750; color: #314c65; overflow-wrap: anywhere; }
.wvf-app .wvf-context__reference { grid-column: 1 / -1; border-top: 1px solid #e5ecf2; display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 9px; padding-top: 12px; color: #778b9d; font-size: 11px; }
.wvf-app .wvf-context__reference > span { display: flex; align-items: center; gap: 6px; }
.wvf-app .wvf-context__reference .wvf-icon { height: 13px; width: 13px; }
.wvf-app .wvf-context__reference code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; border-radius: 6px; background: #e8f1f9; color: #305e86; border: 1px solid #dae8f3; padding: 3px 7px; font-size: 10px; overflow-wrap: anywhere; }
/* Formulartitel und Felder */
.wvf-app .wvf-panel { animation: wvf-fade-in .23s ease both; }
@keyframes wvf-fade-in { from { opacity: .2; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
.wvf-app .wvf-panel__overline { color: #0f4270; letter-spacing: .11em; font-size: 10px; font-weight: 800; }
.wvf-app .wvf-panel__intro h2 { font-size: clamp(21px, 2.25vw, 26px); font-weight: 780; color: #223b53; letter-spacing: -.04em; margin-top: 5px; line-height: 1.25; }
.wvf-app .wvf-panel__intro p { color: #75889a; font-size: 12.5px; line-height: 1.65; margin-top: 7px; max-width: 540px; }
.wvf-app .wvf-section-label { display: flex; align-items: center; gap: 10px; margin: 25px 0 15px; color: #263e53; font-size: 13px; font-weight: 800; }
.wvf-app .wvf-section-label small { display: block; color: #8d9daf; font-size: 10px; font-weight: 450; margin-top: 0; }
.wvf-app .wvf-section-label__icon { background: #e6f0f9; color: #0f4270; border-radius: 10px; width: 35px; height: 35px; display: grid; place-items: center; flex: 0 0 35px; }
.wvf-app .wvf-section-label__icon--mint { background: #e8f2fa; color: #286e9e; }
.wvf-app .wvf-section-label__icon .wvf-icon { width: 18px; height: 18px; }
.wvf-app .wvf-fields { display: grid; gap: 17px 16px; }
.wvf-app .wvf-fields--two { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.wvf-app .wvf-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.wvf-app .wvf-field label { font-size: 11.5px; font-weight: 700; color: #3d5368; line-height: 1.5; }
.wvf-app .wvf-field label > span:not(.wvf-optional) { color: #be6466; }
.wvf-app .wvf-optional { margin-left: 3px; font-weight: 450; color: #9ba8b4; font-size: 10px; }
.wvf-app .wvf-field input { appearance: none; display: block; width: 100%; height: 47px; padding: 12px 14px; background: #fff; border: 1px solid #dbe5ed; border-radius: 9px; box-shadow: 0 1px 2px rgba(15,66,112,.025); color: #1e3c56; font-size: 13px; line-height: 1.3; font-weight: 450; transition: border .18s ease, box-shadow .18s ease; }
.wvf-app .wvf-field input::placeholder { color: #a9b8c6; opacity: 1; }
.wvf-app .wvf-field input:hover { border-color: #b7cce0; }
.wvf-app .wvf-field input:focus { outline: none; border-color: #0f4270; box-shadow: 0 0 0 3px rgba(15,66,112,.13); }
.wvf-app .wvf-field.is-invalid input { border-color: #d4585d; box-shadow: 0 0 0 3px rgba(210,69,77,.08); }
.wvf-app .wvf-field__error { display: none; color: var(--wvf-error); font-size: 10.5px; }
.wvf-app .wvf-field.is-invalid .wvf-field__error { display: block; }
.wvf-app .wvf-section-separator { height: 1px; background: #e6edf3; margin: 25px 0 0; }
.wvf-app .wvf-section-separator + .wvf-section-label { margin-top: 22px; }
.wvf-app .wvf-inline-note { display: flex; align-items: flex-start; gap: 8px; padding: 11px 12px; background: #eef5fb; color: #587790; border-radius: 9px; margin-top: 15px; }
.wvf-app .wvf-inline-note .wvf-icon { width: 16px; height: 16px; color: #0f4270; margin-top: 1px; }
.wvf-app .wvf-inline-note p { font-size: 11px; line-height: 1.6; }
.wvf-app .wvf-inline-note--quiet { margin-top: 14px; background: #f7f9fc; color: #75889a; }
.wvf-app .wvf-validation { background: #fff1f1; border: 1px solid #f3c9cd; border-radius: 8px; padding: 10px 12px; color: #a63a47; font-size: 12px; margin-top: 14px; }
/* Vollmachtserklärung im selben Formular */
.wvf-app .wvf-declaration { background: #f7fafd; border: 1px solid #e2eaf2; border-radius: 13px; padding: 23px 24px; margin-top: 23px; }
.wvf-app .wvf-declaration__tag { color: var(--wvf-brand); font-size: 10.5px; font-weight: 800; display: flex; align-items: center; gap: 7px; margin-bottom: 16px; }
.wvf-app .wvf-declaration__tag .wvf-icon { width: 16px; height: 16px; }
.wvf-app .wvf-declaration p { font-size: 13px; line-height: 1.8; color: #445c71; margin: 0 0 13px; }
.wvf-app .wvf-declaration p:last-child { margin-bottom: 0; }
.wvf-app .wvf-declaration p strong { color: #163d61; overflow-wrap: anywhere; }
.wvf-app .wvf-consent { margin-top: 19px; display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border: 1px solid #e4ecf3; border-radius: 10px; color: #4b657c; background: #fff; font-size: 12px; line-height: 1.65; cursor: pointer; }
.wvf-app .wvf-consent input { accent-color: #0f4270; width: 16px; height: 16px; min-width: 16px; margin: 2px 0 0; }
.wvf-app .wvf-consent strong { color: #c96666; }
/* Einseitiges Formular: Erklärung folgt unmittelbar auf die Eingabefelder */
.wvf-app .wvf-panel__intro { margin-top: 30px; }
.wvf-app .wvf-section-label--declaration { margin-bottom: 0; }
.wvf-app .wvf-section-label--declaration + .wvf-declaration { margin-top: 12px; }
.wvf-app .wvf-declaration { background: #f6f9fc; }
.wvf-app .wvf-demo-result { display: flex; align-items: flex-start; gap: 12px; background: #eef5fb; border: 1px solid #cbdff0; color: #0f4270; border-radius: 11px; padding: 15px 16px; margin-top: 15px; }
.wvf-app .wvf-demo-result > .wvf-icon { width: 21px; height: 21px; flex: 0 0 21px; }
.wvf-app .wvf-demo-result strong { font-size: 13px; }
.wvf-app .wvf-demo-result p { margin-top: 3px; font-size: 12px; color: #4d6a83; line-height: 1.55; }
/* Navigation und Footer */
.wvf-app .wvf-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 27px; padding-top: 20px; border-top: 1px solid #e6edf3; }
.wvf-app .wvf-actions__footnote { color: #8c9fad; font-size: 10px; display: inline-flex; align-items: center; gap: 5px; line-height: 1.45; }
.wvf-app .wvf-actions__footnote .wvf-icon { width: 13px; height: 13px; }
.wvf-app .wvf-button { appearance: none; border: 1px solid transparent; border-radius: 10px; padding: 12px 18px; font-size: 12px; font-weight: 750; line-height: 1.4; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; text-align: center; transition: background .17s ease, transform .17s ease, border-color .17s ease; }
.wvf-app .wvf-button .wvf-icon { height: 16px; width: 16px; }
.wvf-app .wvf-button--next { background: var(--wvf-brand); color: #fff; margin-left: auto; box-shadow: 0 4px 12px rgba(15,66,112,.18); }
.wvf-app .wvf-button--next:hover { background: var(--wvf-brand-hover); color: #fff; transform: translateY(-1px); }
.wvf-app .wvf-button--back { background: #fff; border-color: #dce6f0; color: #496b85; }
.wvf-app .wvf-button--back:hover { background: #f1f6fb; color: #0f4270; }
.wvf-app .wvf-footerline { margin: 25px 0 0; text-align: center; font-size: 10px; line-height: 1.6; color: #9aaeba; }
.wvf-app .wvf-footerline strong { color: #69869d; }
.wvf-app .wvf-footerline span { margin: 0 6px; }
@media (max-width: 1000px) {
  .wvf-app .wvf-layout { grid-template-columns: minmax(255px, 34%) minmax(0, 66%); }
  .wvf-app .wvf-side { padding: 31px 25px; }
  .wvf-app .wvf-side__copy { margin-top: 85px; }
  .wvf-app .wvf-main { padding: 32px 27px 25px; }
}
@media (max-width: 800px) {
  .wvf-app { margin: 16px auto 28px; border-radius: 19px; }
  .wvf-app .wvf-layout { display: block; min-height: auto; }
  .wvf-app .wvf-side { min-height: 0; padding: 25px 30px 27px; }
  .wvf-app .wvf-side__copy { margin-top: 24px; }
  .wvf-app .wvf-side__copy h2 { font-size: 32px; margin-top: 13px; }
  .wvf-app .wvf-side__copy p { max-width: 560px; margin-top: 11px; }
  .wvf-app .wvf-side__ornament,.wvf-app .wvf-side__foot { display: none; }
  .wvf-app .wvf-main { padding: 28px 30px 25px; }
}
@media (max-width: 530px) {
  .wvf-app { margin: 8px auto 22px; border-radius: 14px; font-size: 14px; }
  .wvf-app .wvf-topline { padding: 10px 15px; font-size: 10px; text-align: center; }
  .wvf-app .wvf-side { padding: 20px 22px 23px; }
  .wvf-app .wvf-side__copy h2 { font-size: 29px; }
  .wvf-app .wvf-side__copy p { font-size: 12px; line-height: 1.6; }
  .wvf-app .wvf-main { padding: 25px 19px 22px; }
  .wvf-app .wvf-main__header h1 { font-size: 26px; }
  .wvf-app .wvf-main__header p { font-size: 12px; }
  .wvf-app .wvf-header-icon { height: 42px; width: 42px; flex-basis: 42px; }
  .wvf-app .wvf-context { padding: 16px 15px 12px; margin-top: 22px; column-gap: 8px; }
  .wvf-app .wvf-context__item { gap: 7px; }
  .wvf-app .wvf-context__icon { width: 25px; height: 25px; flex-basis: 25px; }
  .wvf-app .wvf-context__item strong { font-size: 11px; }
  .wvf-app .wvf-context__label { font-size: 9px; }
  .wvf-app .wvf-fields--two { grid-template-columns: minmax(0,1fr); }
  .wvf-app .wvf-section-label { margin-top: 20px; }
  .wvf-app .wvf-declaration { padding: 17px; }
  .wvf-app .wvf-actions { gap: 12px; }
  .wvf-app .wvf-actions__footnote { order: 3; flex: 0 0 100%; justify-content: center; }
  .wvf-app .wvf-button { font-size: 12px; padding: 11px 13px; }
  .wvf-app .wvf-button--next { flex: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .wvf-app .wvf-panel { animation: none; }
  .wvf-app .wvf-button { transition: none; }
}

/* Auch bei schmalen WordPress-Content-Containern korrekt umschalten,
   selbst wenn das Browserfenster an sich sehr breit ist. */
@container (max-width: 800px) {
  .wvf-app .wvf-layout { display: block; min-height: auto; }
  .wvf-app .wvf-side { min-height: 0; padding: 25px 30px 27px; }
  .wvf-app .wvf-side__copy { margin-top: 24px; }
  .wvf-app .wvf-side__copy h2 { font-size: 32px; margin-top: 13px; }
  .wvf-app .wvf-side__copy p { max-width: 560px; margin-top: 11px; }
  .wvf-app .wvf-side__ornament,.wvf-app .wvf-side__foot { display: none; }
  .wvf-app .wvf-main { padding: 28px 30px 25px; }
}
@container (max-width: 530px) {
  .wvf-app .wvf-side { padding: 20px 22px 23px; }
  .wvf-app .wvf-side__copy h2 { font-size: 29px; }
  .wvf-app .wvf-side__copy p { font-size: 12px; line-height: 1.6; }
  .wvf-app .wvf-main { padding: 25px 19px 22px; }
  .wvf-app .wvf-main__header h1 { font-size: 26px; }
  .wvf-app .wvf-header-icon { width: 42px; height: 42px; flex-basis: 42px; }
  .wvf-app .wvf-context { padding: 16px 15px 12px; margin-top: 22px; column-gap: 8px; }
  .wvf-app .wvf-context__item { gap: 7px; }
  .wvf-app .wvf-context__icon { width: 25px; height: 25px; flex-basis: 25px; }
  .wvf-app .wvf-context__item strong { font-size: 11px; }
  .wvf-app .wvf-fields--two { grid-template-columns: minmax(0,1fr); }
  .wvf-app .wvf-declaration { padding: 17px; }
  .wvf-app .wvf-actions__footnote { order: 3; flex: 0 0 100%; justify-content: center; }
  .wvf-app .wvf-button--next { flex: 1; }
}


/* ===============================================
   V1.3 – Fullwidth-Ansicht der Vollmacht-Seite
   NUR bei body.wvf-page-fullwidth (durch Shortcode-Erkennung).
   Die normalen Website-Header-/Footer-Elemente bleiben erhalten.
   =============================================== */

/* Divi (klassische WordPress-Seite / Shortcode-Block) */
body.wvf-page-fullwidth #main-content,
body.wvf-page-fullwidth #main-content > .container,
body.wvf-page-fullwidth #main-content > .container #content-area,
body.wvf-page-fullwidth #main-content > .container #left-area,
body.wvf-page-fullwidth #main-content > .container article.page,
body.wvf-page-fullwidth #main-content > .container article.page > .entry-content {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.wvf-page-fullwidth #main-content > .container::before {
  display: none !important;
}
body.wvf-page-fullwidth #main-content > .container #sidebar {
  display: none !important;
}
/* Nur den vom Theme eingefügten Seitentitel ausblenden. Die Überschrift
   "Digitale Vollmacht" INNERHALB des Formulars bleibt sichtbar. */
body.wvf-page-fullwidth #main-content article.page > h1.entry-title,
body.wvf-page-fullwidth #main-content article.page > h1.main_title,
body.wvf-page-fullwidth main .wp-block-post-title,
body.wvf-page-fullwidth main > .entry-header,
body.wvf-page-fullwidth main > .page-header {
  display: none !important;
}
body.wvf-page-fullwidth #main-content .entry-content > .wp-block-shortcode,
body.wvf-page-fullwidth #main-content .entry-content > p:has(.wvf-app),
body.wvf-page-fullwidth #main-content .entry-content > div:has(> .wvf-app) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Divi Builder: Die umgebende Section/Row/Textmodul-Begrenzung entfernen,
   aber nur dort, wo das Vollmachtsformular enthalten ist. */
body.wvf-page-fullwidth #main-content .et_pb_section:has(.wvf-app),
body.wvf-page-fullwidth #main-content .et_pb_row:has(.wvf-app),
body.wvf-page-fullwidth #main-content .et_pb_column:has(.wvf-app),
body.wvf-page-fullwidth #main-content .et_pb_module:has(.wvf-app),
body.wvf-page-fullwidth #main-content .et_pb_text_inner:has(.wvf-app) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Alternative Block-/Theme-Wrapper (falls die Seite nicht Divi verwendet). */
body.wvf-page-fullwidth main:has(.wvf-app),
body.wvf-page-fullwidth main :is(.entry-content, .wp-block-post-content, .wp-block-group,
  .wp-block-columns, .wp-block-column, .wp-block-shortcode, .content-area,
  .site-main, .container):has(.wvf-app) {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Die ursprüngliche Karte wird zur nahtlosen Full-Bleed-Seite. */
body.wvf-page-fullwidth .wvf-app {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
