.vfbs-message{padding:12px 14px;border-radius:8px;margin:0 0 14px}.vfbs-success{background:#edfaef;border:1px solid #b8e6c0;color:#104b1b}.vfbs-error{background:#fff2f2;border:1px solid #f0b4b4;color:#8a2424}.vfbs-form{box-sizing:border-box;margin:0 0 24px}.vfbs-form *{box-sizing:border-box}.vfbs-hp{position:absolute;left:-9999px;visibility:hidden;height:0;overflow:hidden}.vfbs-fields{width:100%}.vfbs-section-wrap{width:100%}.vfbs-section-title{margin:0 0 14px}.vfbs-row{display:flex;flex-wrap:wrap;align-items:flex-start}.vfbs-field{flex:0 0 100%;min-width:0}.vfbs-width-25{flex-basis:calc(25% - 12px)}.vfbs-width-33{flex-basis:calc(33.333% - 11px)}.vfbs-width-50{flex-basis:calc(50% - 8px)}.vfbs-width-66{flex-basis:calc(66.666% - 6px)}.vfbs-width-75{flex-basis:calc(75% - 4px)}.vfbs-width-100{flex-basis:100%}.vfbs-label{display:block;font-weight:600;margin-bottom:7px}.vfbs-required{color:#d63638}.vfbs-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.vfbs-form textarea,.vfbs-form select{display:block;width:100%;border:1px solid #d8d8d8;padding:12px 13px;font-size:16px;line-height:1.35;transition:border-color .15s,box-shadow .15s;background-color:#fff}
.vfbs-form select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;padding-right:52px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23111827' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 18px center!important;background-size:14px 14px!important;background-clip:padding-box!important;cursor:pointer}.vfbs-form textarea{resize:vertical}.vfbs-form input:focus,.vfbs-form textarea:focus,.vfbs-form select:focus{outline:none}.vfbs-choices{display:flex;gap:10px;flex-wrap:wrap}.vfbs-choice{display:flex;align-items:center;gap:8px;border:1px solid #d8d8d8;border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer;position:relative}.vfbs-image-choices .vfbs-choice{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:120px;max-width:180px}.vfbs-choice-image{display:block;width:96px;height:72px;border-radius:8px;overflow:hidden;background:#f3f4f5;flex:0 0 auto}.vfbs-choice-image img{width:100%;height:100%;object-fit:cover;display:block}.vfbs-choice:has(input:checked){border-color:#2271b1;box-shadow:0 0 0 2px rgba(34,113,177,.15)}.vfbs-hidden-select{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.vfbs-image-dropdown{position:relative;width:100%}.vfbs-image-dropdown-toggle{width:100%;display:flex;align-items:center;gap:10px;border:1px solid #d8d8d8;background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;text-align:left;font:inherit;color:inherit;min-height:48px}.vfbs-image-dropdown-selected-image{display:block;width:42px;height:34px;border-radius:6px;overflow:hidden;background:#f3f4f5;flex:0 0 auto}.vfbs-image-dropdown-selected-image:empty{display:none}.vfbs-image-dropdown-selected-image img{width:100%;height:100%;object-fit:cover;display:block}.vfbs-image-dropdown-selected-label{flex:1}.vfbs-image-dropdown-arrow{margin-left:auto}.vfbs-image-dropdown-menu{position:absolute;z-index:999;top:calc(100% + 6px);left:0;right:0;max-height:280px;overflow:auto;background:#fff;border:1px solid #d8d8d8;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.13);padding:6px}.vfbs-image-dropdown-option{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;border-radius:8px;padding:8px;cursor:pointer;text-align:left;font:inherit;color:inherit}.vfbs-image-dropdown-option:hover,.vfbs-image-dropdown-option.active{background:#f0f6fc}.vfbs-checkline{display:flex;align-items:flex-start;gap:9px}.vfbs-help{display:block;margin-top:6px;color:#646970}.vfbs-section h3{margin:0 0 4px}.vfbs-submit-wrap{margin-top:16px}.vfbs-submit{display:inline-block;width:auto;min-width:140px;border:none;padding:13px 22px;font-size:16px;font-weight:700;cursor:pointer;transition:background .15s}.vfbs-submit:disabled{opacity:.65;cursor:wait}@media(max-width:767px){.vfbs-field[class*=vfbs-width-]{flex-basis:100%}.vfbs-form{padding-left:16px!important;padding-right:16px!important}.vfbs-image-choices .vfbs-choice{min-width:calc(50% - 6px);max-width:none}}
.vfbs-ajax-message:empty{display:none}.vfbs-form [aria-invalid=true]{border-color:#d63638!important;box-shadow:0 0 0 2px rgba(214,54,56,.15)!important}


/* Modern drag-and-drop file upload */
.vfbs-file-upload{width:100%}
.vfbs-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.vfbs-file-dropzone{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:138px;padding:22px 18px;border:2px dashed #cfd8e3;border-radius:12px;background:#fff;text-align:center;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}
.vfbs-file-dropzone:hover,.vfbs-file-upload.is-dragover .vfbs-file-dropzone{border-color:#7c8ea6;background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.06)}
.vfbs-file-input:focus + .vfbs-file-dropzone{border-color:#2271b1;box-shadow:0 0 0 3px rgba(34,113,177,.18)}
.vfbs-file-icon{display:inline-flex;align-items:center;justify-content:center;color:#8b98a8;line-height:1}
.vfbs-file-title{display:block;font-size:15px;font-weight:600;color:#3f4856;line-height:1.35}
.vfbs-file-subtitle{display:block;font-size:13px;color:#6b7280;line-height:1.35}
.vfbs-file-name{display:block;margin-top:4px;font-size:13px;font-weight:600;color:#2271b1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vfbs-file-upload.has-file .vfbs-file-dropzone{border-color:#9cc7a5;background:#f7fff8}
.vfbs-file-upload.has-file .vfbs-file-icon{color:#3f8f4e}
.vfbs-file-upload.is-invalid .vfbs-file-dropzone{border-color:#d63638!important;background:#fff7f7!important;box-shadow:0 0 0 2px rgba(214,54,56,.12)!important}


/* v1.3.4 select arrow spacing + visible button width support */
.vfbs-form select{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;padding-right:52px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23111827' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 18px center!important;background-size:14px 14px!important;background-clip:padding-box!important;}
.vfbs-form select::-ms-expand{display:none;}
.vfbs-form .vfbs-submit{max-width:100%;}
.vfbs-form .vfbs-image-dropdown-toggle{padding-right:18px!important;}
.vfbs-form .vfbs-image-dropdown-arrow{padding-left:18px;margin-right:4px;flex:0 0 auto;}


/* v1.3.2 Text/HTML Note CTA button */
.vfbs-html .vfbs-text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#111827;color:#fff!important;text-decoration:none!important;border-radius:10px;padding:11px 18px;font-weight:700;line-height:1.2;margin:6px 0;border:0;box-shadow:0 8px 18px rgba(17,24,39,.14)}
.vfbs-html .vfbs-text-button:hover{background:#374151;color:#fff!important;text-decoration:none!important}
.vfbs-html h2,.vfbs-html h3{margin:0 0 10px;line-height:1.2}.vfbs-html p{margin:0 0 10px}.vfbs-html ul,.vfbs-html ol{margin:0 0 10px 20px}

/* v1.3.5 conditional logic */
.vfbs-conditional-hidden{display:none!important}


/* v1.3.7 field information icon */
.vfbs-info-wrap{display:inline-flex;position:relative;vertical-align:middle;margin-left:6px;align-items:center;line-height:1}
.vfbs-info-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border:1px solid currentColor;border-radius:999px;font-size:11px;font-weight:700;font-style:normal;line-height:1;cursor:help;opacity:.78;background:rgba(255,255,255,.72);user-select:none}
.vfbs-info-icon:focus{outline:none;box-shadow:0 0 0 3px rgba(34,113,177,.18)}
.vfbs-info-tooltip{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%) translateY(4px);width:max-content;max-width:260px;padding:9px 11px;border-radius:9px;background:#111827;color:#fff!important;font-size:13px!important;font-weight:400!important;line-height:1.4;text-align:left;box-shadow:0 12px 28px rgba(15,23,42,.22);opacity:0;visibility:hidden;pointer-events:none;z-index:1000;white-space:normal}
.vfbs-info-tooltip:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border-width:6px 6px 0 6px;border-style:solid;border-color:#111827 transparent transparent transparent}
.vfbs-info-wrap:hover .vfbs-info-tooltip,.vfbs-info-wrap:focus-within .vfbs-info-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.vfbs-checkline .vfbs-info-wrap{margin-left:7px}

/* v1.3.9 select image popup beside normal dropdown */
.vfbs-select-popup-wrap{position:relative;display:flex;align-items:stretch;gap:10px;width:100%;}
.vfbs-select-popup-wrap select{flex:1;min-width:0;}
.vfbs-select-image-trigger{min-width:max-content;border:1px solid #d8d8d8;background:#fff;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:inherit;transition:box-shadow .15s,border-color .15s,background .15s;padding:0 14px;white-space:nowrap;font-weight:600;}
.vfbs-select-image-trigger:hover,.vfbs-select-image-trigger:focus{border-color:#2271b1;box-shadow:0 0 0 2px rgba(34,113,177,.12);outline:none;}
.vfbs-select-image-trigger[hidden]{display:none!important;}
.vfbs-select-image-trigger-text{font-size:.92em;line-height:1.2;}
.vfbs-select-image-popover{position:absolute;z-index:1000;top:calc(100% + 8px);right:0;width:min(280px,100%);background:#fff;border:1px solid #d8d8d8;border-radius:14px;box-shadow:0 18px 42px rgba(15,23,42,.18);padding:12px;}
.vfbs-select-image-popover[hidden]{display:none!important;}
.vfbs-select-image-popover img{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:10px;background:#f6f7f7;}
.vfbs-select-image-caption{display:block;margin-top:8px;font-size:.92em;font-weight:600;color:inherit;}
.vfbs-select-image-close{position:absolute;top:6px;right:6px;width:26px;height:26px;border:0;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font-size:18px;line-height:24px;cursor:pointer;}
@media(max-width:767px){.vfbs-select-popup-wrap{gap:8px;align-items:stretch}.vfbs-select-image-trigger{padding:0 12px;font-size:.9em}.vfbs-select-image-popover{left:0;right:auto;width:100%;}}


/* v1.4.2 clean normal radio buttons: no card/background/box shape */
.vfbs-form .vfbs-radio-choices:not(.vfbs-image-choices){display:flex;gap:12px 18px;flex-wrap:wrap;align-items:center}
.vfbs-form .vfbs-radio-choices:not(.vfbs-image-choices) .vfbs-choice{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:3px 0!important;min-width:0;max-width:none;display:inline-flex;flex-direction:row;align-items:center;gap:8px;text-align:left}
.vfbs-form .vfbs-radio-choices:not(.vfbs-image-choices) .vfbs-choice:has(input:checked){background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.vfbs-form .vfbs-radio-choices:not(.vfbs-image-choices) input[type=radio]{margin:0;flex:0 0 auto}

/* v1.4.5 checkbox styling: clean native normal options; image choices can be styled from settings */
.vfbs-form .vfbs-checkbox-choices:not(.vfbs-image-choices) .vfbs-choice{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:3px 0!important}
.vfbs-form .vfbs-checkbox-choices:not(.vfbs-image-choices) .vfbs-choice:has(input:checked){background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.vfbs-form .vfbs-checkbox-choices.vfbs-image-choices .vfbs-choice{background:#fff;border:1px solid #d8d8d8}
