/* =============================================
   IAU MBA Application — Exact Forminator Match
   ============================================= */

#iau-application-container {
    max-width: 100%;
    margin: 40px auto;
    padding: 0;
    background-color: transparent;
    font-family: inherit;
    color: #333333;
    box-sizing: border-box;
}

/* =============================================
   STEP PROGRESS BAR
   - Numbered circles with label beside, horizontal line between
   ============================================= */

.iau-progress-bar {
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}

/* connector line */
.iau-break {
    flex: 1;
    height: 2px;
    background-color: #e5e7eb;
    position: relative;
    overflow: hidden;
}

.iau-break.completed::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #00c950;
}

/* step = circle + label side by side */
.step-indicator {
    display: flex;
    align-items: center;
    gap: 10px;
    background: none;
    border: none;
    padding: 0;
    cursor: default;
    flex-shrink: 0;
}

/* numbered circle */
.step-indicator .step-dot {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: #e5e7eb;
    color: black !important;
    font-size: 20px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background-color 0.3s, color 0.3s;
}

/* label beside circle */
.step-indicator .step-label {
font-size: 18px;
    font-weight: 500;
    color: black !important;
    white-space: nowrap;
    transition: color 0.3s;
}

/* active step */
.step-indicator.active .step-dot {
    background-color: #00c950;
    color: #ffffff;
}

.step-indicator.active .step-label {
    color: #101828;
    font-weight: 600;
}

/* completed step */
.step-indicator.completed .step-dot {
    background-color: #e5e7eb;
    color: #6a7282;
}

.step-indicator.completed .step-label {
    color: #6a7282;
}

/* =============================================
   INFO / NOTE CARD — light blue, green left border
   ============================================= */

.iau-application-note {
    background-color: #eef4fb;
    border-left: 4px solid #00c950;
    border-radius: 6px;
    padding: 20px 24px;
    margin-bottom: 28px;
}

.iau-application-note__intro {
    font-size: 14px;
    color: #333333;
    margin: 0 0 6px;
    line-height: 1.6;
}

.iau-application-note__time {
    font-size: 14px;
    font-weight: 700;
    color: #333333;
    margin: 0 0 16px;
}

.iau-application-note__card {
    background-color: #ffffff;
    border-radius: 6px;
    padding: 16px 20px;
    margin-top: 4px;
}

.iau-application-note__heading-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

/* Green outlined circle with ! */
.iau-application-note__icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid #00c950;
    color: #00c950;
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: transparent;
}

.iau-application-note__heading {
    font-size: 15px;
    font-weight: 700;
    color: #333333;
    margin: 0;
}

.iau-application-note__text {
    font-size: 13px;
    color: #333333;
    line-height: 1.7;
    margin: 0 0 10px;
}

.iau-application-note__text:last-child { margin-bottom: 0; }

.iau-application-note__list {
    margin: 4px 0 0 0;
    padding: 0;
    list-style: none;
}

.iau-application-note__list li {
    font-size: 13px;
    color: #333333;
    line-height: 1.9;
}

/* Standalone info block (English proficiency etc.) */
.iau-info-block {
    background-color: #eef4fb;
    border-left: 4px solid #00c950;
    border-radius: 6px;
    padding: 20px 24px;
    margin-bottom: 24px;
    font-size: 14px;
    color: #333333;
    line-height: 1.7;
}

.iau-info-block p { margin: 0 0 10px; }
.iau-info-block p:last-child { margin-bottom: 0; }

.iau-application-note-2 { margin-bottom: 12px; }

.iau-application-heading-2 {
    font-size: 18px;
    font-weight: 700;
    color: #333333;
    margin-bottom: 8px;
}

.iau-application-note__intro-2 {
    font-size: 14px;
    color: #555555;
    line-height: 1.6;
    margin: 0;
}

.top-line {
    border-top: 1px solid #e5e7eb;
    padding-top: 24px;
    margin-top: 8px;
}

/* =============================================
   FORM STEPS
   ============================================= */

.iau-form-step { display: none; }
.iau-form-step.active { display: block; }

.iau-form-step h3 {
    font-size: 18px;
    font-weight: 700;
    color: #333333;
    margin: 32px 0 20px;
}

.iau-form-step p {
    font-size: 14px;
    color: #333333;
    line-height: 1.7;
    margin-bottom: 12px;
}

.form-row {
    display: flex;
    gap: 20px;
}

.form-row .form-group { flex: 1; }

/* =============================================
   LABELS
   ============================================= */

.form-group { margin-bottom: 20px; }
.form-group.full-width { width: 100%; }

.form-group label {
    display: block;
    font-size: 13px;
    font-family: inherit;
    font-weight: 600;
    color: #333333;
    margin-bottom: 6px;
    text-transform: none;
    letter-spacing: 0;
}

.form-group label .required {
    color: #E51919;
    margin-left: 2px;
}

/* =============================================
   INPUTS — white, pill border, grey outline
   ============================================= */

.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="date"],
.form-group input[type="number"],
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 10px 16px;
    font-size: 15px;
    font-family: inherit;
    font-weight: 400;
    background-color: #ffffff;
    border: 1px solid #d1d5dc;
    border-radius: 30px;
    color: #101828;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
    appearance: none;
    -webkit-appearance: none;
}

.form-group textarea {
    border-radius: 8px;
    resize: vertical;
    min-height: 100px;
}

.form-group input:hover,
.form-group select:hover { border-color: #00c950; }

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: #00c950;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 201, 80, 0.12);
}

.form-group input::placeholder,
.form-group textarea::placeholder { color: #aaaaaa; }

.form-group select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2399a1af' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
    cursor: pointer;
}

.form-group input[readonly] {
    background-color: #f3f4f6;
    cursor: not-allowed;
    color: #6b7280;
}

.form-group input[type="date"] {
    padding-left: 40px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aaaaaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 14px center;
}

/* =============================================
   DESCRIPTION TEXT
   ============================================= */

.form-group .description {
    font-size: 12px;
    color: #777771;
    margin-top: 5px;
    line-height: 1.5;
}

/* =============================================
   FILE UPLOAD BUTTON
   Matches: .forminator-button-upload
   - white bg, #1a1a1a text, min-width 100px, 14px 500 weight
   - NO pill border-radius — matches forminator-button base (border-radius: 2px)
   - upload icon prefix
   ============================================= */

.form-group input[type="file"] { display: none; }

.iau-file-upload {
    display: flex;
    align-items: center;
    gap: 10px;
}

.iau-file-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 100px;
    max-width: unset;
    width: auto;
    height: auto;
    padding: 10px 16px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 500;
    background-color: #ffffff;
    color: #1a1a1a;
    border: 1px solid #d1d5dc;
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    margin: 0;
    line-height: 1.45em;
    text-align: center;
    transition: .2s ease;
    box-shadow: none;
    text-decoration: none;
    outline: 0;
    white-space: nowrap;
    flex-shrink: 0;
}

.iau-file-button:hover,
.iau-file-button:focus,
.iau-file-button:active {
    background-color: #ffffff;
    color: #1a1a1a;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.6);
    outline: 0;
    text-decoration: none;
}

/* upload arrow icon */
.iau-file-button::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='17 8 12 3 7 8'%3E%3C/polyline%3E%3Cline x1='12' y1='3' x2='12' y2='15'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.iau-file-name {
    font-size: 12px;
    font-weight: 500;
    color: #777771;
}

/* =============================================
   NAVIGATION BUTTONS
   Matches: forminator-button-next / forminator-button-back
   - next: green, min-width 100px, 14px 500, no pill
   - back: white #1a1a1a, same sizing
   ============================================= */

.button-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

.button-container-right {
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Next Step — .forminator-button-next */
.next-step,
#iau-final-submit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 100px;
    max-width: unset;
    width: auto;
    height: auto;
    padding: 10px 20px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 500;
    background-color: #00c950;
    color: #FFFFFF;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    margin: 0 10px 0 0;
    line-height: 1.45em;
    text-align: center;
    transition: .2s ease;
    box-shadow: none;
    outline: 0;
    text-decoration: none;
    background-image: unset;
}

.next-step:hover,
.next-step:focus,
.next-step:active,
#iau-final-submit:hover,
#iau-final-submit:focus,
#iau-final-submit:active {
    background-color: #00c950;
    color: #FFFFFF;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.6);
    outline: 0;
    text-decoration: none;
}

.next-step::after { content: " →"; }
#iau-final-submit::after { content: " →"; }

.next-step:disabled,
#iau-final-submit:disabled { opacity: 0.65; cursor: not-allowed; }

/* Previous Step — .forminator-button-back */
.prev-step {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 100px;
    max-width: unset;
    width: auto;
    height: auto;
    padding: 10px 20px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 500;
    background-color: #ffffff;
    color: #1a1a1a;
    border: 1px solid #d1d5dc;
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    margin: 0 10px 0 0;
    line-height: 1.45em;
    text-align: center;
    transition: .2s ease;
    box-shadow: none;
    outline: 0;
    text-decoration: none;
}

.prev-step:hover,
.prev-step:focus,
.prev-step:active {
    background-color: #00c950;
    color: #FFFFFF;
    border-color: #00c950;
    box-shadow: 0 1px 4px 0 rgba(0,0,0,.6);
    outline: 0;
}

.prev-step::before { content: "← "; }

/* Save as draft link */
.iau-save-draft {
    font-size: 13px;
    color: #097BAA;
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    padding: 0;
    margin: 0 10px;
}

.iau-save-draft:hover { text-decoration: underline; }

/* =============================================
   MESSAGES
   ============================================= */

#iau-message { margin-top: 20px; font-size: 15px; }

#iau-message.success {
    background-color: #BCEEE6;
    box-shadow: inset 2px 0 0 0 #067963;
    color: #333333;
    padding: 16px 20px;
    border-radius: 2px;
}

#iau-message.error {
    background-color: #F9E4E8;
    box-shadow: inset 2px 0 0 0 #E51919;
    color: #333333;
    padding: 16px 20px;
    border-radius: 2px;
}

/* =============================================
   RESPONSIVE
   ============================================= */

@media (max-width: 640px) {
    .form-row { flex-direction: column; gap: 0; }
    .step-indicator .step-label { display: none; }
    .button-container { flex-wrap: wrap; }
    .next-step, #iau-final-submit, .prev-step { width: 100%; justify-content: center; margin: 0; }
    .iau-save-draft { width: 100%; text-align: center; }
    .button-container-right { flex-direction: column; width: 100%; }
}
button.iau-file-button, button.prev-step {
    background-color: #ffffff;
    color: #1a1a1a !important;
    border: 2px solid #D1D5DC !important;
    border-radius: 18px;
    font-weight: bold !important;
    font-size: 14px !important;
}

button.iau-file-button:hover, button.prev-step:hover {
    background: white !important;
    border-color: #00a651 !important;
}

button.next-step {
    background-color: #00c950;
    color: #FFFFFF;
    font-size: 14px;
    font-family: inherit;
    font-weight: 500;
    border: 2px solid #00C950 !important;
    border-radius: 14px !important;
}

button.next-step:hover {
    background: #00c950 !important;
}
button.step-indicator:hover {
    background: none !important;
}