/* 1. IMPORT MONTSERRAT */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500&display=swap');

/* 2. THE "FORCE" WIDE WRAPPERS */
#emf-container-wrap, 
#emf-container-outer, 
#emf-container {
    width: 100% !important;
    max-width: 900px !important; 
    margin: 40px auto !important;
}

/* 3. GLOBAL LAYOUT */
#emf-container {
    background: #ffffff !important;
    padding: 40px !important;
    border-radius: 12px !important;
    box-shadow: 0px 30px 60px 0px rgba(0,0,0,0.04) !important;
    box-sizing: border-box !important;
}

#emf-container ul { list-style: none !important; padding: 0 !important; }
#emf-container li { margin-bottom: 25px !important; border: none !important; width: 100% !important; }

/* 4. FIELD NAMES (Montserrat Fix) */
#emf-container .emf-label-desc {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    color: #5784aa !important; 
    font-size: 16px !important; /* Larger */
    font-weight: 500 !important; /* Not too bold */
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 12px !important;
}

#emf-container .emf-bottom-label, .emf-sep { display: none !important; }

/* 5. INPUT FIELDS & TEXTAREA */
#emf-container input[type="text"], 
#emf-container input[type="email"],
#emf-container select, 
#emf-container textarea {
    width: 100% !important;
    height: 70px !important;
    background-color: #f8f8f8 !important;
    border: 1px solid #eeeeee !important;
    border-radius: 10px !important;
    padding-left: 20px !important;
    box-sizing: border-box !important;
    font-family: 'Montserrat', sans-serif !important; /* Matching font for inputs */
}

#element_3 { height: 220px !important; padding-top: 20px !important; }

/* 6. PHONE & DATE (Strict Sizing) */
#emf-li-2 .emf-div-field, #emf-li-4 .emf-div-field {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 10px !important;
}

#element_2_1, #element_2_2, #element_4_year-mm, #element_4_year-dd { 
    width: 70px !important; 
    min-width: 70px !important;
    max-width: 70px !important;
    flex: none !important; 
}

#element_2_3, #element_4_year { 
    width: 100px !important; 
    min-width: 100px !important;
    max-width: 100px !important;
    flex: none !important;
}

/* 7. THE SUBMIT BUTTON */
#emf-li-post-button { text-align: center !important; }

#emf-li-post-button input {
    appearance: none !important;
    width: 280px !important; 
    height: 65px !important;
    background: linear-gradient(45deg, #5784aa 0%, #7da2c4 100%) !important;
    color: #ffffff !important;
    font-family: "Prata", serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    border-radius: 10px !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0px 10px 20px rgba(87, 132, 170, 0.2) !important;
    transition: all 0.4s ease !important;
}

#emf-li-post-button input:hover {
    background: #212121 !important;
    transform: translateY(-3px) !important;
}

/* 8. HIDE BRANDING */
#emf-logo, #emf-form-shadows, .emf-powered-by, #emf-cl, .emf-instruction { display: none !important; }

/* 9. MOBILE RESPONSIVENESS */
@media screen and (max-width: 600px) {
    #emf-li-post-button input { width: 100% !important; }
    #emf-li-2 .emf-div-field, #emf-li-4 .emf-div-field {
        flex-wrap: wrap !important;
    }
}