.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);
        }
