/*
 * Values in this block are compatibility fallbacks for legacy markup.
 * System and saved presets are generated by Style_Repository and override them.
 */
.cf7vb-form {
    --cf7vb-font-family: inherit;
    --cf7vb-form-max-width: 100%;
    --cf7vb-form-background: #fff;
    --cf7vb-form-padding: 0;
    --cf7vb-form-radius: 0;
    --cf7vb-column-gap: 24px;
    --cf7vb-row-gap: 5px;
    --cf7vb-text-color: #1d2327;
    --cf7vb-label-color: #1d2327;
    --cf7vb-label-size: 14px;
    --cf7vb-label-font-weight: 600;
    --cf7vb-description-color: #646970;
    --cf7vb-description-font-size: 13px;
    --cf7vb-description-font-weight: 400;
    --cf7vb-field-gap: 16px;
    --cf7vb-input-height: 52px;
    --cf7vb-input-font-size: 0.92rem;
    --cf7vb-input-font-weight: 400;
    --cf7vb-textarea-min-height: 120px;
    --cf7vb-input-background: #fff;
    --cf7vb-input-color: #1d2327;
    --cf7vb-placeholder-color: #8c8f94;
    --cf7vb-border-color: #d9dee7;
    --cf7vb-border-width: 1px;
    --cf7vb-border-radius: 12px;
    --cf7vb-input-padding-x: 16px;
    --cf7vb-focus-color: #f90050;
    --cf7vb-select-background: #fff;
    --cf7vb-select-color: #1d2327;
    --cf7vb-select-border-color: #d9dee7;
    --cf7vb-select-radius: 12px;
    --cf7vb-textarea-background: #fff;
    --cf7vb-textarea-color: #1d2327;
    --cf7vb-textarea-border-color: #d9dee7;
    --cf7vb-textarea-radius: 12px;
    --cf7vb-button-background: #f90050;
    --cf7vb-button-color: #fff;
    --cf7vb-button-font-size: 16px;
    --cf7vb-button-hover: #df0048;
    --cf7vb-button-radius: 999px;
    --cf7vb-button-padding-y: 14px;
    --cf7vb-button-padding-x: 24px;
    --cf7vb-choice-accent: #f90050;
    --cf7vb-file-button-bg: #f0f0f1;
    --cf7vb-file-button-color: #1d2327;
    --cf7vb-file-button-hover-bg: #dcdcde;
    --cf7vb-file-button-hover-color: #df0048;
    --cf7vb-file-button-border: #d9dee7;
    --cf7vb-file-button-radius: 12px;
    --cf7vb-error-text-color: #d63638;
    --cf7vb-error-font-size: 13px;
    --cf7vb-response-font-size: 1em;
    --cf7vb-response-padding-y: 0.2em;
    --cf7vb-response-padding-x: 1em;
    --cf7vb-response-background: #fff;
    --cf7vb-response-background-opacity: 0;
    --cf7vb-response-border-width: 2px;
    --cf7vb-response-border-color: #ffb900;
    box-sizing: border-box;
    width: 100%;
    max-width: var(--cf7vb-form-max-width);
    margin-right: auto;
    margin-left: auto;
    color: var(--cf7vb-text-color);
    font-family: var(--cf7vb-font-family);
    padding: var(--cf7vb-form-padding);
    border-radius: var(--cf7vb-form-radius);
    background: var(--cf7vb-form-background);
}

.cf7vb-form .cf7vb-field {
    margin-bottom: 0;
}

/* Field spacing exists only between widgets inside the same column. */
.cf7vb-form .cf7vb-column > .cf7vb-field ~ .cf7vb-field,
.cf7vb-form .cf7vb-row > .cf7vb-col > .cf7vb-field ~ .cf7vb-field,
.cf7vb-form > .row > [class*="col-"] > .cf7vb-field ~ .cf7vb-field {
    margin-top: var(--cf7vb-field-gap);
}

.cf7vb-form .cf7vb-field > label,
.cf7vb-form .cf7vb-field > legend,
.cf7vb-form .cf7vb-field fieldset > legend {
    color: var(--cf7vb-label-color);
    font-size: var(--cf7vb-label-size);
    font-weight: var(--cf7vb-label-font-weight) !important;
}

.cf7vb-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]),
.cf7vb-form select,
.cf7vb-form textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    border: var(--cf7vb-border-width) solid var(--cf7vb-border-color) !important;
    border-radius: var(--cf7vb-border-radius) !important;
    background: var(--cf7vb-input-background) !important;
    color: var(--cf7vb-input-color) !important;
    font: inherit;
    font-size: var(--cf7vb-input-font-size);
    font-weight: var(--cf7vb-input-font-weight) !important;
}

.cf7vb-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="file"]),
.cf7vb-form select {
    height: var(--cf7vb-input-height) !important;
    min-height: var(--cf7vb-input-height) !important;
    padding-right: var(--cf7vb-input-padding-x) !important;
    padding-left: var(--cf7vb-input-padding-x) !important;
}

.cf7vb-form textarea {
    min-height: var(--cf7vb-textarea-min-height);
    padding: 10px var(--cf7vb-input-padding-x) !important;
}

.cf7vb-form select {
    border-color: var(--cf7vb-select-border-color) !important;
    border-radius: var(--cf7vb-select-radius) !important;
    background-color: var(--cf7vb-select-background) !important;
    color: var(--cf7vb-select-color) !important;
}

.cf7vb-form textarea {
    border-color: var(--cf7vb-textarea-border-color) !important;
    border-radius: var(--cf7vb-textarea-radius) !important;
    background-color: var(--cf7vb-textarea-background) !important;
    color: var(--cf7vb-textarea-color) !important;
}

.cf7vb-form input[type="file"] {
    border: var(--cf7vb-border-width) solid var(--cf7vb-border-color) !important;
    border-radius: var(--cf7vb-file-button-radius) !important;
    background: var(--cf7vb-input-background) !important;
    color: var(--cf7vb-input-color) !important;
}

.cf7vb-form input::placeholder,
.cf7vb-form textarea::placeholder {
    color: var(--cf7vb-placeholder-color);
}

.cf7vb-form .cf7vb-description {
    color: var(--cf7vb-description-color);
    font-size: var(--cf7vb-description-font-size);
    font-weight: var(--cf7vb-description-font-weight);
}

.cf7vb-form input:focus,
.cf7vb-form select:focus,
.cf7vb-form textarea:focus {
    border-color: var(--cf7vb-focus-color);
    outline: 2px solid var(--cf7vb-focus-color);
    outline-offset: 1px;
}

.cf7vb-form input[type="checkbox"],
.cf7vb-form input[type="radio"] {
    accent-color: var(--cf7vb-choice-accent) !important;
}

.cf7vb-form input[type="submit"],
.cf7vb-form button[type="submit"],
.cf7vb-form .cf7vb-preview-submit {
    padding: var(--cf7vb-button-padding-y) var(--cf7vb-button-padding-x);
    border: 0 !important;
    border-radius: var(--cf7vb-button-radius) !important;
    background: var(--cf7vb-button-background) !important;
    color: var(--cf7vb-button-color) !important;
    appearance: none;
    font: inherit;
    font-size: var(--cf7vb-button-font-size);
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(249, 0, 80, 0.18);
    transition: background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.cf7vb-form .wpcf7-not-valid-tip {
    color: var(--cf7vb-error-text-color);
    font-size: var(--cf7vb-error-font-size);
}

.wpcf7 form:has(.cf7vb-form) .wpcf7-response-output {
    font-family: var(--cf7vb-font-family);
}

.wpcf7 form.invalid:has(.cf7vb-form) .wpcf7-response-output,
.wpcf7 form.unaccepted:has(.cf7vb-form) .wpcf7-response-output,
.wpcf7 form.payment-required:has(.cf7vb-form) .wpcf7-response-output,
.cf7vb-form .cf7vb-style-preview-response {
    padding: var(--cf7vb-response-padding-y) var(--cf7vb-response-padding-x) !important;
    border-width: var(--cf7vb-response-border-width) !important;
    border-style: solid !important;
    border-color: var(--cf7vb-response-border-color) !important;
    background: transparent !important;
    background: rgb(from var(--cf7vb-response-background) r g b / var(--cf7vb-response-background-opacity)) !important;
    font-size: var(--cf7vb-response-font-size);
}

.cf7vb-form input[type="submit"]:hover,
.cf7vb-form button[type="submit"]:hover {
    background: var(--cf7vb-button-hover) !important;
    box-shadow: 0 12px 24px rgba(249, 0, 80, 0.25);
    transform: translateY(-2px);
}

.cf7vb-form input[type="submit"]:active,
.cf7vb-form button[type="submit"]:active {
    box-shadow: 0 5px 12px rgba(249, 0, 80, 0.18);
    transform: translateY(0);
}

@supports (color: color-mix(in srgb, #000 50%, #fff)) {
    .cf7vb-form input:focus,
    .cf7vb-form select:focus,
    .cf7vb-form textarea:focus {
        outline-color: color-mix(in srgb, var(--cf7vb-focus-color) 28%, transparent);
    }
}
