!function(e){"use strict";if(window.__BA_EV_GREENFIELD_INIT__)return;window.__BA_EV_GREENFIELD_INIT__=!0;const t=window.botsautoEmailVerification||{},i=t.debug||!1,a='[data-botsauto-email="canonical"]',n=["ba-ev__email--readonly","ba-ev__email--locked","ba-ev__email--verified","is-verified","is-readonly"],o={emailVerificationRequired:t.i18n?.emailVerificationRequired||"E-mail verificatie vereist",codeSentToEmail:t.i18n?.codeSentToEmail||"Voer de verificatiecode in die naar je e-mailadres is verzonden:",emailVerified:t.i18n?.emailVerified||"E-mailadres geverifieerd!",sendCode:t.i18n?.sendCode||"Verificatiecode verzenden",verifyCode:t.i18n?.verifyCode||"Verifiëren",resendCode:t.i18n?.resendCode||"Opnieuw verzenden",codePlaceholder:t.i18n?.codePlaceholder||"Verificatiecode",codeSent:t.i18n?.codeSent||"Verificatiecode verzonden naar je e-mailadres.",addressChanged:t.i18n?.addressChanged||"Adres gewijzigd - verifieer het nieuwe adres voordat je verdergaat.",invalidEmail:t.i18n?.invalidEmail||"Ongeldig e-mailadres.",missingCode:t.i18n?.missingCode||"Voer de verificatiecode in.",invalidCode:t.i18n?.invalidCode||"Ongeldige verificatiecode.",codeExpired:t.i18n?.codeExpired||"Verificatiecode is verlopen. Vraag een nieuwe code aan.",rateLimited:t.i18n?.rateLimited||"Wacht even voordat je een nieuwe code aanvraagt.",changeEmail:t.i18n?.changeEmail||"E-mailadres wijzigen"};function s(e){if(!e||"string"!=typeof e)return"";const t=(e=(e=(e=(e=e.trim()).replace(/[\u00A0\u2000-\u200B\u2028\u2029\uFEFF]/g," ")).replace(/\s+/g," ")).trim()).split("@");if(2!==t.length)return e.toLowerCase();return t[0].toLowerCase()+"@"+t[1].toLowerCase()}function r(e){if(!e||"string"!=typeof e)return!1;const t=s(e);if(!t||-1===t.indexOf("@"))return!1;return/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)}function d(e){const t=document.createElement("div");return t.textContent=e,t.innerHTML}class l{constructor(e){this.config=e,this.stage="NEW",this.state="HIDDEN",this.resolvedState="UNKNOWN",this.currentEmail="",this.normalizedEmail="",this.verifiedEmail="",this.contextId="",this.sessionId="",this.resendCooldown=0,this.resendTimer=null,this.debounceTimer=null,this.emailObserver=null,this.emailSelectorStrategy=null,this.editingActive=!1,this.lockingAllowed=!0,this.lastLoggedState=null,this.$panel=null,this.$emailField=null,this.$form=null,this.bound=!1}init(){if(this.$panel=e("#ba-ev"),!this.$panel.length)return!1;this.stage=this.$panel.attr("data-stage")||"NEW";const t=this.$panel.attr("data-state")||"";if(this.resolvedState=t||"UNKNOWN",this.$emailField=e(a).first(),this.$emailField.length||(this.$emailField=e('input[name="ba_email"]').not('[type="hidden"]').first()),this.$emailField.length||(this.$emailField=e("#botsauto-email").first()),!this.$emailField.length)return!1;if(this.$form=this.$emailField.closest("form"),!this.$form.length)return!1;if(this.$emailField=this.resolveEmailField(),!this.$emailField.length)return!1;this.bindEmailFieldEvents(),this.contextId=this.$panel.attr("data-context-id")||window.botsautoEmailVerification&&window.botsautoEmailVerification.context_id||this.$form.find('input[name="context_id"]').val()||"",this.verifiedEmail=this.$panel.attr("data-verified-email")||"";const n="true"===this.$panel.attr("data-verified"),o="true"===this.$panel.attr("data-visible");return window.botsautoEmailVerification||(window.botsautoEmailVerification={}),window.botsautoEmailVerification.context_id=this.contextId,this.contextId?(this.currentEmail=this.$emailField.val()||"",this.normalizedEmail=s(this.currentEmail),this.editingActive="SAVED"===this.stage&&"SAVED_EDITING_UNVERIFIED"===t,this.lockingAllowed=!this.editingActive,n&&this.verifiedEmail&&this.normalizedEmail===s(this.verifiedEmail)?this.setInternalState("VERIFIED","init:ssr-verified"):o&&"NEW_UNVERIFIED"===t?this.setInternalState("UNVERIFIED","init:ssr-new-unverified"):o&&"SAVED_EDITING_UNVERIFIED"===t?this.setInternalState("UNVERIFIED","init:ssr-saved-editing"):this.setInternalState("HIDDEN","init:ssr-hidden"),this.editingActive?this.unlockEmailField({focus:!1,reason:"init-editing"}):"SAVED"===this.stage&&"SAVED_VERIFIED"===t&&this.lockEmailField({reason:"init-locked"}),this.setupEmailFieldObserver(),this.bindEvents(),this.render(),this.logStateSnapshot("init",{forceLog:!0}),this.logLayoutDiagnostics("init"),this.logFormFieldAlignmentDiagnostics("init"),this.logComputedSpacingDiagnostics("init"),i&&(this.stage,this.state,this.contextId,this.verifiedEmail,this.currentEmail),!0):(i&&console.error("[BA_EV] Missing context_id on initialization",{"data-context-id":this.$panel.attr("data-context-id"),localized:window.botsautoEmailVerification?.context_id,"hidden-input":this.$form.find('input[name="context_id"]').val()}),!1)}bindEvents(){this.bound||(this.bound=!0,this.bindEmailFieldEvents(),e(document).on("click","#ba-ev-send",e=>{e.preventDefault(),this.sendCode()}),e(document).on("click","#ba-ev-verify",e=>{e.preventDefault(),this.verifyCode()}),e(document).on("click","#ba-ev-resend",e=>{e.preventDefault(),this.sendCode()}),e(document).on("click","#botsauto-change-email",e=>{e.preventDefault(),this.handleChangeEmail()}),e(document).on("keypress","#ba-ev-code",e=>{13===e.which&&(e.preventDefault(),this.verifyCode())}))}setInternalState(e,t,i={}){const a=this.state;this.state=e,(a!==e||i.forceLog)&&this.logStateSnapshot(t,{previousState:a,newState:e,forceLog:!!i.forceLog})}setResolvedState(e){e&&(this.resolvedState=e)}resolveEmailField(){if(!this.$form||!this.$form.length)return e();let t=this.$form.find(a).not('[type="hidden"]').first();return t.length?(this.emailSelectorStrategy=a,t):(t=this.$form.find('input[name="ba_email"]').not('[type="hidden"]').first(),t.length?(this.emailSelectorStrategy='input[name="ba_email"]',t):(t=this.$form.find("#botsauto-email").first(),t.length?(this.emailSelectorStrategy="#botsauto-email",t):(this.emailSelectorStrategy=null,e())))}bindEmailFieldEvents(){this.$emailField=this.resolveEmailField(),this.$emailField&&this.$emailField.length&&(this.$emailField.off(".baEv"),this.$emailField.on("input.baEv change.baEv paste.baEv",()=>{clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this.handleEmailChange()},300)}))}setupEmailFieldObserver(){if(!this.$form||!this.$form.length||this.emailObserver)return;const e=this.$form[0];this.emailObserver=new MutationObserver(e=>{let t=!1;e.forEach(e=>{"childList"===e.type?e.addedNodes.forEach(e=>{e&&1===e.nodeType&&(e.matches&&e.matches(a)||e.querySelector&&e.querySelector(a))&&(t=!0)}):"attributes"===e.type&&e.target&&e.target.matches&&e.target.matches(a)&&(t=!0)}),t&&(this.$emailField=this.resolveEmailField(),this.bindEmailFieldEvents(),this.editingActive?this.unlockEmailField({focus:!1,reason:"mutation-refresh"}):this.lockingAllowed&&this.lockEmailField({reason:"mutation-refresh"}),this.logStateSnapshot("mutation-refresh",{forceLog:!0}))}),this.emailObserver.observe(e,{childList:!0,subtree:!0})}unlockEmailField(e={}){const{focus:t=!1,reason:i="unlock"}=e;if(this.$emailField=this.resolveEmailField(),!this.$emailField.length)return;this.bindEmailFieldEvents(),this.$emailField.removeAttr("readonly").prop("readonly",!1).removeAttr("disabled").prop("disabled",!1).removeAttr("aria-readonly").removeAttr("aria-disabled").attr("data-botsauto-email-locked","false").attr("data-botsauto-email-state",this.resolvedState||"UNKNOWN").css({"pointer-events":"auto","user-select":"auto"}),this.removeReadonlyClasses(this.$emailField);const a=this.$emailField.closest(".botsauto-field");a.length&&(n.forEach(e=>a.removeClass(e)),a.css("pointer-events","auto")),this.hideVerifiedBadge(),t&&this.$emailField.trigger("focus")}lockEmailField(e={}){if(!this.lockingAllowed)return;const{reason:t="lock"}=e;if(this.$emailField=this.resolveEmailField(),!this.$emailField.length)return;this.$emailField.attr("readonly","readonly").prop("readonly",!0).attr("aria-readonly","true").attr("data-botsauto-email-locked","true").attr("data-botsauto-email-state",this.resolvedState||"UNKNOWN").css({"pointer-events":"","user-select":""}),this.showVerifiedBadge();const i=this.$emailField.closest(".botsauto-field");i.length&&i.css("pointer-events","")}hideVerifiedBadge(){const t=e("#botsauto-verification-success-standalone");t.length&&t.attr("hidden","hidden").addClass("ba-ev__success--hidden")}showVerifiedBadge(){const t=this.getBadgePresentation();let i=e("#botsauto-verification-success-standalone");if(t.badgeVisible){if(!i.length){if("VERIFIED"!==this.state)return;const a=this.$emailField&&this.$emailField.length?this.$emailField.closest(".ba-ev__row"):e(".ba-ev__row").first();if(!a.length)return;const n=this.buildStandaloneBadgeHtml(t),o=a.find("#ba-ev");if(o.length?o.before(n):a.append(n),i=e("#botsauto-verification-success-standalone"),!i.length)return}i.removeAttr("hidden").removeClass("ba-ev__success--hidden")}else i.length&&i.attr("hidden","hidden").addClass("ba-ev__success--hidden")}buildStandaloneBadgeHtml(e){return'<div id="botsauto-verification-success-standalone" class="botsauto-verification-success ba-ev__success ba-ev__badge-container"><div class="ba-ev__badge ba-ev__badge--verified '+("text-only"===e.badgeStyle?"ba-ev__badge--text-only":"ba-ev__badge--pill")+'" aria-live="polite">'+("text-only"===e.badgeStyle?"":'<i class="fas fa-check-circle ba-ev__icon" aria-hidden="true"></i> ')+d(o.emailVerified)+"</div></div>"}removeReadonlyClasses(e){n.forEach(t=>{e.removeClass(t)})}assertEditingPreconditions(t="change-email"){if("undefined"==typeof console||void 0===console.assert)return;const i=this.$form?this.$form.find('input[name="ba_email"]'):e(),a=i.length,n=a?i.get(0):null;console.assert("SAVED"===this.stage,`[BA_EV][ASSERT][${t}] Stage should be SAVED`,{stage:this.stage}),console.assert("SAVED_EDITING_UNVERIFIED"===this.resolvedState,`[BA_EV][ASSERT][${t}] Resolved state`,{resolvedState:this.resolvedState}),console.assert(1===a,`[BA_EV][ASSERT][${t}] Exactly one canonical email input`,{canonicalCount:a}),n&&(console.assert(!n.hasAttribute("readonly"),`[BA_EV][ASSERT][${t}] Readonly removed`),console.assert(!n.disabled,`[BA_EV][ASSERT][${t}] Disabled removed`),console.assert("true"!==n.getAttribute("aria-readonly"),`[BA_EV][ASSERT][${t}] aria-readonly removed`),requestAnimationFrame(()=>{console.assert(document.activeElement===n,`[BA_EV][ASSERT][${t}] Field focused`,{activeElement:document.activeElement})}))}logStateSnapshot(e,t={}){if("undefined"==typeof console||void 0===console.log)return;const i=!!t.forceLog,a=(t.previousState,t.newState||this.state);if(!i&&this.lastLoggedState===a)return;const n=this.resolveEmailField(),o=n.length?n.get(0):null,s=o?window.getComputedStyle(o).pointerEvents:"n/a";this.stage,this.resolvedState,this.editingActive,this.emailSelectorStrategy,this.$form&&this.$form.find('input[name="ba_email"]').length,o&&o.hasAttribute("readonly"),o&&o.disabled,o&&o.getAttribute("aria-readonly");this.lastLoggedState=a}handleEmailChange(){this.$emailField=this.resolveEmailField();const e=this.$emailField.val()||"",t=s(e);if(t!==this.normalizedEmail){if(this.currentEmail=e,this.normalizedEmail=t,"SAVED"===this.stage&&(this.editingActive=!0,this.lockingAllowed=!1,this.setResolvedState("SAVED_EDITING_UNVERIFIED"),this.unlockEmailField({focus:!1,reason:"input-change"})),r(e))if("NEW"===this.stage)this.verifiedEmail="",this.setInternalState("UNVERIFIED","email-change-new");else{const e=s(this.verifiedEmail);e&&t===e?this.setInternalState("VERIFIED","email-change-matches-verified"):(this.verifiedEmail="",this.setInternalState("UNVERIFIED","email-change-saved"))}else this.verifiedEmail="",this.setInternalState("HIDDEN","email-change-invalid");this.render()}}handleChangeEmail(){this.editingActive=!0,this.lockingAllowed=!1,this.verifiedEmail="",this.setResolvedState("SAVED_EDITING_UNVERIFIED"),this.setInternalState("UNVERIFIED","change-email-click",{forceLog:!0}),this.render(),this.unlockEmailField({focus:!0,reason:"change-email-click"}),this.assertEditingPreconditions("change-email"),this.logStateSnapshot("change-email-unlock",{forceLog:!0}),this.logFormFieldAlignmentDiagnostics("after-change-email")}sendCode(){const a=s(this.currentEmail);if(!r(a))return void this.showError(o.invalidEmail);if(!this.contextId)return i&&console.error("[BA_EV] Missing context_id in sendCode",{"data-context-id":this.$panel.attr("data-context-id"),localized:window.botsautoEmailVerification?.context_id,"hidden-input":this.$form.find('input[name="context_id"]').val()}),void this.showError("Missing context ID. Please refresh the page and try again.");const n=e("#ba-ev-send, #ba-ev-resend");n.prop("disabled",!0);const d=this.$form.find('input[name="session_id"]').val()||"";e.ajax({url:t.ajax_url,method:"POST",data:{action:"ba_send_verification_code",nonce:t.nonce,email:a,context_id:this.contextId,session_id:d},success:t=>{if(t.success){this.setInternalState("PENDING","send-code-success"),this.render(),this.showMessage(o.codeSent,"success"),e("#ba-ev-code").focus();const i=t.data?.resend_after||60;this.startResendCooldown(i)}else this.showError(t.data?.message||"Error sending code"),n.prop("disabled",!1)},error:e=>{const t=e.responseJSON;this.showError(t?.data?.message||"Network error"),n.prop("disabled",!1)}})}verifyCode(){const a=function(e){return null==e?"":(e=(e=(e=String(e)).replace(/[\u00A0\u2000-\u200B\u2028\u2029\uFEFF]/g," ")).replace(/\s/g,"")).trim()}(e("#ba-ev-code").val()),n=s(this.currentEmail);if(!a)return void this.showError(o.missingCode);if(!r(n))return void this.showError(o.invalidEmail);if(!this.contextId)return i&&console.error("[BA_EV] Missing context_id in sendCode",{"data-context-id":this.$panel.attr("data-context-id"),localized:window.botsautoEmailVerification?.context_id,"hidden-input":this.$form.find('input[name="context_id"]').val()}),void this.showError("Missing context ID. Please refresh the page and try again.");const d=e("#ba-ev-verify");d.prop("disabled",!0);const l=this.$form.find('input[name="session_id"]').val()||"";e.ajax({url:t.ajax_url,method:"POST",data:{action:"ba_verify_code",nonce:t.nonce,code:a,email:n,context_id:this.contextId,session_id:l},success:e=>{e.success?(this.verifiedEmail=e.data?.verified_email||n,this.sessionId=e.data?.verification_session_id||e.data?.session_id||"",this.setResolvedState("SAVED_EDITING_VERIFIED"),this.setInternalState("VERIFIED","verify-code-success",{forceLog:!0}),this.render(),this.showMessage(o.emailVerified,"success"),this.updateFormHiddenFields(),this.logStateSnapshot("verify-success",{forceLog:!0})):(this.showError(e.data?.message||o.invalidCode),d.prop("disabled",!1))},error:e=>{const t=e.responseJSON;this.showError(t?.data?.message||"Network error"),d.prop("disabled",!1)}})}updateFormHiddenFields(){this.sessionId&&this.$form.find('input[name="botsauto_verification_session_id"]').val(this.sessionId);const t=s(this.currentEmail),i=this.$emailField,a=this.$form.find('input[name="ba_email_backup"], input[name="email"], input[name="email_backup"]');if(i.length&&t&&(i.val(t),a.each(function(){e(this).val(t)})),this.contextId){let e=this.$form.find('input[name="context_id"]');e.length?e.val(this.contextId):this.$form.append('<input type="hidden" name="context_id" value="'+d(this.contextId)+'">')}}canSubmit(){return!t.enabled||"VERIFIED"===this.state}startResendCooldown(e){this.resendCooldown=e,clearInterval(this.resendTimer),this.resendTimer=setInterval(()=>{this.resendCooldown--,this.resendCooldown<=0?(clearInterval(this.resendTimer),this.render()):this.updateResendButton()},1e3),this.updateResendButton()}updateResendButton(){const t=e("#ba-ev-resend");this.resendCooldown>0?t.text(o.resendCode+" ("+this.resendCooldown+"s)").prop("disabled",!0):t.text(o.resendCode).prop("disabled",!1)}showMessage(t,i){e("#ba-ev-message").removeClass("ba-ev__msg--success ba-ev__msg--error ba-ev__msg--info").addClass("ba-ev__msg--"+(i||"info")).html(d(t)).show()}showError(e){this.showMessage(e,"error")}render(){if(!this.$panel||!this.$panel.length)return;let e="",t=!1;switch(this.state){case"HIDDEN":t=!1;break;case"UNVERIFIED":e=this.renderUnverifiedState(),t=!0;break;case"PENDING":e=this.renderPendingState(),t=!0;break;case"VERIFIED":"NEW"===this.stage?(e=this.renderVerifiedState(),t=!0):(t=!1,this.showVerifiedBadge())}t&&e?this.$panel.html(e).show().attr("data-visible","true"):this.$panel.hide().attr("data-visible","false"),this.updateSubmitButtonState(),this.logLayoutDiagnostics("render"),this.logFormFieldAlignmentDiagnostics("render"),this.logComputedSpacingDiagnostics("render")}renderUnverifiedState(){return'<div class="ba-ev__status"><p>'+d(o.emailVerificationRequired)+'</p><div class="ba-ev__actions"><button type="button" id="ba-ev-send" class="ba-ev__send">'+d(o.sendCode)+'</button></div></div><div id="ba-ev-message" class="ba-ev__msg" style="display:none;" aria-live="polite"></div>'}renderPendingState(){const e=this.resendCooldown>0,t=e?o.resendCode+" ("+this.resendCooldown+"s)":o.resendCode;return'<div class="ba-ev__form"><p>'+d(o.codeSentToEmail)+'</p><input type="text" id="ba-ev-code" class="ba-ev__code" placeholder="'+d(o.codePlaceholder)+'" maxlength="10" autocomplete="one-time-code" inputmode="numeric"><div class="ba-ev__actions"><button type="button" id="ba-ev-verify" class="ba-ev__verify">'+d(o.verifyCode)+'</button><button type="button" id="ba-ev-resend" class="ba-ev__resend" '+(e?"disabled":"")+">"+d(t)+'</button></div></div><div id="ba-ev-message" class="ba-ev__msg" style="display:none;" aria-live="polite"></div>'}renderVerifiedState(){const e=this.getBadgePresentation();if(!e.badgeVisible)return"";return'<div class="ba-ev__success ba-ev__badge-container"><div class="ba-ev__badge ba-ev__badge--verified '+("text-only"===e.badgeStyle?"ba-ev__badge--text-only":"ba-ev__badge--pill")+'" aria-live="polite">'+("text-only"===e.badgeStyle?"":'<i class="fas fa-check-circle ba-ev__icon" aria-hidden="true"></i> ')+d(o.emailVerified)+"</div></div>"}getBadgePresentation(){const e={badgeVisible:!0,badgeStyle:"pill"};this.$emailField=this.resolveEmailField();const t=this.$emailField&&this.$emailField.length?this.$emailField.closest(".ba-ev__row"):this.$panel.closest(".ba-ev__row");if(!t||!t.length)return e;return{badgeVisible:"false"!==(t.attr("data-badge-visible")||"true"),badgeStyle:"text-only"===(t.attr("data-badge-style")||"pill")?"text-only":"pill"}}updateSubmitButtonState(){const t=this.canSubmit();let i=this.$form.find('button[type="submit"], input[type="submit"]');const a=this.$form.closest("[data-botsauto-instance]").attr("data-botsauto-instance");if(a){const t=e(".botsauto-docked-bar[data-botsauto-instance]").filter(function(){return this.getAttribute("data-botsauto-instance")===a}).find(".ba-docked-save");i=i.add(t)}i.each(function(){const i=e(this);i.data("botsauto-save-busy-active")||i.prop("disabled",!t)})}logLayoutDiagnostics(t){if(!i)return;const a=this.$emailField?this.$emailField.closest(".ba-ev__row"):e(".ba-ev__row").first();if(!a.length)return;a.attr("data-layout-mode"),a.hasClass("ba-ev--inline")||a.hasClass("ba-ev--stacked"),a.attr("data-ev-breakpoint")||a.attr("data-stack-breakpoint");const n=a[0];window.getComputedStyle(n).flexDirection}getComputedStyleSnapshot(e){if(!e||"undefined"==typeof window||!window.getComputedStyle)return null;const t=window.getComputedStyle(e),i=e.getBoundingClientRect();return{cssVars:{evGap:t.getPropertyValue("--ba-ev-gap").trim(),evRowGap:t.getPropertyValue("--ba-ev-row-gap").trim(),evPanelMarginTop:t.getPropertyValue("--ba-ev-panel-margin-top").trim(),dockedPaddingInline:t.getPropertyValue("--ba-docked-padding-inline").trim(),dockedGap:t.getPropertyValue("--ba-docked-gap").trim(),dockedButtonMargin:t.getPropertyValue("--ba-docked-button-margin").trim()},computed:{gap:t.gap,rowGap:t.rowGap,columnGap:t.columnGap,marginTop:t.marginTop,marginLeft:t.marginLeft,marginRight:t.marginRight,display:t.display,flexBasis:t.flexBasis,width:t.width,paddingLeft:t.paddingLeft,paddingRight:t.paddingRight,boxSizing:t.boxSizing},rect:{top:i.top,left:i.left,right:i.right,bottom:i.bottom,width:i.width,height:i.height}}}logComputedSpacingDiagnostics(e){if(!i||"undefined"==typeof document)return;const t=document.querySelector("form.botsauto-checklist"),a=document.querySelector(".ba-ev__row"),n=document.querySelector("#ba-ev"),o=document.querySelector(".ba-ev__actions"),s=document.querySelector(".ba-ev__form"),r=document.querySelector(".ba-ev__status"),d=r?r.querySelector("p"):null,l=s?s.querySelector("p"):null,c={reason:e,resolvedFromDataAttrs:t?{ev_gap:t.getAttribute("data-ev-gap"),ev_font_size:t.getAttribute("data-ev-font-size"),ev_radius:t.getAttribute("data-ev-radius")}:null,snapshots:{form:this.getComputedStyleSnapshot(t),row:this.getComputedStyleSnapshot(a),panel:this.getComputedStyleSnapshot(n),actions:this.getComputedStyleSnapshot(o),formInner:this.getComputedStyleSnapshot(s),status:this.getComputedStyleSnapshot(r),statusParagraph:this.getComputedStyleSnapshot(d),formParagraph:this.getComputedStyleSnapshot(l)},conclusions:{}},h=c.snapshots.row,u=c.snapshots.panel,m=c.snapshots.form;if(c.conclusions.evGapVarPresentOnForm=!(!m||!m.cssVars.evGap),c.conclusions.rowInheritsEvGap=!(!h||!h.cssVars.evGap),c.conclusions.panelInheritsEvGap=!(!u||!u.cssVars.evGap),c.conclusions.panelFlexBasis=u?u.computed.flexBasis:"n/a",c.conclusions.panelWidth=u?u.computed.width:"n/a",a&&n){const e=window.getComputedStyle(a).display;c.conclusions.panelIsFlexItemInRow=-1!==e.indexOf("flex")&&n.parentElement===a;const t=Math.abs(n.getBoundingClientRect().top-a.getBoundingClientRect().top)<2;c.conclusions.panelAppearsOnSameVisualRow=t,c.conclusions.layoutMasking=t?"value present but layout keeps panel in same row":"panel starts below identity row"}if(d){const e=window.getComputedStyle(d);c.conclusions.statusParagraphMargin=e.marginTop+" / "+e.marginBottom}if(l){const e=window.getComputedStyle(l);c.conclusions.formParagraphMargin=e.marginTop+" / "+e.marginBottom}console.groupCollapsed("[BA_EV][SPACING]",e),console.groupEnd(),this.logButtonSpacingDiagnostics(e);const g=document.querySelector(".botsauto-docked-bar");if(!g)return;const p=g.querySelector(".ba-row--top"),f=g.querySelector(".ba-row--bottom"),b=g.querySelector(".ba-docked-perc"),v=g.querySelector(".ba-docked-save"),E=this.getComputedStyleSnapshot(g),S=this.getComputedStyleSnapshot(p),_=this.getComputedStyleSnapshot(f),y=this.getComputedStyleSnapshot(b),w=this.getComputedStyleSnapshot(v),F={};E&&y&&(F.barLeftToPercLeft=y.rect.left-E.rect.left),E&&w&&(F.barLeftToSaveLeft=w.rect.left-E.rect.left,F.saveRightToBarRight=E.rect.right-w.rect.right),y&&w&&(F.percRightToSaveLeft=w.rect.left-y.rect.right);g.getAttribute("data-docked-padding-inline"),g.getAttribute("data-docked-gap"),g.getAttribute("data-docked-button-margin"),g.getAttribute("data-docked-width"),!E||E.cssVars.dockedPaddingInline,E&&E.computed.paddingLeft,E&&E.computed.paddingRight,S&&S.computed.gap,y&&(y.computed.marginLeft,y.computed.marginRight),w&&(w.computed.marginLeft,w.computed.marginRight);console.groupCollapsed("[BA_DOCKED][SPACING]",e),console.groupEnd()}logButtonSpacingDiagnostics(e){if(!i||"undefined"==typeof document||!window.getComputedStyle)return;const t={reason:e,buttons:{}};["#ba-ev-send","#ba-ev-verify","#ba-ev-resend","#botsauto-change-email"].forEach(e=>{const i=document.querySelector(e);if(!i)return void(t.buttons[e]="not in DOM (state-dependent)");const a=window.getComputedStyle(i);t.buttons[e]={computed:{paddingTop:a.paddingTop,paddingRight:a.paddingRight,paddingBottom:a.paddingBottom,paddingLeft:a.paddingLeft,marginTop:a.marginTop,marginRight:a.marginRight,marginBottom:a.marginBottom,marginLeft:a.marginLeft,backgroundColor:a.backgroundColor,borderRadius:a.borderRadius},cssVars:{buttonPadding:a.getPropertyValue("--ba-ev-button-padding").trim(),buttonMargin:a.getPropertyValue("--ba-ev-button-margin").trim(),paddingTop:a.getPropertyValue("--ba-ev-button-padding-top").trim(),paddingRight:a.getPropertyValue("--ba-ev-button-padding-right").trim(),paddingBottom:a.getPropertyValue("--ba-ev-button-padding-bottom").trim(),paddingLeft:a.getPropertyValue("--ba-ev-button-padding-left").trim(),marginTop:a.getPropertyValue("--ba-ev-button-margin-top").trim(),marginRight:a.getPropertyValue("--ba-ev-button-margin-right").trim(),marginBottom:a.getPropertyValue("--ba-ev-button-margin-bottom").trim(),marginLeft:a.getPropertyValue("--ba-ev-button-margin-left").trim()}}}),console.groupCollapsed("[BA_EV][BUTTON_SPACING]",e),console.groupEnd()}logFormFieldAlignmentDiagnostics(t){if(i)try{const i=e(".botsauto-checklist-root").first();if(!i.length)return;const a=i.attr("data-layout-mode")||"unknown",n=i.attr("data-form-label-col")||"unknown",o=i.attr("data-stack-breakpoint")||"unknown",s=i[0],r=window.getComputedStyle(s),d=r.getPropertyValue("--ba-form-label-col-width").trim()||r.getPropertyValue("--form-label-width").trim()||"unknown",l=i.find(".botsauto-field").has('label[for="botsauto-existing"]').first(),c=i.find(".botsauto-field").has('label[for="botsauto-email"]').first();if(!l.length||!c.length)return;const h=l.find('label[for="botsauto-existing"]').first(),u=c.find('label[for="botsauto-email"]').first();if(!h.length||!u.length)return;const m=h[0].getBoundingClientRect(),g=u[0].getBoundingClientRect(),p=Math.abs(g.top-m.top),f=c.find(".ba-ev__row").first();let b=0,v=0;if(f.length){const e=window.getComputedStyle(f[0]);b=parseFloat(e.marginTop)||0,v=parseFloat(e.paddingTop)||0}let E=0,S=0;const _=l.find("select, input").not('[type="hidden"]').first(),y=c.find(".ba-ev__row, input").not('[type="hidden"]').first();_.length&&(E=_[0].getBoundingClientRect().top),y.length&&(S=y[0].getBoundingClientRect().top);const w=Math.abs(S-E),F={reason:t,layoutMode:a,labelColumnWidth:{dataAttr:n,computed:d},stackBreakpoint:o,emailRowSpacing:{topMargin:b,topPadding:v,hasTopOffset:b>0||v>0},labelBaselineAlignment:{existingLabelTop:m.top,emailLabelTop:g.top,offset:p,isAligned:p<1},controlColumnAlignment:{existingControlTop:E,emailControlTop:S,offset:w,isAligned:w<1}};F.labelBaselineAlignment.offset>=1&&F.labelBaselineAlignment,F.controlColumnAlignment.offset>=1&&F.controlColumnAlignment,F.emailRowSpacing.hasTopOffset&&F.emailRowSpacing}catch(e){i&&console.error("[BA_EV][ALIGNMENT] Error computing alignment diagnostics",e)}}}e(document).ready(function(){if(!t.enabled)return;const e=new l(t);e.init()&&(window.botsautoEmailVerification.controller=e,window.botsautoEmailVerification.greenfield={getForm:function(){return e.$form&&e.$form.length?e.$form[0]:null},canSubmit:function(){return e.canSubmit()},updateFormHiddenFields:function(){e.updateFormHiddenFields()},showRequiredError:function(){e.showError(o.emailVerificationRequired)}})})}(jQuery);