
/* UAM Registration Manager v2 */

.uam-reg-notice{
    max-width:1160px;
    margin:25px auto 0;
    padding:15px 18px;
    border-radius:12px;
    font-size:14px;
    line-height:1.6;
}
.uam-reg-success{
    background:#edf8ef;
    border:1px solid #b7dcbc;
    color:#245b2b;
}
.uam-reg-error{
    background:#fff0f0;
    border:1px solid #e3b4b4;
    color:#8a2929;
}

.uam-reg-shell{
    max-width:1160px;
    margin:70px auto;
    display:grid;
    grid-template-columns:38% 62%;
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 18px 60px rgba(6,29,46,.10);
}

.uam-reg-intro{
    background:#0b304c;
    color:#fff;
    padding:50px 38px;
}
.uam-reg-intro .eyebrow{
    color:#e3aa21;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.3px;
    text-transform:uppercase;
}
.uam-reg-intro h2{
    color:#fff;
    font-size:46px;
    line-height:1.03;
    margin:16px 0 18px;
    font-family:inherit;
}
.uam-reg-intro p{
    font-size:15px;
    line-height:1.7;
    color:#e8eff4;
}
.uam-reg-benefits{
    list-style:none;
    padding:0;
    margin:26px 0 0;
}
.uam-reg-benefits li{
    margin:12px 0;
    color:#fff;
    font-size:14px;
}

.uam-reg-form{
    padding:34px 38px 42px;
    min-width:0;
}
.uam-reg-honeypot{
    position:absolute!important;
    left:-99999px!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}

.uam-reg-progress{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:0 0 30px;
}
.uam-reg-progress button{
    border:0;
    background:#f2f5f6;
    color:#84939b;
    min-height:56px;
    padding:8px 6px;
    border-radius:12px;
    font-weight:800;
    cursor:default;
}
.uam-reg-progress button span{
    display:block;
    margin-top:3px;
    font-size:10px;
    font-weight:700;
}
.uam-reg-progress button.active{
    background:#0b304c;
    color:#fff;
}
.uam-reg-progress button.complete{
    background:#f7ecd0;
    color:#684d0c;
}

.uam-reg-step{
    display:none;
}
.uam-reg-step.active{
    display:block;
}

.uam-reg-step-heading{
    margin-bottom:25px;
}
.uam-reg-step-heading > span{
    color:#c18d13;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.2px;
    text-transform:uppercase;
}
.uam-reg-step-heading h3{
    margin:7px 0 7px;
    color:#0b304c;
    font-size:29px;
    line-height:1.15;
}
.uam-reg-step-heading p{
    margin:0;
    color:#667985;
    font-size:14px;
}

.uam-reg-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px 18px;
}
.uam-reg-field.full{
    grid-column:1/-1;
}
.uam-reg-field label{
    display:block;
    font-weight:700;
    font-size:14px;
    margin-bottom:8px;
    color:#142634;
}
.uam-reg-field input[type=text],
.uam-reg-field input[type=email],
.uam-reg-field input[type=tel],
.uam-reg-field select,
.uam-reg-field textarea{
    width:100%;
    box-sizing:border-box;
    padding:13px 14px;
    border:1px solid #d9dfe5;
    border-radius:10px;
    background:#fff;
    font-size:15px;
    color:#142634;
    outline:none;
}
.uam-reg-field input:focus,
.uam-reg-field select:focus,
.uam-reg-field textarea:focus{
    border-color:#d0a334;
    box-shadow:0 0 0 3px rgba(208,163,52,.12);
}
.uam-reg-field textarea{
    min-height:105px;
    resize:vertical;
}
.uam-reg-field small{
    display:block;
    margin-top:6px;
    color:#73838c;
    font-size:12px;
    line-height:1.5;
}

.uam-reg-choice-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.uam-reg-choice-three{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.uam-reg-choice,
.uam-reg-membership{
    position:relative;
    display:block!important;
    margin:0!important;
    cursor:pointer;
}
.uam-reg-choice input,
.uam-reg-membership input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.uam-reg-choice > span,
.uam-reg-membership > span{
    display:block;
    height:100%;
    box-sizing:border-box;
    padding:15px;
    border:1px solid #d7e0e5;
    border-radius:12px;
    background:#fff;
    transition:.18s ease;
}
.uam-reg-choice input:checked + span,
.uam-reg-membership input:checked + span{
    border-color:#d2a231;
    background:#fff9e9;
    box-shadow:0 0 0 2px rgba(210,162,49,.12);
}
.uam-reg-choice strong,
.uam-reg-membership strong{
    display:block;
    color:#102d3e;
    font-size:14px;
}
.uam-reg-choice small,
.uam-reg-membership small{
    display:block;
    margin-top:4px;
    color:#71818a;
    font-size:12px;
}

.uam-reg-memberships{
    display:grid;
    gap:11px;
}

.uam-reg-upload{
    border:1px dashed #bac6d0;
    border-radius:12px;
    padding:18px;
    background:#fafcfd;
}
.uam-reg-upload input{
    width:100%;
}
.uam-reg-upload p{
    margin:8px 0 0;
    font-size:13px;
    color:#677a84;
}

.uam-reg-verify-note{
    padding:15px 17px;
    border-left:4px solid #e3aa21;
    background:#fbf7ea;
    color:#4d5e68;
    border-radius:8px;
    font-size:13px;
    line-height:1.6;
}
.uam-reg-verify-note strong{
    display:block;
    margin-bottom:3px;
    color:#0b304c;
}

.uam-reg-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:28px;
}
.uam-reg-next,
.uam-reg-submit,
.uam-reg-back{
    border:0;
    border-radius:999px;
    padding:13px 22px;
    cursor:pointer;
    font-size:14px;
    font-weight:800;
}
.uam-reg-next,
.uam-reg-submit{
    margin-left:auto;
    background:#e3aa21;
    color:#082239;
}
.uam-reg-back{
    background:#edf1f3;
    color:#274150;
}
.uam-reg-next:hover,
.uam-reg-submit:hover{
    filter:brightness(.97);
}
.uam-reg-back:hover{
    background:#e4e9ec;
}

.uam-reg-invalid{
    border-color:#c34b4b!important;
    box-shadow:0 0 0 3px rgba(195,75,75,.10)!important;
}
.uam-reg-field-error{
    margin-top:7px;
    color:#a62d2d;
    font-size:12px;
    font-weight:700;
}

@media(max-width:900px){
    .uam-reg-shell{
        grid-template-columns:1fr;
        margin:35px 16px;
    }
    .uam-reg-intro,
    .uam-reg-form{
        padding:32px 24px;
    }
    .uam-reg-intro h2{
        font-size:38px;
    }
}

@media(max-width:650px){
    .uam-reg-grid,
    .uam-reg-choice-grid,
    .uam-reg-choice-three{
        grid-template-columns:1fr;
    }
    .uam-reg-field.full{
        grid-column:auto;
    }
    .uam-reg-progress button{
        min-height:46px;
        border-radius:10px;
    }
    .uam-reg-progress button span{
        display:none;
    }
    .uam-reg-actions{
        align-items:stretch;
        flex-direction:column-reverse;
    }
    .uam-reg-next,
    .uam-reg-submit,
    .uam-reg-back{
        width:100%;
        margin:0;
    }
}


/* ===== v2.1 validation feedback ===== */
.uam-reg-step-errors{display:none;margin:-8px 0 22px;padding:14px 16px;border:1px solid #efc3c3;border-left:4px solid #b63a3a;border-radius:10px;background:#fff3f3;color:#842b2b;font-size:13px;line-height:1.55}
.uam-reg-step-errors.show{display:block}
.uam-reg-step-errors strong{display:block;margin-bottom:5px}
.uam-reg-step-errors ul{margin:6px 0 0 18px;padding:0}
.uam-reg-step-errors li{margin:3px 0}
.uam-reg-choice-grid.uam-reg-invalid,.uam-reg-memberships.uam-reg-invalid{padding:8px;border:1px solid #c34b4b;border-radius:12px;background:#fff7f7}
.uam-reg-next,.uam-reg-back,.uam-reg-submit{position:relative;z-index:2;pointer-events:auto!important}
.uam-reg-next:disabled,.uam-reg-submit:disabled{opacity:.65;cursor:not-allowed}

.uam-optional{
    font-weight:400;
    color:#7b8a92;
    font-size:12px;
}


/* UAM Registration CAPTCHA */
.uam-reg-captcha{
    display:flex;
    align-items:center;
    gap:18px;
    padding:16px 18px;
    border:1px solid #dfe5e9;
    border-radius:12px;
    background:#f7f9fa;
}
.uam-reg-captcha span{
    flex:1;
    color:#314b5a;
    font-size:14px;
}
.uam-reg-captcha strong{
    color:#082f4a;
    font-size:16px;
}
.uam-reg-captcha input[type="number"]{
    width:120px;
    flex:0 0 120px;
    min-height:46px;
    padding:10px 12px;
    border:1px solid #ccd6dc;
    border-radius:9px;
    background:#fff;
}
@media(max-width:620px){
    .uam-reg-captcha{
        align-items:flex-start;
        flex-direction:column;
    }
    .uam-reg-captcha input[type="number"]{
        width:100%;
        flex:auto;
    }
}
