.jp-vud-section { padding-block: 20px; }
.jp-vud-form { min-width: 0; width: 100%; }
.jp-vud-shell { min-width: 0; }
.pb-container .jp-vud-shell { width: 100%; max-width: 100%; padding-inline: 0; }
.jp-vud-viewport { position: relative; width: var(--vud-width, 100%); height: var(--vud-height, 780px); margin-inline: auto; overflow: hidden; }
.jp-vud-viewport[hidden], .jp-vud-form [hidden] { display: none !important; }
.jp-vud-viewport iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: #fff; transform-origin: top left; }
.jp-vud-direct, .jp-vud-consent { width: var(--vud-width, 100%); max-width: 100%; margin-inline: auto; }
.jp-vud-direct-link, .jp-vud-consent button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 14px 18px; border: 0; border-radius: 6px; color: #fff !important; background: var(--vud-button-bg, var(--primary-color, #2563eb)); font: inherit; font-weight: 700; line-height: 1.5; text-align: center; text-decoration: none; overflow-wrap: anywhere; cursor: pointer; }
.jp-vud-direct-link:focus-visible, .jp-vud-consent button:focus-visible { outline: 3px solid var(--vud-button-bg, var(--primary-color, #2563eb)); outline-offset: 3px; }
.jp-vud-direct p, .jp-vud-consent p { font-size: .9rem; line-height: 1.6; }
.jp-vud-disclosure { padding-top: 12px; margin-top: 12px; border-top: 1px solid #d7dde0; font-size: .8rem; line-height: 1.6; }
.jp-vud-notice { font-size: .8rem; line-height: 1.6; }
.jp-vud-form a { overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .jp-vud-viewport { width: var(--vud-mobile-width, 100%); height: var(--vud-mobile-height, 900px); }
  .jp-vud-direct, .jp-vud-consent { width: var(--vud-mobile-width, 100%); }
}
