/* =============================================================
   MT. SAC ALUMNI FORM CUSTOM STYLES
   ============================================================= */

/* 1. Overall Form Container */
.omni-form, 
[data-el="form-container"] {
    max-width: 850px;
    margin: 2rem auto;
    font-family: "Source Sans Pro", Helvetica, Arial, sans-serif;
    color: #333;
}

/* 2. Global Label Styling (Forces Labels Above Inputs) */
.omni-form label,
[data-el="label"] {
    display: block !important;
    width: 100% !important;
    float: none !important;
    text-align: left !important;
    font-weight: 600 !important;
    font-size: 1rem;
    margin-bottom: 8px !important;
    color: #1a1a1a;
}

/* 3. Global Input Field Styling */
.omni-form .form-control,
[data-el="input"],
[data-el="select"],
[data-el="textarea"] {
    display: block;
    width: 100% !important;
    padding: 12px 15px;
    margin-bottom: 1.5rem;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
    transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

/* Focus State (Foundation Blue) */
.omni-form .form-control:focus,
[data-el="input"]:focus {
    border-color: #005a9c;
    box-shadow: 0 0 0 3px rgba(0, 90, 156, 0.25);
    outline: none;
}

/* 4. Side-by-Side Layout for First and Last Name */
@media (min-width: 768px) {
    /* Targets the 1st and 2nd form groups (First Name & Last Name) */
    .omni-form .form-group:nth-of-type(1),
    .omni-form .form-group:nth-of-type(2),
    [data-el="field-wrapper"]:nth-of-type(1),
    [data-el="field-wrapper"]:nth-of-type(2) {
        width: 48% !important;
        float: left !important;
        clear: none !important;
    }

    .omni-form .form-group:nth-of-type(1),
    [data-el="field-wrapper"]:nth-of-type(1) {
        margin-right: 4% !important;
    }

    /* Force the 3rd field (Student ID) to start on a new line */
    .omni-form .form-group:nth-of-type(3),
    [data-el="field-wrapper"]:nth-of-type(3) {
        clear: both !important;
    }
}

/* 5. Checkboxes and Radio Buttons Spacing */
.omni-form .form-check,
[data-el="choice-group"] {
    margin-bottom: 1rem;
    padding-left: 5px;
}

/* 6. Submit Button Styling */
.omni-form button[type="submit"],
[data-el="submit-button"] {
    background-color: #005a9c !important;
    color: #ffffff !important;
    padding: 14px 35px !important;
    border: none !important;
    border-radius: 4px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display: inline-block;
    width: auto !important;
}

.omni-form button[type="submit"]:hover,
[data-el="submit-button"]:hover {
    background-color: #004477 !important;
}

/* 7. Mobile Adjustments */
@media (max-width: 767px) {
    .omni-form .form-group:nth-of-type(1),
    .omni-form .form-group:nth-of-type(2) {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }
}