/* Independent V2 layout. Component height always follows its content. */
.pd-auth-freeform-v2 .pffv2-preview-captcha { padding:16px; border:1px solid #ccc; background:#fafafa; color:#555; }
.pd-auth-freeform-v2 [data-auth-preview-form] input,
.pd-auth-freeform-v2 [data-auth-preview-form] select { box-sizing:border-box; max-width:100%; }
.pd-auth-freeform-v2 { --pffv2-reference-height:calc(100vh - var(--pffv2-header-height, 0px) - var(--pffv2-footer-height, 0px)); min-height:100vh; min-height:100dvh; background-size:cover; background-position:center; }
@supports (height:100dvh) {
    .pd-auth-freeform-v2 { --pffv2-reference-height:calc(100dvh - var(--pffv2-header-height, 0px) - var(--pffv2-footer-height, 0px)); }
}
.pd-auth-freeform-v2, .pd-auth-freeform-v2 * { box-sizing:border-box; }
.pd-auth-freeform-v2 .pffv2-canvas { position:relative; min-height:var(--pffv2-reference-height); overflow:visible; }
.pd-auth-freeform-v2 .pffv2-surface { position:relative; width:100%; flex-direction:column; overflow:visible; }
.pd-auth-freeform-v2 .pffv2-component { height:auto; overflow:visible; min-width:0; flex:none; }
.pd-auth-freeform-v2 .pffv2-card { width:100%; height:auto; overflow:visible; min-width:0; }
/* Undo grid-cell filling only within V2; content styling stays with its renderer. */
.pd-auth-freeform-v2 .pd-image-block { height:auto !important; overflow:visible !important; }
.pd-auth-freeform-v2 .pd-image-block img { height:auto !important; max-width:100%; }
.pd-auth-freeform-v2 .pd-icon-group { height:auto !important; flex-wrap:wrap; }
.pd-auth-freeform-v2 .pffv2-card > div:not([class]) { height:auto !important; }
.pd-auth-freeform-v2.pd-preview-mode .pffv2-component { outline:2px solid rgba(220,40,40,.85); }
.pd-auth-freeform-v2.pd-preview-mode .pffv2-component.pffv2-selected { outline:3px solid #1261c9; }
.pd-auth-freeform-v2.pd-preview-mode .pffv2-component::before { content:attr(data-pffv2-label); display:block; position:relative; height:0; overflow:visible; color:#333; pointer-events:none; }
