/* WC Form Builder Addon – theme-independent frontend layout v1.4.0 */

.wcfb-addon-form,
.wcfb-addon-form *,
.wcfb-addon-repeater,
.wcfb-addon-repeater *{
    box-sizing:border-box;
}

.wcfb-addon-form{
    width:100%;
    max-width:100%;
    clear:both;
}

.wcfb-addon-form .wcfb-addon-repeater{
    display:block;
    width:100%;
    max-width:100%;
    border:1px solid #dcdcde;
    padding:16px;
    border-radius:8px;
    margin:0 0 20px;
    background:#fff;
}

.wcfb-addon-rows{
    display:flex;
    flex-direction:column;
    gap:18px;
    width:100%;
}

.wcfb-addon-row{
    display:block;
    width:100%;
    max-width:100%;
    padding:14px;
    border:1px solid #ececec;
    border-radius:8px;
    background:#fafafa;
    margin:0 0 10px;
}

.wcfb-addon-row .wcfb-addon-grid,
.wcfb-addon-row-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 22px;
    align-items:start;
    width:100%;
    max-width:100%;
}

.wcfb-addon-field,
.wcfb-addon-row .wcfb-addon-field{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    float:none !important;
}

.wcfb-addon-field-full{
    grid-column:1 / -1;
}

.wcfb-addon-field label,
.wcfb-addon-row .wcfb-addon-field label{
    display:block !important;
    width:100%;
    margin:0 0 8px !important;
    padding:0 !important;
    line-height:1.35;
    font-weight:600;
    opacity:1 !important;
    visibility:visible !important;
}

.wcfb-addon-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.wcfb-addon-field select,
.wcfb-addon-field textarea{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-height:42px;
    margin:0 !important;
    padding:10px 12px !important;
    border:1px solid #c8c8c8 !important;
    border-radius:4px;
    background:#fff !important;
    color:#111 !important;
    opacity:1 !important;
    visibility:visible !important;
    box-shadow:none !important;
    line-height:1.4;
    appearance:auto;
    -webkit-appearance:auto;
}

.wcfb-addon-field textarea{
    min-height:110px;
    resize:vertical;
}

.wcfb-addon-actions,
.wcfb-addon-row-actions{
    margin-top:14px;
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    align-items:center;
}

.wcfb-addon-actions .button,
.wcfb-addon-actions button,
.wcfb-addon-row-actions .button,
.wcfb-addon-row-actions button,
.wcfb-addon-form button[type="submit"],
.wcfb-addon-form input[type="submit"]{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:140px;
    margin:0;
    cursor:pointer;
}

.wcfb-addon-required{color:#d63638;margin-left:4px}
.wcfb-addon-message{padding:10px 12px;border-radius:6px;margin:0 0 14px}
.wcfb-addon-success{background:#edfaef;color:#146c2e;border:1px solid #46b450}
.wcfb-addon-error{background:#fcf0f1;color:#8a2424;border:1px solid #d63638}
.wcfb-addon-ajax-message{margin:0 0 12px}

.wcfb-addon-form-unified .wcfb-addon-unified-shell{
    display:flex;
    flex-direction:column;
    gap:18px;
    background:transparent;
}

.wcfb-addon-form-unified .wcfb-addon-unified-section{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:20px 0 !important;
    margin:0 0 18px 0 !important;
}

.wcfb-addon-form-unified .wcfb-addon-unified-section:last-child{margin-bottom:0 !important}
.wcfb-addon-form-unified p:last-child{margin-top:18px;margin-bottom:0}

@media (max-width:767px){
    .wcfb-addon-row .wcfb-addon-grid,
    .wcfb-addon-row-grid{
        grid-template-columns:1fr;
    }
    .wcfb-addon-field,
    .wcfb-addon-field-full{
        grid-column:1 / -1;
    }
}


/* v1.4.0 hard fallback: protects controls from aggressive theme/WPBakery/WooCommerce CSS. */
.wcfb-addon-form .wcfb-addon-control,
.wcfb-addon-form input.wcfb-addon-input,
.wcfb-addon-form select.wcfb-addon-select,
.wcfb-addon-form textarea.wcfb-addon-textarea,
.wcfb-addon-repeater .wcfb-addon-control,
.wcfb-addon-repeater input.wcfb-addon-input,
.wcfb-addon-repeater select.wcfb-addon-select,
.wcfb-addon-repeater textarea.wcfb-addon-textarea{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:44px !important;
    height:auto !important;
    margin:0 !important;
    padding:10px 12px !important;
    border:1px solid #c8c8c8 !important;
    border-radius:4px !important;
    background:#fff !important;
    color:#111 !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    z-index:auto !important;
    line-height:1.4 !important;
    box-sizing:border-box !important;
    pointer-events:auto !important;
    -webkit-text-fill-color:#111 !important;
}

.wcfb-addon-form textarea.wcfb-addon-textarea,
.wcfb-addon-repeater textarea.wcfb-addon-textarea{
    min-height:110px !important;
}
