/**
 * Eligibility warm-join step: one Gravity Forms question at a time.
 * Self-contained - does not depend on any other stylesheet's selectors.
 */

.eff-eligibility-step {
    max-width: 640px;
    margin: 0 auto;
}

.eff-eligibility-intro h1 {
    margin-bottom: 8px;
}

/* Progress dots */
.eff-eligibility-progress {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px 0 30px;
}
.eff-eligibility-progress-dots {
    display: flex;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.eff-eligibility-progress-dots li {
    width: 22px;
    height: 4px;
    border-radius: 2px;
    background: #e2e5ec;
    transition: background-color .25s ease;
}
.eff-eligibility-progress-dots li.is-complete,
.eff-eligibility-progress-dots li.is-current {
    background: #326867;
}
.eff-eligibility-progress-count {
    font-size: 12px;
    color: #6b7280;
    white-space: nowrap;
}

/* One field visible at a time, with a slide transition */
.eff-eligibility-forms .gform_fields {
    display: block;
    position: relative;
    overflow: hidden;
    width: 100%;
}
.eff-eligibility-forms .gfield {
    display: none;
}
.eff-eligibility-forms .gform_footer,
.eff-eligibility-forms .gform_page_footer {
    display: none;
}
.eff-eligibility-forms .gfield.eff-eligibility-slide-out {
    animation: effEligibilitySlideOut .4s ease forwards;
}
.eff-eligibility-forms .gfield.eff-eligibility-slide-in {
    display: block;
    animation: effEligibilitySlideIn .4s ease forwards;
}
@keyframes effEligibilitySlideOut {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(-40px); opacity: 0; }
}
@keyframes effEligibilitySlideIn {
    from { transform: translateX(40px); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}

/* Messages */
.eff-eligibility-validation-message {
    color: #e55757;
    font-size: 13px;
    margin: 10px 0;
}
.eff-eligibility-ineligible-message,
.eff-eligibility-success-message {
    text-align: center;
    font-size: 16px;
    padding: 30px 0;
}
.eff-eligibility-ineligible-message {
    color: #e55757;
}

/* Actions */
.eff-eligibility-actions {
    margin-top: 20px;
}
.eff-eligibility-next-btn,
.eff-eligibility-continue-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    padding: 12px 24px;
    background: #326867;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color .2s ease;
}
.eff-eligibility-next-btn:hover,
.eff-eligibility-continue-btn:hover {
    background: #26514f;
}
.eff-eligibility-next-btn:disabled {
    opacity: .6;
    cursor: default;
}
.eff-eligibility-btn-loader {
    display: none;
    width: 18px;
    height: 18px;
    border: 3px solid rgba(255, 255, 255, .35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: effEligibilitySpin .8s linear infinite;
}
.eff-eligibility-next-btn.is-loading .eff-eligibility-btn-loader {
    display: inline-block;
}
@keyframes effEligibilitySpin {
    to { transform: rotate(360deg); }
}
.eff-eligibility-success-message .eff-eligibility-continue-btn {
    width: auto;
    margin-top: 15px;
    padding-left: 32px;
    padding-right: 32px;
}
