.rla-registration-step1,
.rla-registration-step2 {
    max-width: 400px;
    margin: 20px auto;
    padding: 20px;
    background: #222;
    color: #fff;
    border-radius: 6px
}

.rla-registration-step1 h2,
.rla-registration-step2 h2 {
    text-align: center;
    margin-bottom: 20px
}

.rla-registration-step1 label,
.rla-registration-step2 label {
    display: block;
    margin: 10px 0 5px
}

.rla-registration-step1 input[type="text"],
.rla-registration-step1 input[type="email"],
.rla-registration-step1 input[type="password"],
.rla-registration-step1 input[type="tel"],
.rla-registration-step2 input[type="text"],
.rla-registration-step2 input[type="email"],
.rla-registration-step2 input[type="password"],
.rla-registration-step2 input[type="tel"] {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #555;
    border-radius: 4px;
    background: #333;
    color: #fff
}

.rla-registration-step1 .rla-birth-fields {
    display: flex;
    justify-content: space-between;
    gap: 5px
}

.rla-registration-step1 select,
.rla-registration-step2 select {
    flex: 1;
    padding: 10px;
    border: 1px solid #555;
    border-radius: 4px;
    background: #333;
    color: #fff
}

.rla-registration-step1 input[type="submit"],
.rla-registration-step2 input[type="submit"] {
    background: #ff008a;
    color: #fff;
    border: none;
    padding: 12px 20px;
    cursor: pointer;
    border-radius: 4px;
    font-weight: bold;
    width: 100%;
    margin-top: 10px
}

.rla-registration-step1 input[type="submit"]:hover,
.rla-registration-step2 input[type="submit"]:hover {
    opacity: 0.9
}

.rla-registration-step2 input[type="checkbox"] {
    margin-right: 5px
}

#rla_reg_province {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #555;
    border-radius: 4px;
    background: #333;
    color: #fff;
}

#rla_reg_country {
    width: 100%;
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #555;
    border-radius: 4px;
    background: #333;
    color: #fff;
}

.register-error-message,
.register-notice-message {
    background-color: #000;
    padding: 10px;
    border-radius: 4px;
    color: #fff;
    font-size: 1em;
    margin-top: 4px;
    margin-bottom: 10px;
    /* visibility: hidden; - removed visibility hidden so PHP rendered errors show up */
}

/* Username Popover */
.rla-username-popover {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #333;
    color: #fff;
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ff008a;
    font-size: 0.85em;
    z-index: 10;
    margin-top: 5px;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

.rla-username-popover::before {
    content: "";
    position: absolute;
    bottom: 100%;
    left: 20px;
    border-width: 6px;
    border-style: solid;
    border-color: transparent transparent #ff008a transparent;
}

.rla-field-hint{margin-top:6px;font-size:12px;line-height:1.35;color:rgba(255,255,255,.7)}
.rla-form-message-area{margin:0 auto 12px;max-width:400px;padding:10px;border-radius:4px;font-size:14px;line-height:1.35;background:#000;color:#fff;border:1px solid rgba(255,255,255,.2)}.rla-form-message-area.is-error{border-color:#ff008a}.rla-form-message-area.is-notice{border-color:rgba(255,255,255,.35)}.rla-inline-error{margin:6px 0 10px;font-size:12px;line-height:1.35;color:#ff3b9e}.rla-invalid{border-color:#ff3b9e!important;box-shadow:0 0 0 1px rgba(255,59,158,.35)}.rla-dob-row{display:flex;gap:8px}.rla-dob-row .rla-dob-select{flex:1;min-width:0;width:100%}.rla-registration-step1 select,.rla-registration-step2 select{width:100%;margin-bottom:10px}.rla-province-row{margin-bottom:10px}.rla-province-row select{width:100%;padding:10px;border:1px solid #555;border-radius:4px;background:#333;color:#fff;margin-bottom:10px}.rla-province-row input{width:100%}.rla-terms{display:flex;gap:8px;align-items:flex-start}.rla-terms-wrap{margin-top:10px}