hi, for the error styling getting rid of focus I think it's because you have set outline to none, so technically they don't get visually focused even when the border is not red.
i just removed the border and used the outline instead:
input:focus, textarea:focus {
outline: 1px solid var(--dark-green);
border: none;
}
and then changed the color of the outline to red when the input is invalid.
for the radio buttons (and i think the checkbox too) the problem might be that the focusable element is the input itself, which in your case is hidden so that you could use the svg icons in its place. I think you could try resolving it by using the property tabindex="0" which makes normally non-focusable elements focusable, but I'm not sure how because the element you have to apply it to is the ::before element of the label. sorry i'm not very good at this, I didn't use the icons I just styled the inputs like this
input[type="checkbox"], input[type="radio"] {
accent-color: var(--dark-green);
}
i hope something was useful!