.pdcf-wrap {
    --pdcf-form-max-width: none;
    --pdcf-gap: 30px;
    --pdcf-mobile-gap: 18px;
    --pdcf-area-bg: transparent;
    --pdcf-area-pad-y: 0px;
    --pdcf-area-pad-x: 0px;
    --pdcf-area-radius: 0px;
    --pdcf-mobile-area-pad-y: 18px;
    --pdcf-mobile-area-pad-x: 14px;
    --pdcf-field-bg: #fff;
    --pdcf-field-text: #111;
    --pdcf-placeholder: #111;
    --pdcf-border: #fff;
    --pdcf-border-width: 0px;
    --pdcf-radius: 26px;
    --pdcf-font-size: 18px;
    --pdcf-pad-y: 20px;
    --pdcf-pad-x: 24px;
    --pdcf-input-height: 64px;
    --pdcf-textarea-height: 188px;
    --pdcf-focus: #84231f;
    --pdcf-focus-width: 3px;
    --pdcf-button: #84231f;
    --pdcf-button-hover: #6f1d1a;
    --pdcf-button-text: #fff;
    --pdcf-button-radius: 26px;
    --pdcf-button-font-size: 30px;
    --pdcf-button-font-weight: 400;
    --pdcf-button-pad-y: 19px;
    --pdcf-button-pad-x: 38px;
    --pdcf-align: flex-end;
    --pdcf-button-width: auto;
    --pdcf-notice-bg: #fff;
    --pdcf-notice-radius: 14px;
    --pdcf-success: #27823a;
    --pdcf-error: #b32d2e;
    width: 100%;
    max-width: var(--pdcf-form-max-width);
    margin-left: auto;
    margin-right: auto;
    background-color: var(--pdcf-area-bg);
    padding: var(--pdcf-area-pad-y) var(--pdcf-area-pad-x);
    border-radius: var(--pdcf-area-radius);
    box-sizing: border-box;
}


.pdcf-form {
    display: grid;
    gap: var(--pdcf-gap);
}

/*
 * Divi applies fairly broad form-field styles late in the cascade.
 * These selectors are deliberately scoped to the PD form so the saved
 * design settings win without affecting other forms on the page.
 */
.pdcf-wrap .pdcf-field > input[type="text"],
.pdcf-wrap .pdcf-field > input[type="email"],
.pdcf-wrap .pdcf-field > textarea {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    border: var(--pdcf-border-width) solid var(--pdcf-border) !important;
    outline: 0 !important;
    background-color: var(--pdcf-field-bg) !important;
    background-image: none !important;
    color: var(--pdcf-field-text) !important;
    border-radius: var(--pdcf-radius) !important;
    padding: var(--pdcf-pad-y) var(--pdcf-pad-x) !important;
    margin: 0 !important;
    font-family: inherit !important;
    font-size: var(--pdcf-font-size) !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.pdcf-wrap .pdcf-field > input[type="text"],
.pdcf-wrap .pdcf-field > input[type="email"] {
    height: var(--pdcf-input-height) !important;
    min-height: var(--pdcf-input-height) !important;
}

.pdcf-wrap .pdcf-field > textarea {
    height: var(--pdcf-textarea-height) !important;
    min-height: var(--pdcf-textarea-height) !important;
    resize: vertical !important;
}

.pdcf-wrap .pdcf-field > input::placeholder,
.pdcf-wrap .pdcf-field > textarea::placeholder {
    color: var(--pdcf-placeholder);
    opacity: 1;
}

.pdcf-wrap .pdcf-field > input:focus,
.pdcf-wrap .pdcf-field > textarea:focus {
    box-shadow: 0 0 0 var(--pdcf-focus-width) var(--pdcf-focus);
}

.pdcf-actions {
    display: flex;
    justify-content: var(--pdcf-align);
}

.pdcf-submit {
    appearance: none;
    width: var(--pdcf-button-width);
    border: 0;
    border-radius: var(--pdcf-button-radius);
    background: var(--pdcf-button);
    color: var(--pdcf-button-text);
    padding: var(--pdcf-button-pad-y) var(--pdcf-button-pad-x);
    min-height: var(--pdcf-input-height);
    font-family: inherit;
    font-size: var(--pdcf-button-font-size);
    font-weight: var(--pdcf-button-font-weight);
    line-height: 1;
    cursor: pointer;
    transition: transform .15s ease, opacity .15s ease, background-color .15s ease;
}

.pdcf-submit:hover {
    background: var(--pdcf-button-hover);
    transform: translateY(-1px);
}

.pdcf-submit:focus-visible {
    outline: var(--pdcf-focus-width) solid var(--pdcf-focus);
    outline-offset: 3px;
}

.pdcf-notice {
    margin: 0 0 22px;
    padding: 14px 18px;
    border-radius: var(--pdcf-notice-radius);
    background: var(--pdcf-notice-bg);
}

.pdcf-notice--success {
    border-left: 4px solid var(--pdcf-success);
}

.pdcf-notice--error {
    border-left: 4px solid var(--pdcf-error);
}

.pdcf-hp {
    position: absolute !important;
    left: -10000px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

@media (max-width: 767px) {
    .pdcf-wrap {
        padding: var(--pdcf-mobile-area-pad-y) var(--pdcf-mobile-area-pad-x);
    }

    .pdcf-form {
        gap: var(--pdcf-mobile-gap);
    }
}

.pdcf-notice[hidden] {
    display: none !important;
}
