.gender-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    color: var(--colors-neutral-900);
    transition: background-color .15s ease, border-color .15s ease;
}

.gender-option input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 22px;
    height: 22px;
    margin: 0;
    border: 1px solid var(--colors-neutral-500);
    border-radius: 50%;
    background-color: var(--colors-base-white);
    display: grid;
    place-content: center;
    cursor: pointer;
}

.gender-option input[type="radio"]::before {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--colors-primary-sa-flag-600-primary);
    transform: scale(0);
    transition: transform .15s ease;
}

.gender-option input[type="radio"]:checked::before {
    transform: scale(1);
}

.gender-option input[type="radio"]:hover {
    background-color: var(--colors-neutral-100);
}

.gender-option input[type="radio"]:active {
    background-color: var(--colors-neutral-300);
}

.gender-option:has(input[type="radio"]:focus-visible) {
border-color: var(--colors-base-black);
background-color: var(--colors-base-white);
}

.gender-option input[type="radio"]:focus-visible {
outline: none;
}


.gender-option:has(input[type="radio"]:checked) {
border-color: var(--colors-base-black);
color: var(--colors-primary-sa-flag-700);
}

.gender-option:has(input[type="radio"]:checked)
input[type="radio"] {
    border-color: var(--colors-primary-sa-flag-600-primary);
}
