.candid-fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 15px 0; /* Row gap */
    margin: 0 -10px; /* Offset gutter */
}

.candid-field-group {
    padding: 0 10px; /* Gutter */
    margin-bottom: 15px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

/* V2.1 Enhancement: Hide label class */
.candid-field-group.hide-label .candid-field-label {
    display: none;
}

/* Scoped Columns - SAFE from Elementor */
.candid-col-100 { width: 100%; }
.candid-col-50  { width: 50%; }
.candid-col-33  { width: 33.33%; }
.candid-col-25  { width: 25%; }

/* Mobile Stack */
@media (max-width: 768px) {
    .candid-col-50, .candid-col-33, .candid-col-25 { width: 100%; }
}

/* Basic Styling */
.candid-field-group .candid-field-label {
    margin-bottom: 5px; 
    font-weight: 600;
}
.candid-required-asterisk {
    color: red;
    font-weight: bold;
}

/* Input/Textarea/Select (The target for Elementor Styles) */
.candid-field-group input:not([type="submit"]):not([type="radio"]):not([type="checkbox"]), 
.candid-field-group textarea, 
.candid-field-group select {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px; 
    box-sizing: border-box;
    transition: border-color 0.3s, background-color 0.3s;
}

/* Checkbox/Radio Styling */
.candid-check-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.candid-check-item {
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Submit Button (The target for Elementor Styles) */
.candid-submit-btn {
    margin-top: 15px;
    padding: 12px 24px;
    background: #000;
    color: #fff;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}
.candid-submit-btn:disabled {
    opacity: 0.5;
    cursor: wait;
}

/* Response Messages (The target for Elementor Styles) */
.candid-form-response {
    margin-bottom: 15px;
    padding: 10px;
    display: none;
    border-radius: 4px;
    font-weight: 500;
}
.candid-form-response.success { color: green; background: #eaffea; }
.candid-form-response.error { color: red; background: #ffeaea; }

/* Honeypot: Stealthily hide the anti-spam field */
.candid-honeypot-wrap {
    position: absolute !important;
    left: -9999px !important;
    visibility: hidden !important;
    display: none !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
}