.elementor-form.candid-forms-form {
    width: 100%;
}

.elementor-form .elementor-field-group {
    margin-bottom: 15px;
}

.elementor-form .elementor-field {
    width: 100%;
    box-sizing: border-box;
}

.elementor-form .elementor-field-textual {
    min-height: 120px;
}

.elementor-form .elementor-button {
    cursor: pointer;
}

.candid-forms-form .elementor-field-group.candid-field-hide-label .elementor-field-label {
    display: none;
}

.candid-forms-form .elementor-field-group.candid-field-hide-label .elementor-field-control-wrapper {
    margin-top: 0;
}

/* Explicit column widths for Candid Forms inside Elementor */
.candid-forms-form .elementor-field-group.elementor-column {
    box-sizing: border-box;
}

/* Desktop widths */
.candid-forms-form .elementor-field-group.elementor-col-25 { width: 25%; }
.candid-forms-form .elementor-field-group.elementor-col-33 { width: 33.3333%; }
.candid-forms-form .elementor-field-group.elementor-col-50 { width: 50%; }
.candid-forms-form .elementor-field-group.elementor-col-66 { width: 66.6667%; }
.candid-forms-form .elementor-field-group.elementor-col-75 { width: 75%; }
.candid-forms-form .elementor-field-group.elementor-col-100 { width: 100%; }

/* Stack on tablet / mobile like Elementor default */
@media (max-width: 1024px) {
    .candid-forms-form .elementor-field-group.elementor-column {
        width: 100%;
    }
}

/* Candid Forms explicit flex layout for columns */
.candid-forms-form .elementor-form-fields-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.candid-forms-form .elementor-field-group.elementor-column {
    box-sizing: border-box;
    flex: 0 0 100%;
    max-width: 100%;
}

/* Column widths on desktop */
.candid-forms-form .elementor-field-group.elementor-col-25 { flex-basis: 25%; max-width: 25%; }
.candid-forms-form .elementor-field-group.elementor-col-33 { flex-basis: 33.3333%; max-width: 33.3333%; }
.candid-forms-form .elementor-field-group.elementor-col-50 { flex-basis: 50%; max-width: 50%; }
.candid-forms-form .elementor-field-group.elementor-col-66 { flex-basis: 66.6667%; max-width: 66.6667%; }
.candid-forms-form .elementor-field-group.elementor-col-75 { flex-basis: 75%; max-width: 75%; }
.candid-forms-form .elementor-field-group.elementor-col-100 { flex-basis: 100%; max-width: 100%; }

/* Stack on tablet / mobile */
@media (max-width: 1024px) {
    .candid-forms-form .elementor-field-group.elementor-column {
        flex-basis: 100%;
        max-width: 100%;
    }
}
