/* Basic form layout and spacing */
.mwe-form {
    display: flex;
    flex-direction: column;
    gap: 20px; /* default gap, adjustable via Elementor control */
    width: 100%;
    box-sizing: border-box;
}

/* Two-column row for Name + Email */
.mwe-row.two-cols {
    display: flex;
    gap: 20px;
    width: 100%;
    box-sizing: border-box;
}

/* Short fields (Name, Email) */
.mwe-form .short-field {
    flex: 1 1 0%;
    box-sizing: border-box;
    width: 100%;
    padding: 12px;
    font-size: 16px;
}

/* Long fields (Subject, Message) */
.mwe-form .long-field {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    font-size: 16px;
}

/* Ensure textarea has reasonable min height */
.mwe-form textarea.long-field {
    min-height: 180px;
    resize: vertical;
}

/* Info text between message and button */
.mwe-info-text {
    margin-top: 4px;
    margin-bottom: 4px;
    font-size: 14px;
    color: #555;
}

/* Button */
.mwe-form button {
    display: inline-block;
    padding: 12px 24px;
    font-size: 16px;
    cursor: pointer;
    border: none;
    border-radius: 4px;
}

/* Response messages */
.mwe-response {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.4;
}

.mwe-response.mwe-success { color: #2e7d32; }
.mwe-response.mwe-error { color: #b00020; }

/* Responsive: stack columns on narrow screens */
@media (max-width: 700px) {
    .mwe-row.two-cols {
        flex-direction: column;
    }
}

/* Make inputs and button full width where needed */
.mwe-form input[type="text"],
.mwe-form input[type="email"],
.mwe-form textarea,
.mwe-form button {
    width: 100%;
}