/* ============================================
   TWMP Forms – 3 Column Layout + Form Styling
   ============================================ */

/* Main form container */
.twmp-member-form {
    border: 1px solid #ccc;
    background: #fafafa;
    padding: 20px;
    margin-top: 20px;
    font-family: Arial, sans-serif;
}

/* FORCE the Select Form container to be small */
.twmp-form-selector-container {
    width: 280px !important;
    max-width: 280px !important;
    display: inline-block !important;
    margin-bottom: 20px;
}

/* Form selector label */
.twmp-form-selector label {
    display: block;
    margin-bottom: 6px;
}

/* Dropdown fills the small container */
.twmp-form-selector select {
    width: 100% !important;
    max-width: 100% !important;
}

/* 3-column fixed layout */
.twmp-row {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-bottom: 20px;
}

.twmp-col {
    flex: 1;
    min-width: 0;
}

.twmp-col-full {
    flex: 1 0 100%;
}

/* Labels */
.twmp-member-form label {
    display: block;
    font-weight: 600;
    margin-bottom: 4px;
}

/* Inputs */
.twmp-member-form input[type="text"],
.twmp-member-form input[type="email"],
.twmp-member-form input[type="date"],
.twmp-member-form input[type="number"],
.twmp-member-form select,
.twmp-member-form textarea {
    width: 100%;
    padding: 6px 8px;
    margin-bottom: 12px;
    border: 1px solid #bbb;
    border-radius: 4px;
    box-sizing: border-box;
    font-size: 14px;
}

/* Textarea */
.twmp-member-form textarea {
    resize: vertical;
}

/* Buttons */
.twmp-member-form button {
    padding: 8px 16px;
    background: #0073aa;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    cursor: pointer;
}

.twmp-member-form button:hover {
    background: #005f8d;
}

/* Success message */
.twmp-success {
    border: 1px solid #0a0;
    background: #e8ffe8;
    color: #060;
    padding: 12px;
    margin-bottom: 20px;
    border-radius: 4px;
}

/* Error message */
.twmp-error {
    border: 1px solid #c00;
    background: #ffecec;
    color: #900;
    padding: 12px;
    margin-bottom: 20px;
    border-radius: 4px;
}

.twmp-error ul {
    margin: 0;
    padding-left: 20px;
}

/* Force selector to be small */
.twmp-form-selector-container {
    width: 280px !important;
    max-width: 280px !important;
    display: inline-block !important;
}

/* Allow the form to expand full width */
.twmp-member-form {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

.twmp-form h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
    margin-top: 0;
}
